diff options
389 files changed, 7432 insertions, 3213 deletions
diff --git a/api/current.txt b/api/current.txt index 3c2f9021db0b..ef3c5e1f301e 100644 --- a/api/current.txt +++ b/api/current.txt @@ -876,6 +876,7 @@ package android { field public static final int navigationMode = 16843471; // 0x10102cf field public static final int negativeButtonText = 16843254; // 0x10101f6 field public static final int nestedScrollingEnabled = 16843830; // 0x1010436 + field public static final int networkSecurityConfig = 16844074; // 0x101052a field public static final int nextFocusDown = 16842980; // 0x10100e4 field public static final int nextFocusForward = 16843580; // 0x101033c field public static final int nextFocusLeft = 16842977; // 0x10100e1 @@ -2023,6 +2024,8 @@ package android { field public static final int TextAppearance_Material_Widget_ActionMode_Title = 16974355; // 0x1030213 field public static final int TextAppearance_Material_Widget_ActionMode_Title_Inverse = 16974356; // 0x1030214 field public static final int TextAppearance_Material_Widget_Button = 16974357; // 0x1030215 + field public static final int TextAppearance_Material_Widget_Button_Borderless_Colored = 16974559; // 0x10302df + field public static final int TextAppearance_Material_Widget_Button_Colored = 16974558; // 0x10302de field public static final int TextAppearance_Material_Widget_Button_Inverse = 16974548; // 0x10302d4 field public static final int TextAppearance_Material_Widget_DropDownHint = 16974358; // 0x1030216 field public static final int TextAppearance_Material_Widget_DropDownItem = 16974359; // 0x1030217 @@ -5047,7 +5050,7 @@ package android.app { public static class Notification.BigPictureStyle extends android.app.Notification.Style { ctor public Notification.BigPictureStyle(); - ctor public Notification.BigPictureStyle(android.app.Notification.Builder); + ctor public deprecated Notification.BigPictureStyle(android.app.Notification.Builder); method public android.app.Notification.BigPictureStyle bigLargeIcon(android.graphics.Bitmap); method public android.app.Notification.BigPictureStyle bigLargeIcon(android.graphics.drawable.Icon); method public android.app.Notification.BigPictureStyle bigPicture(android.graphics.Bitmap); @@ -5057,7 +5060,7 @@ package android.app { public static class Notification.BigTextStyle extends android.app.Notification.Style { ctor public Notification.BigTextStyle(); - ctor public Notification.BigTextStyle(android.app.Notification.Builder); + ctor public deprecated Notification.BigTextStyle(android.app.Notification.Builder); method public android.app.Notification.BigTextStyle bigText(java.lang.CharSequence); method public android.app.Notification.BigTextStyle setBigContentTitle(java.lang.CharSequence); method public android.app.Notification.BigTextStyle setSummaryText(java.lang.CharSequence); @@ -5158,12 +5161,10 @@ package android.app { public static class Notification.DecoratedCustomViewStyle extends android.app.Notification.Style { ctor public Notification.DecoratedCustomViewStyle(); - ctor public Notification.DecoratedCustomViewStyle(android.app.Notification.Builder); } public static class Notification.DecoratedMediaCustomViewStyle extends android.app.Notification.MediaStyle { ctor public Notification.DecoratedMediaCustomViewStyle(); - ctor public Notification.DecoratedMediaCustomViewStyle(android.app.Notification.Builder); } public static abstract interface Notification.Extender { @@ -5172,7 +5173,7 @@ package android.app { public static class Notification.InboxStyle extends android.app.Notification.Style { ctor public Notification.InboxStyle(); - ctor public Notification.InboxStyle(android.app.Notification.Builder); + ctor public deprecated Notification.InboxStyle(android.app.Notification.Builder); method public android.app.Notification.InboxStyle addLine(java.lang.CharSequence); method public android.app.Notification.InboxStyle setBigContentTitle(java.lang.CharSequence); method public android.app.Notification.InboxStyle setSummaryText(java.lang.CharSequence); @@ -5180,7 +5181,7 @@ package android.app { public static class Notification.MediaStyle extends android.app.Notification.Style { ctor public Notification.MediaStyle(); - ctor public Notification.MediaStyle(android.app.Notification.Builder); + ctor public deprecated Notification.MediaStyle(android.app.Notification.Builder); method public android.app.Notification.MediaStyle setMediaSession(android.media.session.MediaSession.Token); method public android.app.Notification.MediaStyle setShowActionsInCompactView(int...); } @@ -19584,7 +19585,7 @@ package android.media { method public void adjustVolume(int, int); method public void dispatchMediaKeyEvent(android.view.KeyEvent); method public int generateAudioSessionId(); - method public android.media.AudioRecordingConfiguration[] getActiveRecordingConfigurations(); + method public java.util.List<android.media.AudioRecordingConfiguration> getActiveRecordingConfigurations(); method public android.media.AudioDeviceInfo[] getDevices(int); method public int getMode(); method public java.lang.String getParameters(java.lang.String); @@ -19730,7 +19731,7 @@ package android.media { public static abstract class AudioManager.AudioRecordingCallback { ctor public AudioManager.AudioRecordingCallback(); - method public void onRecordingConfigChanged(android.media.AudioRecordingConfiguration[]); + method public void onRecordingConfigChanged(java.util.List<android.media.AudioRecordingConfiguration>); } public static abstract interface AudioManager.OnAudioFocusChangeListener { @@ -19777,6 +19778,7 @@ package android.media { method public void stop() throws java.lang.IllegalStateException; field public static final int ERROR = -1; // 0xffffffff field public static final int ERROR_BAD_VALUE = -2; // 0xfffffffe + field public static final int ERROR_DEAD_OBJECT = -6; // 0xfffffffa field public static final int ERROR_INVALID_OPERATION = -3; // 0xfffffffd field public static final int READ_BLOCKING = 0; // 0x0 field public static final int READ_NON_BLOCKING = 1; // 0x1 @@ -19899,6 +19901,7 @@ package android.media { method public int write(java.nio.ByteBuffer, int, int, long); field public static final int ERROR = -1; // 0xffffffff field public static final int ERROR_BAD_VALUE = -2; // 0xfffffffe + field public static final int ERROR_DEAD_OBJECT = -6; // 0xfffffffa field public static final int ERROR_INVALID_OPERATION = -3; // 0xfffffffd field public static final int MODE_STATIC = 0; // 0x0 field public static final int MODE_STREAM = 1; // 0x1 @@ -20556,6 +20559,7 @@ package android.media { field public static final int HEVCProfileMain10HDR10 = 4096; // 0x1000 field public static final int MPEG2LevelH14 = 2; // 0x2 field public static final int MPEG2LevelHL = 3; // 0x3 + field public static final int MPEG2LevelHP = 4; // 0x4 field public static final int MPEG2LevelLL = 0; // 0x0 field public static final int MPEG2LevelML = 1; // 0x1 field public static final int MPEG2Profile422 = 2; // 0x2 @@ -20569,9 +20573,11 @@ package android.media { field public static final int MPEG4Level1 = 4; // 0x4 field public static final int MPEG4Level2 = 8; // 0x8 field public static final int MPEG4Level3 = 16; // 0x10 + field public static final int MPEG4Level3b = 24; // 0x18 field public static final int MPEG4Level4 = 32; // 0x20 field public static final int MPEG4Level4a = 64; // 0x40 field public static final int MPEG4Level5 = 128; // 0x80 + field public static final int MPEG4Level6 = 256; // 0x100 field public static final int MPEG4ProfileAdvancedCoding = 4096; // 0x1000 field public static final int MPEG4ProfileAdvancedCore = 8192; // 0x2000 field public static final int MPEG4ProfileAdvancedRealTime = 1024; // 0x400 @@ -32946,7 +32952,7 @@ package android.provider { public class VoicemailContract { field public static final java.lang.String ACTION_FETCH_VOICEMAIL = "android.intent.action.FETCH_VOICEMAIL"; field public static final java.lang.String ACTION_NEW_VOICEMAIL = "android.intent.action.NEW_VOICEMAIL"; - field public static final java.lang.String ACTION_SYNC_VOICEMAIL = "android.intent.action.SYNC_VOICEMAIL"; + field public static final java.lang.String ACTION_SYNC_VOICEMAIL = "android.provider.action.SYNC_VOICEMAIL"; field public static final java.lang.String AUTHORITY = "com.android.voicemail"; field public static final java.lang.String EXTRA_SELF_CHANGE = "com.android.voicemail.extra.SELF_CHANGE"; field public static final java.lang.String PARAM_KEY_SOURCE_PACKAGE = "source_package"; @@ -32954,7 +32960,6 @@ package android.provider { public static final class VoicemailContract.Status implements android.provider.BaseColumns { method public static android.net.Uri buildSourceUri(java.lang.String); - method public static void setQuota(android.content.Context, android.telecom.PhoneAccountHandle, int, int); field public static final java.lang.String CONFIGURATION_STATE = "configuration_state"; field public static final int CONFIGURATION_STATE_CAN_BE_CONFIGURED = 2; // 0x2 field public static final int CONFIGURATION_STATE_NOT_CONFIGURED = 1; // 0x1 @@ -34566,7 +34571,7 @@ package android.service.media { package android.service.notification { - public class Condition implements android.os.Parcelable { + public final class Condition implements android.os.Parcelable { ctor public Condition(android.net.Uri, java.lang.String, int); ctor public Condition(android.net.Uri, java.lang.String, java.lang.String, java.lang.String, int, int, int); ctor public Condition(android.os.Parcel); @@ -34603,7 +34608,7 @@ package android.service.notification { method public void onRequestConditions(int); method public abstract void onSubscribe(android.net.Uri); method public abstract void onUnsubscribe(android.net.Uri); - field public static final java.lang.String EXTRA_RULE_ID = "android.content.automatic.ruleId"; + field public static final java.lang.String EXTRA_RULE_ID = "android.service.notification.extra.RULE_ID"; field public static final java.lang.String META_DATA_CONFIGURATION_ACTIVITY = "android.service.zen.automatic.configurationActivity"; field public static final java.lang.String META_DATA_RULE_INSTANCE_LIMIT = "android.service.zen.automatic.ruleInstanceLimit"; field public static final java.lang.String META_DATA_RULE_TYPE = "android.service.zen.automatic.ruleType"; @@ -34633,8 +34638,8 @@ package android.service.notification { method public void onNotificationRemoved(android.service.notification.StatusBarNotification, android.service.notification.NotificationListenerService.RankingMap); method public final void requestInterruptionFilter(int); method public final void requestListenerHints(int); - method public static void requestRebind(android.content.ComponentName) throws android.os.RemoteException; - method public final void requestUnbind() throws android.os.RemoteException; + method public static void requestRebind(android.content.ComponentName); + method public final void requestUnbind(); method public final void setNotificationsShown(java.lang.String[]); field public static final int HINT_HOST_DISABLE_CALL_EFFECTS = 4; // 0x4 field public static final int HINT_HOST_DISABLE_EFFECTS = 1; // 0x1 @@ -36006,10 +36011,10 @@ package android.telecom { field public static final int CAPABILITY_SWAP_CONFERENCE = 8; // 0x8 field public static final int PROPERTY_CONFERENCE = 1; // 0x1 field public static final int PROPERTY_EMERGENCY_CALLBACK_MODE = 4; // 0x4 + field public static final int PROPERTY_ENTERPRISE_CALL = 32; // 0x20 field public static final int PROPERTY_GENERIC_CONFERENCE = 2; // 0x2 field public static final int PROPERTY_HIGH_DEF_AUDIO = 16; // 0x10 field public static final int PROPERTY_WIFI = 8; // 0x8 - field public static final int PROPERTY_WORK_CALL = 32; // 0x20 } public final class CallAudioState implements android.os.Parcelable { @@ -36710,10 +36715,10 @@ package android.telephony { field public static final java.lang.String KEY_VOICEMAIL_NOTIFICATION_PERSISTENT_BOOL = "voicemail_notification_persistent_bool"; field public static final java.lang.String KEY_VOICE_PRIVACY_DISABLE_UI_BOOL = "voice_privacy_disable_ui_bool"; field public static final java.lang.String KEY_VOLTE_REPLACEMENT_RAT_INT = "volte_replacement_rat_int"; - field public static final java.lang.String KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL = "vvm_cellular_data_required"; + field public static final java.lang.String KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL = "vvm_cellular_data_required_bool"; field public static final java.lang.String KEY_VVM_DESTINATION_NUMBER_STRING = "vvm_destination_number_string"; field public static final java.lang.String KEY_VVM_PORT_NUMBER_INT = "vvm_port_number_int"; - field public static final java.lang.String KEY_VVM_PREFETCH_BOOL = "vvm_prefetch"; + field public static final java.lang.String KEY_VVM_PREFETCH_BOOL = "vvm_prefetch_bool"; field public static final java.lang.String KEY_VVM_TYPE_STRING = "vvm_type_string"; field public static final java.lang.String KEY_WORLD_PHONE_BOOL = "world_phone_bool"; } @@ -42498,6 +42503,7 @@ package android.view { method protected boolean overScrollBy(int, int, int, int, int, int, int, int, boolean); method public boolean performAccessibilityAction(int, android.os.Bundle); method public boolean performClick(); + method public boolean performContextClick(float, float); method public boolean performContextClick(); method public boolean performHapticFeedback(int); method public boolean performHapticFeedback(int, int); diff --git a/api/system-current.txt b/api/system-current.txt index 5ea2ee045002..d05310333e47 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -982,6 +982,7 @@ package android { field public static final int navigationMode = 16843471; // 0x10102cf field public static final int negativeButtonText = 16843254; // 0x10101f6 field public static final int nestedScrollingEnabled = 16843830; // 0x1010436 + field public static final int networkSecurityConfig = 16844074; // 0x101052a field public static final int nextFocusDown = 16842980; // 0x10100e4 field public static final int nextFocusForward = 16843580; // 0x101033c field public static final int nextFocusLeft = 16842977; // 0x10100e1 @@ -2135,6 +2136,8 @@ package android { field public static final int TextAppearance_Material_Widget_ActionMode_Title = 16974355; // 0x1030213 field public static final int TextAppearance_Material_Widget_ActionMode_Title_Inverse = 16974356; // 0x1030214 field public static final int TextAppearance_Material_Widget_Button = 16974357; // 0x1030215 + field public static final int TextAppearance_Material_Widget_Button_Borderless_Colored = 16974559; // 0x10302df + field public static final int TextAppearance_Material_Widget_Button_Colored = 16974558; // 0x10302de field public static final int TextAppearance_Material_Widget_Button_Inverse = 16974548; // 0x10302d4 field public static final int TextAppearance_Material_Widget_DropDownHint = 16974358; // 0x1030216 field public static final int TextAppearance_Material_Widget_DropDownItem = 16974359; // 0x1030217 @@ -5194,7 +5197,7 @@ package android.app { public static class Notification.BigPictureStyle extends android.app.Notification.Style { ctor public Notification.BigPictureStyle(); - ctor public Notification.BigPictureStyle(android.app.Notification.Builder); + ctor public deprecated Notification.BigPictureStyle(android.app.Notification.Builder); method public android.app.Notification.BigPictureStyle bigLargeIcon(android.graphics.Bitmap); method public android.app.Notification.BigPictureStyle bigLargeIcon(android.graphics.drawable.Icon); method public android.app.Notification.BigPictureStyle bigPicture(android.graphics.Bitmap); @@ -5204,7 +5207,7 @@ package android.app { public static class Notification.BigTextStyle extends android.app.Notification.Style { ctor public Notification.BigTextStyle(); - ctor public Notification.BigTextStyle(android.app.Notification.Builder); + ctor public deprecated Notification.BigTextStyle(android.app.Notification.Builder); method public android.app.Notification.BigTextStyle bigText(java.lang.CharSequence); method public android.app.Notification.BigTextStyle setBigContentTitle(java.lang.CharSequence); method public android.app.Notification.BigTextStyle setSummaryText(java.lang.CharSequence); @@ -5305,12 +5308,10 @@ package android.app { public static class Notification.DecoratedCustomViewStyle extends android.app.Notification.Style { ctor public Notification.DecoratedCustomViewStyle(); - ctor public Notification.DecoratedCustomViewStyle(android.app.Notification.Builder); } public static class Notification.DecoratedMediaCustomViewStyle extends android.app.Notification.MediaStyle { ctor public Notification.DecoratedMediaCustomViewStyle(); - ctor public Notification.DecoratedMediaCustomViewStyle(android.app.Notification.Builder); } public static abstract interface Notification.Extender { @@ -5319,7 +5320,7 @@ package android.app { public static class Notification.InboxStyle extends android.app.Notification.Style { ctor public Notification.InboxStyle(); - ctor public Notification.InboxStyle(android.app.Notification.Builder); + ctor public deprecated Notification.InboxStyle(android.app.Notification.Builder); method public android.app.Notification.InboxStyle addLine(java.lang.CharSequence); method public android.app.Notification.InboxStyle setBigContentTitle(java.lang.CharSequence); method public android.app.Notification.InboxStyle setSummaryText(java.lang.CharSequence); @@ -5327,7 +5328,7 @@ package android.app { public static class Notification.MediaStyle extends android.app.Notification.Style { ctor public Notification.MediaStyle(); - ctor public Notification.MediaStyle(android.app.Notification.Builder); + ctor public deprecated Notification.MediaStyle(android.app.Notification.Builder); method public android.app.Notification.MediaStyle setMediaSession(android.media.session.MediaSession.Token); method public android.app.Notification.MediaStyle setShowActionsInCompactView(int...); } @@ -21091,7 +21092,7 @@ package android.media { method public void adjustVolume(int, int); method public void dispatchMediaKeyEvent(android.view.KeyEvent); method public int generateAudioSessionId(); - method public android.media.AudioRecordingConfiguration[] getActiveRecordingConfigurations(); + method public java.util.List<android.media.AudioRecordingConfiguration> getActiveRecordingConfigurations(); method public android.media.AudioDeviceInfo[] getDevices(int); method public int getMode(); method public java.lang.String getParameters(java.lang.String); @@ -21245,7 +21246,7 @@ package android.media { public static abstract class AudioManager.AudioRecordingCallback { ctor public AudioManager.AudioRecordingCallback(); - method public void onRecordingConfigChanged(android.media.AudioRecordingConfiguration[]); + method public void onRecordingConfigChanged(java.util.List<android.media.AudioRecordingConfiguration>); } public static abstract interface AudioManager.OnAudioFocusChangeListener { @@ -21293,6 +21294,7 @@ package android.media { method public void stop() throws java.lang.IllegalStateException; field public static final int ERROR = -1; // 0xffffffff field public static final int ERROR_BAD_VALUE = -2; // 0xfffffffe + field public static final int ERROR_DEAD_OBJECT = -6; // 0xfffffffa field public static final int ERROR_INVALID_OPERATION = -3; // 0xfffffffd field public static final int READ_BLOCKING = 0; // 0x0 field public static final int READ_NON_BLOCKING = 1; // 0x1 @@ -21417,6 +21419,7 @@ package android.media { method public int write(java.nio.ByteBuffer, int, int, long); field public static final int ERROR = -1; // 0xffffffff field public static final int ERROR_BAD_VALUE = -2; // 0xfffffffe + field public static final int ERROR_DEAD_OBJECT = -6; // 0xfffffffa field public static final int ERROR_INVALID_OPERATION = -3; // 0xfffffffd field public static final int MODE_STATIC = 0; // 0x0 field public static final int MODE_STREAM = 1; // 0x1 @@ -22074,6 +22077,7 @@ package android.media { field public static final int HEVCProfileMain10HDR10 = 4096; // 0x1000 field public static final int MPEG2LevelH14 = 2; // 0x2 field public static final int MPEG2LevelHL = 3; // 0x3 + field public static final int MPEG2LevelHP = 4; // 0x4 field public static final int MPEG2LevelLL = 0; // 0x0 field public static final int MPEG2LevelML = 1; // 0x1 field public static final int MPEG2Profile422 = 2; // 0x2 @@ -22087,9 +22091,11 @@ package android.media { field public static final int MPEG4Level1 = 4; // 0x4 field public static final int MPEG4Level2 = 8; // 0x8 field public static final int MPEG4Level3 = 16; // 0x10 + field public static final int MPEG4Level3b = 24; // 0x18 field public static final int MPEG4Level4 = 32; // 0x20 field public static final int MPEG4Level4a = 64; // 0x40 field public static final int MPEG4Level5 = 128; // 0x80 + field public static final int MPEG4Level6 = 256; // 0x100 field public static final int MPEG4ProfileAdvancedCoding = 4096; // 0x1000 field public static final int MPEG4ProfileAdvancedCore = 8192; // 0x2000 field public static final int MPEG4ProfileAdvancedRealTime = 1024; // 0x400 @@ -35652,7 +35658,7 @@ package android.provider { public class VoicemailContract { field public static final java.lang.String ACTION_FETCH_VOICEMAIL = "android.intent.action.FETCH_VOICEMAIL"; field public static final java.lang.String ACTION_NEW_VOICEMAIL = "android.intent.action.NEW_VOICEMAIL"; - field public static final java.lang.String ACTION_SYNC_VOICEMAIL = "android.intent.action.SYNC_VOICEMAIL"; + field public static final java.lang.String ACTION_SYNC_VOICEMAIL = "android.provider.action.SYNC_VOICEMAIL"; field public static final java.lang.String AUTHORITY = "com.android.voicemail"; field public static final java.lang.String EXTRA_SELF_CHANGE = "com.android.voicemail.extra.SELF_CHANGE"; field public static final java.lang.String PARAM_KEY_SOURCE_PACKAGE = "source_package"; @@ -35660,7 +35666,6 @@ package android.provider { public static final class VoicemailContract.Status implements android.provider.BaseColumns { method public static android.net.Uri buildSourceUri(java.lang.String); - method public static void setQuota(android.content.Context, android.telecom.PhoneAccountHandle, int, int); field public static final java.lang.String CONFIGURATION_STATE = "configuration_state"; field public static final int CONFIGURATION_STATE_CAN_BE_CONFIGURED = 2; // 0x2 field public static final int CONFIGURATION_STATE_NOT_CONFIGURED = 1; // 0x1 @@ -37289,7 +37294,7 @@ package android.service.notification { field public static final java.lang.String NEEDS_AUTOGROUPING_KEY = "autogroup_needed"; } - public class Condition implements android.os.Parcelable { + public final class Condition implements android.os.Parcelable { ctor public Condition(android.net.Uri, java.lang.String, int); ctor public Condition(android.net.Uri, java.lang.String, java.lang.String, java.lang.String, int, int, int); ctor public Condition(android.os.Parcel); @@ -37326,7 +37331,7 @@ package android.service.notification { method public void onRequestConditions(int); method public abstract void onSubscribe(android.net.Uri); method public abstract void onUnsubscribe(android.net.Uri); - field public static final java.lang.String EXTRA_RULE_ID = "android.content.automatic.ruleId"; + field public static final java.lang.String EXTRA_RULE_ID = "android.service.notification.extra.RULE_ID"; field public static final java.lang.String META_DATA_CONFIGURATION_ACTIVITY = "android.service.zen.automatic.configurationActivity"; field public static final java.lang.String META_DATA_RULE_INSTANCE_LIMIT = "android.service.zen.automatic.ruleInstanceLimit"; field public static final java.lang.String META_DATA_RULE_TYPE = "android.service.zen.automatic.ruleType"; @@ -37359,8 +37364,8 @@ package android.service.notification { method public void registerAsSystemService(android.content.Context, android.content.ComponentName, int) throws android.os.RemoteException; method public final void requestInterruptionFilter(int); method public final void requestListenerHints(int); - method public static void requestRebind(android.content.ComponentName) throws android.os.RemoteException; - method public final void requestUnbind() throws android.os.RemoteException; + method public static void requestRebind(android.content.ComponentName); + method public final void requestUnbind(); method public final void setNotificationsShown(java.lang.String[]); method public final void setOnNotificationPostedTrim(int); method public void unregisterAsSystemService() throws android.os.RemoteException; @@ -38842,10 +38847,10 @@ package android.telecom { field public static final int CAPABILITY_SWAP_CONFERENCE = 8; // 0x8 field public static final int PROPERTY_CONFERENCE = 1; // 0x1 field public static final int PROPERTY_EMERGENCY_CALLBACK_MODE = 4; // 0x4 + field public static final int PROPERTY_ENTERPRISE_CALL = 32; // 0x20 field public static final int PROPERTY_GENERIC_CONFERENCE = 2; // 0x2 field public static final int PROPERTY_HIGH_DEF_AUDIO = 16; // 0x10 field public static final int PROPERTY_WIFI = 8; // 0x8 - field public static final int PROPERTY_WORK_CALL = 32; // 0x20 } public static abstract deprecated class Call.Listener extends android.telecom.Call.Callback { @@ -39643,10 +39648,10 @@ package android.telephony { field public static final java.lang.String KEY_VOICEMAIL_NOTIFICATION_PERSISTENT_BOOL = "voicemail_notification_persistent_bool"; field public static final java.lang.String KEY_VOICE_PRIVACY_DISABLE_UI_BOOL = "voice_privacy_disable_ui_bool"; field public static final java.lang.String KEY_VOLTE_REPLACEMENT_RAT_INT = "volte_replacement_rat_int"; - field public static final java.lang.String KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL = "vvm_cellular_data_required"; + field public static final java.lang.String KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL = "vvm_cellular_data_required_bool"; field public static final java.lang.String KEY_VVM_DESTINATION_NUMBER_STRING = "vvm_destination_number_string"; field public static final java.lang.String KEY_VVM_PORT_NUMBER_INT = "vvm_port_number_int"; - field public static final java.lang.String KEY_VVM_PREFETCH_BOOL = "vvm_prefetch"; + field public static final java.lang.String KEY_VVM_PREFETCH_BOOL = "vvm_prefetch_bool"; field public static final java.lang.String KEY_VVM_TYPE_STRING = "vvm_type_string"; field public static final java.lang.String KEY_WORLD_PHONE_BOOL = "world_phone_bool"; } @@ -45496,6 +45501,7 @@ package android.view { method protected boolean overScrollBy(int, int, int, int, int, int, int, int, boolean); method public boolean performAccessibilityAction(int, android.os.Bundle); method public boolean performClick(); + method public boolean performContextClick(float, float); method public boolean performContextClick(); method public boolean performHapticFeedback(int); method public boolean performHapticFeedback(int, int); diff --git a/api/test-current.txt b/api/test-current.txt index 0e9953a6626e..4ade3d6da5bc 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -876,6 +876,7 @@ package android { field public static final int navigationMode = 16843471; // 0x10102cf field public static final int negativeButtonText = 16843254; // 0x10101f6 field public static final int nestedScrollingEnabled = 16843830; // 0x1010436 + field public static final int networkSecurityConfig = 16844074; // 0x101052a field public static final int nextFocusDown = 16842980; // 0x10100e4 field public static final int nextFocusForward = 16843580; // 0x101033c field public static final int nextFocusLeft = 16842977; // 0x10100e1 @@ -2023,6 +2024,8 @@ package android { field public static final int TextAppearance_Material_Widget_ActionMode_Title = 16974355; // 0x1030213 field public static final int TextAppearance_Material_Widget_ActionMode_Title_Inverse = 16974356; // 0x1030214 field public static final int TextAppearance_Material_Widget_Button = 16974357; // 0x1030215 + field public static final int TextAppearance_Material_Widget_Button_Borderless_Colored = 16974559; // 0x10302df + field public static final int TextAppearance_Material_Widget_Button_Colored = 16974558; // 0x10302de field public static final int TextAppearance_Material_Widget_Button_Inverse = 16974548; // 0x10302d4 field public static final int TextAppearance_Material_Widget_DropDownHint = 16974358; // 0x1030216 field public static final int TextAppearance_Material_Widget_DropDownItem = 16974359; // 0x1030217 @@ -5048,7 +5051,7 @@ package android.app { public static class Notification.BigPictureStyle extends android.app.Notification.Style { ctor public Notification.BigPictureStyle(); - ctor public Notification.BigPictureStyle(android.app.Notification.Builder); + ctor public deprecated Notification.BigPictureStyle(android.app.Notification.Builder); method public android.app.Notification.BigPictureStyle bigLargeIcon(android.graphics.Bitmap); method public android.app.Notification.BigPictureStyle bigLargeIcon(android.graphics.drawable.Icon); method public android.app.Notification.BigPictureStyle bigPicture(android.graphics.Bitmap); @@ -5058,7 +5061,7 @@ package android.app { public static class Notification.BigTextStyle extends android.app.Notification.Style { ctor public Notification.BigTextStyle(); - ctor public Notification.BigTextStyle(android.app.Notification.Builder); + ctor public deprecated Notification.BigTextStyle(android.app.Notification.Builder); method public android.app.Notification.BigTextStyle bigText(java.lang.CharSequence); method public android.app.Notification.BigTextStyle setBigContentTitle(java.lang.CharSequence); method public android.app.Notification.BigTextStyle setSummaryText(java.lang.CharSequence); @@ -5159,12 +5162,10 @@ package android.app { public static class Notification.DecoratedCustomViewStyle extends android.app.Notification.Style { ctor public Notification.DecoratedCustomViewStyle(); - ctor public Notification.DecoratedCustomViewStyle(android.app.Notification.Builder); } public static class Notification.DecoratedMediaCustomViewStyle extends android.app.Notification.MediaStyle { ctor public Notification.DecoratedMediaCustomViewStyle(); - ctor public Notification.DecoratedMediaCustomViewStyle(android.app.Notification.Builder); } public static abstract interface Notification.Extender { @@ -5173,7 +5174,7 @@ package android.app { public static class Notification.InboxStyle extends android.app.Notification.Style { ctor public Notification.InboxStyle(); - ctor public Notification.InboxStyle(android.app.Notification.Builder); + ctor public deprecated Notification.InboxStyle(android.app.Notification.Builder); method public android.app.Notification.InboxStyle addLine(java.lang.CharSequence); method public android.app.Notification.InboxStyle setBigContentTitle(java.lang.CharSequence); method public android.app.Notification.InboxStyle setSummaryText(java.lang.CharSequence); @@ -5181,7 +5182,7 @@ package android.app { public static class Notification.MediaStyle extends android.app.Notification.Style { ctor public Notification.MediaStyle(); - ctor public Notification.MediaStyle(android.app.Notification.Builder); + ctor public deprecated Notification.MediaStyle(android.app.Notification.Builder); method public android.app.Notification.MediaStyle setMediaSession(android.media.session.MediaSession.Token); method public android.app.Notification.MediaStyle setShowActionsInCompactView(int...); } @@ -19653,7 +19654,7 @@ package android.media { method public void adjustVolume(int, int); method public void dispatchMediaKeyEvent(android.view.KeyEvent); method public int generateAudioSessionId(); - method public android.media.AudioRecordingConfiguration[] getActiveRecordingConfigurations(); + method public java.util.List<android.media.AudioRecordingConfiguration> getActiveRecordingConfigurations(); method public android.media.AudioDeviceInfo[] getDevices(int); method public int getMode(); method public java.lang.String getParameters(java.lang.String); @@ -19799,7 +19800,7 @@ package android.media { public static abstract class AudioManager.AudioRecordingCallback { ctor public AudioManager.AudioRecordingCallback(); - method public void onRecordingConfigChanged(android.media.AudioRecordingConfiguration[]); + method public void onRecordingConfigChanged(java.util.List<android.media.AudioRecordingConfiguration>); } public static abstract interface AudioManager.OnAudioFocusChangeListener { @@ -19846,6 +19847,7 @@ package android.media { method public void stop() throws java.lang.IllegalStateException; field public static final int ERROR = -1; // 0xffffffff field public static final int ERROR_BAD_VALUE = -2; // 0xfffffffe + field public static final int ERROR_DEAD_OBJECT = -6; // 0xfffffffa field public static final int ERROR_INVALID_OPERATION = -3; // 0xfffffffd field public static final int READ_BLOCKING = 0; // 0x0 field public static final int READ_NON_BLOCKING = 1; // 0x1 @@ -19968,6 +19970,7 @@ package android.media { method public int write(java.nio.ByteBuffer, int, int, long); field public static final int ERROR = -1; // 0xffffffff field public static final int ERROR_BAD_VALUE = -2; // 0xfffffffe + field public static final int ERROR_DEAD_OBJECT = -6; // 0xfffffffa field public static final int ERROR_INVALID_OPERATION = -3; // 0xfffffffd field public static final int MODE_STATIC = 0; // 0x0 field public static final int MODE_STREAM = 1; // 0x1 @@ -20625,6 +20628,7 @@ package android.media { field public static final int HEVCProfileMain10HDR10 = 4096; // 0x1000 field public static final int MPEG2LevelH14 = 2; // 0x2 field public static final int MPEG2LevelHL = 3; // 0x3 + field public static final int MPEG2LevelHP = 4; // 0x4 field public static final int MPEG2LevelLL = 0; // 0x0 field public static final int MPEG2LevelML = 1; // 0x1 field public static final int MPEG2Profile422 = 2; // 0x2 @@ -20638,9 +20642,11 @@ package android.media { field public static final int MPEG4Level1 = 4; // 0x4 field public static final int MPEG4Level2 = 8; // 0x8 field public static final int MPEG4Level3 = 16; // 0x10 + field public static final int MPEG4Level3b = 24; // 0x18 field public static final int MPEG4Level4 = 32; // 0x20 field public static final int MPEG4Level4a = 64; // 0x40 field public static final int MPEG4Level5 = 128; // 0x80 + field public static final int MPEG4Level6 = 256; // 0x100 field public static final int MPEG4ProfileAdvancedCoding = 4096; // 0x1000 field public static final int MPEG4ProfileAdvancedCore = 8192; // 0x2000 field public static final int MPEG4ProfileAdvancedRealTime = 1024; // 0x400 @@ -33022,7 +33028,7 @@ package android.provider { public class VoicemailContract { field public static final java.lang.String ACTION_FETCH_VOICEMAIL = "android.intent.action.FETCH_VOICEMAIL"; field public static final java.lang.String ACTION_NEW_VOICEMAIL = "android.intent.action.NEW_VOICEMAIL"; - field public static final java.lang.String ACTION_SYNC_VOICEMAIL = "android.intent.action.SYNC_VOICEMAIL"; + field public static final java.lang.String ACTION_SYNC_VOICEMAIL = "android.provider.action.SYNC_VOICEMAIL"; field public static final java.lang.String AUTHORITY = "com.android.voicemail"; field public static final java.lang.String EXTRA_SELF_CHANGE = "com.android.voicemail.extra.SELF_CHANGE"; field public static final java.lang.String PARAM_KEY_SOURCE_PACKAGE = "source_package"; @@ -33030,7 +33036,6 @@ package android.provider { public static final class VoicemailContract.Status implements android.provider.BaseColumns { method public static android.net.Uri buildSourceUri(java.lang.String); - method public static void setQuota(android.content.Context, android.telecom.PhoneAccountHandle, int, int); field public static final java.lang.String CONFIGURATION_STATE = "configuration_state"; field public static final int CONFIGURATION_STATE_CAN_BE_CONFIGURED = 2; // 0x2 field public static final int CONFIGURATION_STATE_NOT_CONFIGURED = 1; // 0x1 @@ -34643,7 +34648,7 @@ package android.service.media { package android.service.notification { - public class Condition implements android.os.Parcelable { + public final class Condition implements android.os.Parcelable { ctor public Condition(android.net.Uri, java.lang.String, int); ctor public Condition(android.net.Uri, java.lang.String, java.lang.String, java.lang.String, int, int, int); ctor public Condition(android.os.Parcel); @@ -34680,7 +34685,7 @@ package android.service.notification { method public void onRequestConditions(int); method public abstract void onSubscribe(android.net.Uri); method public abstract void onUnsubscribe(android.net.Uri); - field public static final java.lang.String EXTRA_RULE_ID = "android.content.automatic.ruleId"; + field public static final java.lang.String EXTRA_RULE_ID = "android.service.notification.extra.RULE_ID"; field public static final java.lang.String META_DATA_CONFIGURATION_ACTIVITY = "android.service.zen.automatic.configurationActivity"; field public static final java.lang.String META_DATA_RULE_INSTANCE_LIMIT = "android.service.zen.automatic.ruleInstanceLimit"; field public static final java.lang.String META_DATA_RULE_TYPE = "android.service.zen.automatic.ruleType"; @@ -34710,8 +34715,8 @@ package android.service.notification { method public void onNotificationRemoved(android.service.notification.StatusBarNotification, android.service.notification.NotificationListenerService.RankingMap); method public final void requestInterruptionFilter(int); method public final void requestListenerHints(int); - method public static void requestRebind(android.content.ComponentName) throws android.os.RemoteException; - method public final void requestUnbind() throws android.os.RemoteException; + method public static void requestRebind(android.content.ComponentName); + method public final void requestUnbind(); method public final void setNotificationsShown(java.lang.String[]); field public static final int HINT_HOST_DISABLE_CALL_EFFECTS = 4; // 0x4 field public static final int HINT_HOST_DISABLE_EFFECTS = 1; // 0x1 @@ -36083,10 +36088,10 @@ package android.telecom { field public static final int CAPABILITY_SWAP_CONFERENCE = 8; // 0x8 field public static final int PROPERTY_CONFERENCE = 1; // 0x1 field public static final int PROPERTY_EMERGENCY_CALLBACK_MODE = 4; // 0x4 + field public static final int PROPERTY_ENTERPRISE_CALL = 32; // 0x20 field public static final int PROPERTY_GENERIC_CONFERENCE = 2; // 0x2 field public static final int PROPERTY_HIGH_DEF_AUDIO = 16; // 0x10 field public static final int PROPERTY_WIFI = 8; // 0x8 - field public static final int PROPERTY_WORK_CALL = 32; // 0x20 } public final class CallAudioState implements android.os.Parcelable { @@ -36787,10 +36792,10 @@ package android.telephony { field public static final java.lang.String KEY_VOICEMAIL_NOTIFICATION_PERSISTENT_BOOL = "voicemail_notification_persistent_bool"; field public static final java.lang.String KEY_VOICE_PRIVACY_DISABLE_UI_BOOL = "voice_privacy_disable_ui_bool"; field public static final java.lang.String KEY_VOLTE_REPLACEMENT_RAT_INT = "volte_replacement_rat_int"; - field public static final java.lang.String KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL = "vvm_cellular_data_required"; + field public static final java.lang.String KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL = "vvm_cellular_data_required_bool"; field public static final java.lang.String KEY_VVM_DESTINATION_NUMBER_STRING = "vvm_destination_number_string"; field public static final java.lang.String KEY_VVM_PORT_NUMBER_INT = "vvm_port_number_int"; - field public static final java.lang.String KEY_VVM_PREFETCH_BOOL = "vvm_prefetch"; + field public static final java.lang.String KEY_VVM_PREFETCH_BOOL = "vvm_prefetch_bool"; field public static final java.lang.String KEY_VVM_TYPE_STRING = "vvm_type_string"; field public static final java.lang.String KEY_WORLD_PHONE_BOOL = "world_phone_bool"; } @@ -42577,6 +42582,7 @@ package android.view { method protected boolean overScrollBy(int, int, int, int, int, int, int, int, boolean); method public boolean performAccessibilityAction(int, android.os.Bundle); method public boolean performClick(); + method public boolean performContextClick(float, float); method public boolean performContextClick(); method public boolean performHapticFeedback(int); method public boolean performHapticFeedback(int, int); diff --git a/cmds/uiautomator/api/current.txt b/cmds/uiautomator/api/current.txt index 7eeecf5d09fa..634ca4d39ec5 100644 --- a/cmds/uiautomator/api/current.txt +++ b/cmds/uiautomator/api/current.txt @@ -1,6 +1,6 @@ package com.android.uiautomator.core { - public final class Configurator { + public final deprecated class Configurator { method public long getActionAcknowledgmentTimeout(); method public static com.android.uiautomator.core.Configurator getInstance(); method public long getKeyInjectionDelay(); @@ -14,7 +14,7 @@ package com.android.uiautomator.core { method public com.android.uiautomator.core.Configurator setWaitForSelectorTimeout(long); } - public class UiCollection extends com.android.uiautomator.core.UiObject { + public deprecated class UiCollection extends com.android.uiautomator.core.UiObject { ctor public UiCollection(com.android.uiautomator.core.UiSelector); method public com.android.uiautomator.core.UiObject getChildByDescription(com.android.uiautomator.core.UiSelector, java.lang.String) throws com.android.uiautomator.core.UiObjectNotFoundException; method public com.android.uiautomator.core.UiObject getChildByInstance(com.android.uiautomator.core.UiSelector, int) throws com.android.uiautomator.core.UiObjectNotFoundException; @@ -22,7 +22,7 @@ package com.android.uiautomator.core { method public int getChildCount(com.android.uiautomator.core.UiSelector); } - public class UiDevice { + public deprecated class UiDevice { method public void clearLastTraversedText(); method public boolean click(int, int); method public boolean drag(int, int, int, int, int); @@ -77,7 +77,7 @@ package com.android.uiautomator.core { method public void wakeUp() throws android.os.RemoteException; } - public class UiObject { + public deprecated class UiObject { ctor public UiObject(com.android.uiautomator.core.UiSelector); method public void clearTextField() throws com.android.uiautomator.core.UiObjectNotFoundException; method public boolean click() throws com.android.uiautomator.core.UiObjectNotFoundException; @@ -130,13 +130,13 @@ package com.android.uiautomator.core { field protected static final long WAIT_FOR_WINDOW_TMEOUT = 5500L; // 0x157cL } - public class UiObjectNotFoundException extends java.lang.Exception { + public deprecated class UiObjectNotFoundException extends java.lang.Exception { ctor public UiObjectNotFoundException(java.lang.String); ctor public UiObjectNotFoundException(java.lang.String, java.lang.Throwable); ctor public UiObjectNotFoundException(java.lang.Throwable); } - public class UiScrollable extends com.android.uiautomator.core.UiCollection { + public deprecated class UiScrollable extends com.android.uiautomator.core.UiCollection { ctor public UiScrollable(com.android.uiautomator.core.UiSelector); method protected boolean exists(com.android.uiautomator.core.UiSelector); method public boolean flingBackward() throws com.android.uiautomator.core.UiObjectNotFoundException; @@ -165,7 +165,7 @@ package com.android.uiautomator.core { method public com.android.uiautomator.core.UiScrollable setSwipeDeadZonePercentage(double); } - public class UiSelector { + public deprecated class UiSelector { ctor public UiSelector(); method public com.android.uiautomator.core.UiSelector checkable(boolean); method public com.android.uiautomator.core.UiSelector checked(boolean); @@ -198,7 +198,7 @@ package com.android.uiautomator.core { method public com.android.uiautomator.core.UiSelector textStartsWith(java.lang.String); } - public abstract interface UiWatcher { + public abstract deprecated interface UiWatcher { method public abstract boolean checkForCondition(); } @@ -206,11 +206,11 @@ package com.android.uiautomator.core { package com.android.uiautomator.testrunner { - public abstract interface IAutomationSupport { + public abstract deprecated interface IAutomationSupport { method public abstract void sendStatus(int, android.os.Bundle); } - public class UiAutomatorTestCase extends junit.framework.TestCase { + public deprecated class UiAutomatorTestCase extends junit.framework.TestCase { ctor public UiAutomatorTestCase(); method public com.android.uiautomator.testrunner.IAutomationSupport getAutomationSupport(); method public android.os.Bundle getParams(); diff --git a/cmds/uiautomator/cmds/uiautomator/uiautomator b/cmds/uiautomator/cmds/uiautomator/uiautomator index fe2c73579882..86a1dbaad119 100755 --- a/cmds/uiautomator/cmds/uiautomator/uiautomator +++ b/cmds/uiautomator/cmds/uiautomator/uiautomator @@ -67,6 +67,11 @@ jars= # special case pre-processing for 'runtest' command if [ "${cmd}" == "runtest" ]; then + # Print deprecation warning + echo "Warning: This version of UI Automator is deprecated. New tests should be written using" + echo "UI Automator 2.0 which is available as part of the Android Testing Support Library." + echo "See https://developer.android.com/training/testing/ui-testing/uiautomator-testing.html" + echo "for more details." # first parse the jar paths while [ true ]; do if [ -z "${1}" ] && [ -z "${jars}" ]; then diff --git a/cmds/uiautomator/instrumentation/testrunner-src/com/android/uiautomator/testrunner/IAutomationSupport.java b/cmds/uiautomator/instrumentation/testrunner-src/com/android/uiautomator/testrunner/IAutomationSupport.java index f0c60d2840c2..6d758444e880 100644 --- a/cmds/uiautomator/instrumentation/testrunner-src/com/android/uiautomator/testrunner/IAutomationSupport.java +++ b/cmds/uiautomator/instrumentation/testrunner-src/com/android/uiautomator/testrunner/IAutomationSupport.java @@ -22,7 +22,10 @@ import android.os.Bundle; * Provides auxiliary support for running test cases * * @since API Level 16 + * @deprecated New tests should be written using UI Automator 2.0 which is available as part of the + * Android Testing Support Library. */ +@Deprecated public interface IAutomationSupport { /** diff --git a/cmds/uiautomator/instrumentation/testrunner-src/com/android/uiautomator/testrunner/UiAutomatorInstrumentationTestRunner.java b/cmds/uiautomator/instrumentation/testrunner-src/com/android/uiautomator/testrunner/UiAutomatorInstrumentationTestRunner.java index ae763f28cad5..af42653acb8e 100644 --- a/cmds/uiautomator/instrumentation/testrunner-src/com/android/uiautomator/testrunner/UiAutomatorInstrumentationTestRunner.java +++ b/cmds/uiautomator/instrumentation/testrunner-src/com/android/uiautomator/testrunner/UiAutomatorInstrumentationTestRunner.java @@ -28,7 +28,10 @@ import junit.framework.TestListener; /** * Test runner for {@link UiAutomatorTestCase}s. Such tests are executed * on the device and have access to an applications context. + * @deprecated New tests should be written using UI Automator 2.0 which is available as part of the + * Android Testing Support Library. */ +@Deprecated public class UiAutomatorInstrumentationTestRunner extends InstrumentationTestRunner { @Override diff --git a/cmds/uiautomator/instrumentation/testrunner-src/com/android/uiautomator/testrunner/UiAutomatorTestCase.java b/cmds/uiautomator/instrumentation/testrunner-src/com/android/uiautomator/testrunner/UiAutomatorTestCase.java index b5f21c929154..7c9aeded238e 100644 --- a/cmds/uiautomator/instrumentation/testrunner-src/com/android/uiautomator/testrunner/UiAutomatorTestCase.java +++ b/cmds/uiautomator/instrumentation/testrunner-src/com/android/uiautomator/testrunner/UiAutomatorTestCase.java @@ -26,7 +26,10 @@ import com.android.uiautomator.core.UiDevice; /** * UI Automator test case that is executed on the device. + * @deprecated New tests should be written using UI Automator 2.0 which is available as part of the + * Android Testing Support Library. */ +@Deprecated public class UiAutomatorTestCase extends InstrumentationTestCase { private Bundle mParams; diff --git a/cmds/uiautomator/library/Android.mk b/cmds/uiautomator/library/Android.mk index 62fb0e4ca980..ea77fbc69662 100644 --- a/cmds/uiautomator/library/Android.mk +++ b/cmds/uiautomator/library/Android.mk @@ -67,7 +67,6 @@ include $(BUILD_STATIC_JAVA_LIBRARY) # Make sure to run droiddoc first to generate the stub source files. $(full_classes_compiled_jar) : $(uiautomator_stubs_stamp) $(built_dex_intermediate) : $(uiautomator_stubs_stamp) -uiautomator_stubs_jar := $(full_classes_compiled_jar) ############################################### # API check @@ -92,7 +91,7 @@ $(eval $(call check-api, \ $(uiautomator_internal_removed_api_file), \ $(checkapi_last_error_level_flags), \ cat $(LOCAL_PATH)/apicheck_msg_last.txt, \ - $(uiautomator_stubs_jar), \ + uiautomator.core, \ $(uiautomator_stubs_stamp))) checkapi_current_error_level_flags := \ @@ -111,7 +110,7 @@ $(eval $(call check-api, \ $(uiautomator_internal_removed_api_file), \ $(checkapi_current_error_level_flags), \ cat $(LOCAL_PATH)/apicheck_msg_current.txt, \ - $(uiautomator_stubs_jar), \ + uiautomator.core, \ $(uiautomator_stubs_stamp))) .PHONY: update-uiautomator-api @@ -128,7 +127,6 @@ uiautomator.core_src_files := uiautomator.core_java_libraries := uiautomator_stubs_stamp := uiautomator_internal_api_file := -uiautomator_stubs_jar := uiautomator_api_dir := checkapi_last_error_level_flags := checkapi_current_error_level_flags := diff --git a/cmds/uiautomator/library/core-src/com/android/uiautomator/core/Configurator.java b/cmds/uiautomator/library/core-src/com/android/uiautomator/core/Configurator.java index 249f4046c7b8..255c49a84fff 100644 --- a/cmds/uiautomator/library/core-src/com/android/uiautomator/core/Configurator.java +++ b/cmds/uiautomator/library/core-src/com/android/uiautomator/core/Configurator.java @@ -25,7 +25,10 @@ package com.android.uiautomator.core; * tests with the modified parameters, make sure to also restore * the original parameter values, otherwise this will impact other tests cases. * @since API Level 18 + * @deprecated New tests should be written using UI Automator 2.0 which is available as part of the + * Android Testing Support Library. */ +@Deprecated public final class Configurator { private long mWaitForIdleTimeout = 10 * 1000; private long mWaitForSelector = 10 * 1000; diff --git a/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiCollection.java b/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiCollection.java index e15beb2fb74f..06bacb0671eb 100644 --- a/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiCollection.java +++ b/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiCollection.java @@ -19,7 +19,10 @@ package com.android.uiautomator.core; * Used to enumerate a container's UI elements for the purpose of counting, * or targeting a sub elements by a child's text or description. * @since API Level 16 + * @deprecated New tests should be written using UI Automator 2.0 which is available as part of the + * Android Testing Support Library. */ +@Deprecated public class UiCollection extends UiObject { /** diff --git a/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiDevice.java b/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiDevice.java index a930eb444a08..b1b432bf79ab 100644 --- a/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiDevice.java +++ b/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiDevice.java @@ -42,7 +42,10 @@ import java.util.concurrent.TimeoutException; * You can also use this class to simulate user actions on the device, * such as pressing the d-pad or pressing the Home and Menu buttons. * @since API Level 16 + * @deprecated New tests should be written using UI Automator 2.0 which is available as part of the + * Android Testing Support Library. */ +@Deprecated public class UiDevice { private static final String LOG_TAG = UiDevice.class.getSimpleName(); diff --git a/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiObject.java b/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiObject.java index 2118da857be5..751bbe825bca 100644 --- a/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiObject.java +++ b/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiObject.java @@ -31,7 +31,10 @@ import android.view.accessibility.AccessibilityNodeInfo; * its constructor. Once you create an instance of a UiObject, it can * be reused for different views that match the selector criteria. * @since API Level 16 + * @deprecated New tests should be written using UI Automator 2.0 which is available as part of the + * Android Testing Support Library. */ +@Deprecated public class UiObject { private static final String LOG_TAG = UiObject.class.getSimpleName(); /** diff --git a/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiObjectNotFoundException.java b/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiObjectNotFoundException.java index fc0891bfbd27..f3e269844b8d 100644 --- a/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiObjectNotFoundException.java +++ b/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiObjectNotFoundException.java @@ -20,7 +20,10 @@ package com.android.uiautomator.core; * Generated in test runs when a {@link UiSelector} selector could not be matched * to any UI element displayed. * @since API Level 16 + * @deprecated New tests should be written using UI Automator 2.0 which is available as part of the + * Android Testing Support Library. */ +@Deprecated public class UiObjectNotFoundException extends Exception { private static final long serialVersionUID = 1L; diff --git a/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiScrollable.java b/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiScrollable.java index a8d20c3fa7cc..6673dac96196 100644 --- a/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiScrollable.java +++ b/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiScrollable.java @@ -24,7 +24,10 @@ import android.view.accessibility.AccessibilityNodeInfo; * for items in scrollable layout elements. This class can be used with * horizontally or vertically scrollable controls. * @since API Level 16 + * @deprecated New tests should be written using UI Automator 2.0 which is available as part of the + * Android Testing Support Library. */ +@Deprecated public class UiScrollable extends UiCollection { private static final String LOG_TAG = UiScrollable.class.getSimpleName(); diff --git a/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiSelector.java b/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiSelector.java index 482a74d77493..9ba425ec2674 100644 --- a/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiSelector.java +++ b/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiSelector.java @@ -27,7 +27,10 @@ import java.util.regex.Pattern; * information. You can also target an element by its location in a layout * hierarchy. * @since API Level 16 + * @deprecated New tests should be written using UI Automator 2.0 which is available as part of the + * Android Testing Support Library. */ +@Deprecated public class UiSelector { static final int SELECTOR_NIL = 0; static final int SELECTOR_TEXT = 1; diff --git a/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiWatcher.java b/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiWatcher.java index 5403e30fcade..030fb0a32705 100644 --- a/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiWatcher.java +++ b/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiWatcher.java @@ -22,7 +22,10 @@ package com.android.uiautomator.core; * to locate its selector yet. Only during this time, the watchers are invoked to check if there is * something else unexpected on the screen. * @since API Level 16 + * @deprecated New tests should be written using UI Automator 2.0 which is available as part of the + * Android Testing Support Library. */ +@Deprecated public interface UiWatcher { /** diff --git a/cmds/uiautomator/library/testrunner-src/com/android/uiautomator/testrunner/IAutomationSupport.java b/cmds/uiautomator/library/testrunner-src/com/android/uiautomator/testrunner/IAutomationSupport.java index f0c60d2840c2..6d758444e880 100644 --- a/cmds/uiautomator/library/testrunner-src/com/android/uiautomator/testrunner/IAutomationSupport.java +++ b/cmds/uiautomator/library/testrunner-src/com/android/uiautomator/testrunner/IAutomationSupport.java @@ -22,7 +22,10 @@ import android.os.Bundle; * Provides auxiliary support for running test cases * * @since API Level 16 + * @deprecated New tests should be written using UI Automator 2.0 which is available as part of the + * Android Testing Support Library. */ +@Deprecated public interface IAutomationSupport { /** diff --git a/cmds/uiautomator/library/testrunner-src/com/android/uiautomator/testrunner/UiAutomatorTestCase.java b/cmds/uiautomator/library/testrunner-src/com/android/uiautomator/testrunner/UiAutomatorTestCase.java index e7d961b4d9d2..3d5476d04701 100644 --- a/cmds/uiautomator/library/testrunner-src/com/android/uiautomator/testrunner/UiAutomatorTestCase.java +++ b/cmds/uiautomator/library/testrunner-src/com/android/uiautomator/testrunner/UiAutomatorTestCase.java @@ -36,7 +36,10 @@ import java.util.List; * {@link UiDevice} instance * {@link Bundle} for command line parameters. * @since API Level 16 + * @deprecated New tests should be written using UI Automator 2.0 which is available as part of the + * Android Testing Support Library. */ +@Deprecated public class UiAutomatorTestCase extends TestCase { private static final String DISABLE_IME = "disable_ime"; diff --git a/core/java/android/animation/AnimatorSet.java b/core/java/android/animation/AnimatorSet.java index 8ff38bb8647b..7841d29b5700 100644 --- a/core/java/android/animation/AnimatorSet.java +++ b/core/java/android/animation/AnimatorSet.java @@ -465,20 +465,26 @@ public final class AnimatorSet extends Animator { /** * The amount of time, in milliseconds, to delay starting the animation after - * {@link #start()} is called. - + * {@link #start()} is called. Note that the start delay should always be non-negative. Any + * negative start delay will be clamped to 0 on N and above. + * * @param startDelay The amount of the delay, in milliseconds */ @Override public void setStartDelay(long startDelay) { - if (mStartDelay > 0) { - mReversible = false; + // Clamp start delay to non-negative range. + if (startDelay < 0) { + Log.w(TAG, "Start delay should always be non-negative"); + startDelay = 0; } long delta = startDelay - mStartDelay; if (delta == 0) { return; } mStartDelay = startDelay; + if (mStartDelay > 0) { + mReversible = false; + } if (!mDependencyDirty) { // Dependency graph already constructed, update all the nodes' start/end time int size = mNodes.size(); diff --git a/core/java/android/animation/ValueAnimator.java b/core/java/android/animation/ValueAnimator.java index 0a9b5ded8924..4edf249ce065 100644 --- a/core/java/android/animation/ValueAnimator.java +++ b/core/java/android/animation/ValueAnimator.java @@ -708,12 +708,18 @@ public class ValueAnimator extends Animator implements AnimationHandler.Animatio /** * The amount of time, in milliseconds, to delay starting the animation after - * {@link #start()} is called. - + * {@link #start()} is called. Note that the start delay should always be non-negative. Any + * negative start delay will be clamped to 0 on N and above. + * * @param startDelay The amount of the delay, in milliseconds */ @Override public void setStartDelay(long startDelay) { + // Clamp start delay to non-negative range. + if (startDelay < 0) { + Log.w(TAG, "Start delay should always be non-negative"); + startDelay = 0; + } mStartDelay = startDelay; } diff --git a/core/java/android/app/ActivityManagerNative.java b/core/java/android/app/ActivityManagerNative.java index 6ba6b0f07bc5..cd9a05b7bf0f 100644 --- a/core/java/android/app/ActivityManagerNative.java +++ b/core/java/android/app/ActivityManagerNative.java @@ -7015,6 +7015,7 @@ class ActivityManagerProxy implements IActivityManager data.writeInt(0); } mRemote.transact(SEND_INTENT_SENDER_TRANSACTION, data, reply, 0); + reply.readException(); final int res = reply.readInt(); data.recycle(); reply.recycle(); diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java index a30a60673aa3..30753c1632ff 100644 --- a/core/java/android/app/ActivityThread.java +++ b/core/java/android/app/ActivityThread.java @@ -62,6 +62,7 @@ import android.os.DropBoxManager; import android.os.Environment; import android.os.Handler; import android.os.IBinder; +import android.os.LocaleList; import android.os.Looper; import android.os.Message; import android.os.MessageQueue; @@ -130,6 +131,7 @@ import java.text.DateFormat; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.Objects; import java.util.TimeZone; @@ -4684,6 +4686,8 @@ public final class ActivityThread { + config); mResourcesManager.applyConfigurationToResourcesLocked(config, compat); + updateLocaleListFromAppContext(mInitialApplication.getApplicationContext(), + mResourcesManager.getConfiguration().getLocales()); if (mConfiguration == null) { mConfiguration = new Configuration(); @@ -4989,6 +4993,24 @@ public final class ActivityThread { return insInfo.nativeLibraryDir; } + /** + * The LocaleList set for the app's resources may have been shuffled so that the preferred + * Locale is at position 0. We must find the index of this preferred Locale in the + * original LocaleList. + */ + private void updateLocaleListFromAppContext(Context context, LocaleList newLocaleList) { + final Locale bestLocale = context.getResources().getConfiguration().getLocales().get(0); + final int newLocaleListSize = newLocaleList.size(); + for (int i = 0; i < newLocaleListSize; i++) { + if (bestLocale.equals(newLocaleList.get(i))) { + LocaleList.setDefault(newLocaleList, i); + return; + } + } + throw new AssertionError("chosen locale " + bestLocale + " must be present in LocaleList: " + + newLocaleList.toLanguageTags()); + } + private void handleBindApplication(AppBindData data) { // Register the UI Thread as a sensitive thread to the runtime. VMRuntime.registerSensitiveThread(); @@ -5047,6 +5069,24 @@ public final class ActivityThread { */ TimeZone.setDefault(null); + /* + * Set the LocaleList. This may change once we create the App Context. + */ + LocaleList.setDefault(data.config.getLocales()); + + synchronized (mResourcesManager) { + /* + * Update the system configuration since its preloaded and might not + * reflect configuration changes. The configuration object passed + * in AppBindData can be safely assumed to be up to date + */ + mResourcesManager.applyConfigurationToResourcesLocked(data.config, data.compatInfo); + mCurDefaultDisplayDpi = data.config.densityDpi; + + // This calls mResourcesManager so keep it within the synchronized block. + applyCompatConfiguration(mCurDefaultDisplayDpi); + } + data.info = getPackageInfoNoCheck(data.appInfo, data.compatInfo); /** @@ -5174,25 +5214,8 @@ public final class ActivityThread { } final ContextImpl appContext = ContextImpl.createAppContext(this, data.info); - synchronized (mResourcesManager) { - /* - * Initialize the default locales in this process for the reasons we set the time zone. - * - * We do this through ResourcesManager, since we need to do locale negotiation. - */ - mResourcesManager.setDefaultLocalesLocked(data.config.getLocales()); - - /* - * Update the system configuration since its preloaded and might not - * reflect configuration changes. The configuration object passed - * in AppBindData can be safely assumed to be up to date - */ - mResourcesManager.applyConfigurationToResourcesLocked(data.config, data.compatInfo); - mCurDefaultDisplayDpi = data.config.densityDpi; - - // This calls mResourcesManager so keep it within the synchronized block. - applyCompatConfiguration(mCurDefaultDisplayDpi); - } + updateLocaleListFromAppContext(appContext, + mResourcesManager.getConfiguration().getLocales()); if (!Process.isIsolated() && !"android".equals(appContext.getPackageName())) { // This cache location probably points at credential-encrypted @@ -5221,7 +5244,7 @@ public final class ActivityThread { // code is loaded to prevent issues with instances of TLS objects being created before // the provider is installed. Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "NetworkSecurityConfigProvider.install"); - NetworkSecurityConfigProvider.install(appContext); + NetworkSecurityConfigProvider.install(appContext, data.appInfo); Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); // Continue loading instrumentation. @@ -5895,6 +5918,9 @@ public final class ActivityThread { // immediately, because upon returning the view // hierarchy will be informed about it. if (mResourcesManager.applyConfigurationToResourcesLocked(newConfig, null)) { + updateLocaleListFromAppContext(mInitialApplication.getApplicationContext(), + mResourcesManager.getConfiguration().getLocales()); + // This actually changed the resources! Tell // everyone about it. if (mPendingConfiguration == null || diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java index bd94a17de402..0cc44e768dac 100644 --- a/core/java/android/app/Notification.java +++ b/core/java/android/app/Notification.java @@ -58,6 +58,7 @@ import android.util.SparseArray; import android.view.Gravity; import android.view.NotificationHeaderView; import android.view.View; +import android.view.ViewGroup; import android.widget.ProgressBar; import android.widget.RemoteViews; @@ -3106,6 +3107,11 @@ public class Notification implements Parcelable } private Drawable getProfileBadgeDrawable() { + if (mContext.getUserId() == UserHandle.USER_SYSTEM) { + // This user can never be a badged profile, + // and also includes USER_ALL system notifications. + return null; + } // Note: This assumes that the current user can read the profile badge of the // originating user. return mContext.getPackageManager().getUserBadgeForDensityNoBackground( @@ -3197,11 +3203,14 @@ public class Notification implements Parcelable bindNotificationHeader(contentView); bindLargeIcon(contentView); + boolean showProgress = handleProgressBar(hasProgress, contentView, ex); if (title != null) { contentView.setViewVisibility(R.id.title, View.VISIBLE); contentView.setTextViewText(R.id.title, title); + contentView.setViewLayoutWidth(R.id.title, showProgress + ? ViewGroup.LayoutParams.WRAP_CONTENT + : ViewGroup.LayoutParams.MATCH_PARENT); } - boolean showProgress = handleProgressBar(hasProgress, contentView, ex); if (text != null) { int textId = showProgress ? com.android.internal.R.id.text_line_1 : com.android.internal.R.id.text; @@ -4082,6 +4091,10 @@ public class Notification implements Parcelable public BigPictureStyle() { } + /** + * @deprecated use {@code BigPictureStyle()}. + */ + @Deprecated public BigPictureStyle(Builder builder) { setBuilder(builder); } @@ -4238,6 +4251,10 @@ public class Notification implements Parcelable public BigTextStyle() { } + /** + * @deprecated use {@code BigTextStyle()}. + */ + @Deprecated public BigTextStyle(Builder builder) { setBuilder(builder); } @@ -4780,6 +4797,10 @@ public class Notification implements Parcelable public InboxStyle() { } + /** + * @deprecated use {@code InboxStyle()}. + */ + @Deprecated public InboxStyle(Builder builder) { setBuilder(builder); } @@ -4952,6 +4973,10 @@ public class Notification implements Parcelable public MediaStyle() { } + /** + * @deprecated use {@code MediaStyle()}. + */ + @Deprecated public MediaStyle(Builder builder) { setBuilder(builder); } @@ -5159,10 +5184,6 @@ public class Notification implements Parcelable public DecoratedCustomViewStyle() { } - public DecoratedCustomViewStyle(Builder builder) { - setBuilder(builder); - } - /** * @hide */ @@ -5279,10 +5300,6 @@ public class Notification implements Parcelable public DecoratedMediaCustomViewStyle() { } - public DecoratedMediaCustomViewStyle(Builder builder) { - setBuilder(builder); - } - /** * @hide */ diff --git a/core/java/android/app/ResourcesManager.java b/core/java/android/app/ResourcesManager.java index b4e9db86d18c..25a8b66a42aa 100644 --- a/core/java/android/app/ResourcesManager.java +++ b/core/java/android/app/ResourcesManager.java @@ -67,10 +67,6 @@ public class ResourcesManager { } }; - private String[] mSystemLocales = null; - private final HashSet<String> mNonSystemLocales = new HashSet<>(); - private boolean mHasNonSystemLocales = false; - /** * The global compatibility settings. */ @@ -479,12 +475,7 @@ public class ResourcesManager { */ private Resources getOrCreateResources(@Nullable IBinder activityToken, @NonNull ResourcesKey key, @NonNull ClassLoader classLoader) { - final boolean findSystemLocales; - final boolean hasNonSystemLocales; synchronized (this) { - findSystemLocales = (mSystemLocales == null || mSystemLocales.length == 0); - hasNonSystemLocales = mHasNonSystemLocales; - if (DEBUG) { Throwable here = new Throwable(); here.fillInStackTrace(); @@ -538,24 +529,7 @@ public class ResourcesManager { // If we're here, we didn't find a suitable ResourcesImpl to use, so create one now. ResourcesImpl resourcesImpl = createResourcesImpl(key); - final String[] systemLocales = findSystemLocales - ? AssetManager.getSystem().getLocales() : null; - final String[] nonSystemLocales = resourcesImpl.getAssets().getNonSystemLocales(); - - // Avoid checking for non-pseudo-locales if we already know there were some from a previous - // Resources. The default value (for when hasNonSystemLocales is true) doesn't matter, - // since mHasNonSystemLocales will also be true, and thus isPseudoLocalesOnly would not be - // able to affect mHasNonSystemLocales. - final boolean isPseudoLocalesOnly = hasNonSystemLocales || - LocaleList.isPseudoLocalesOnly(nonSystemLocales); - synchronized (this) { - if (mSystemLocales == null || mSystemLocales.length == 0) { - mSystemLocales = systemLocales; - } - mNonSystemLocales.addAll(Arrays.asList(nonSystemLocales)); - mHasNonSystemLocales = mHasNonSystemLocales || !isPseudoLocalesOnly; - ResourcesImpl existingResourcesImpl = findResourcesImplForKeyLocked(key); if (existingResourcesImpl != null) { if (DEBUG) { @@ -745,23 +719,6 @@ public class ResourcesManager { } } - /* package */ void setDefaultLocalesLocked(@NonNull LocaleList locales) { - if (mSystemLocales == null) { - throw new RuntimeException("ResourcesManager is not ready to negotiate locales."); - } - final int bestLocale; - if (mHasNonSystemLocales) { - bestLocale = locales.getFirstMatchIndexWithEnglishSupported(mNonSystemLocales); - } else { - // We fallback to system locales if there was no locale specifically supported by the - // assets. This is to properly support apps that only rely on the shared system assets - // and don't need assets of their own. - bestLocale = locales.getFirstMatchIndexWithEnglishSupported(mSystemLocales); - } - // set it for Java, this also affects newly created Resources - LocaleList.setDefault(locales, bestLocale); - } - public final boolean applyConfigurationToResourcesLocked(@NonNull Configuration config, @Nullable CompatibilityInfo compat) { try { @@ -786,30 +743,7 @@ public class ResourcesManager { | ActivityInfo.CONFIG_SMALLEST_SCREEN_SIZE; } - Configuration localeAdjustedConfig = config; - final LocaleList configLocales = config.getLocales(); - if (!configLocales.isEmpty()) { - setDefaultLocalesLocked(configLocales); - final LocaleList adjustedLocales = LocaleList.getAdjustedDefault(); - if (adjustedLocales - != configLocales) { // has the same result as .equals() in this case - // The first locale in the list was not chosen. So we create a modified - // configuration with the adjusted locales (which moves the chosen locale to the - // front). - localeAdjustedConfig = new Configuration(); - localeAdjustedConfig.setTo(config); - localeAdjustedConfig.setLocales(adjustedLocales); - // Also adjust the locale list in mResConfiguration, so that the Resources - // created later would have the same locale list. - if (!mResConfiguration.getLocales().equals(adjustedLocales)) { - mResConfiguration.setLocales(adjustedLocales); - changes |= ActivityInfo.CONFIG_LOCALE; - } - } - } - - Resources.updateSystemConfiguration(localeAdjustedConfig, defaultDisplayMetrics, - compat); + Resources.updateSystemConfiguration(config, defaultDisplayMetrics, compat); ApplicationPackageManager.configurationChanged(); //Slog.i(TAG, "Configuration changed in " + currentPackageName()); @@ -821,7 +755,7 @@ public class ResourcesManager { ResourcesImpl r = mResourceImpls.valueAt(i).get(); if (r != null) { if (DEBUG || DEBUG_CONFIGURATION) Slog.v(TAG, "Changing resources " - + r + " config to: " + localeAdjustedConfig); + + r + " config to: " + config); int displayId = key.mDisplayId; boolean isDefaultDisplay = (displayId == Display.DEFAULT_DISPLAY); DisplayMetrics dm = defaultDisplayMetrics; @@ -830,7 +764,7 @@ public class ResourcesManager { if (tmpConfig == null) { tmpConfig = new Configuration(); } - tmpConfig.setTo(localeAdjustedConfig); + tmpConfig.setTo(config); if (!isDefaultDisplay) { dm = getDisplayMetrics(displayId); applyNonDefaultDisplayMetricsToConfiguration(dm, tmpConfig); @@ -840,7 +774,7 @@ public class ResourcesManager { } r.updateConfiguration(tmpConfig, dm, compat); } else { - r.updateConfiguration(localeAdjustedConfig, dm, compat); + r.updateConfiguration(config, dm, compat); } //Slog.i(TAG, "Updated app resources " + v.getKey() // + " " + r + ": " + r.getConfiguration()); diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java index a672d8097d3b..63afdd86bd93 100644 --- a/core/java/android/app/admin/DevicePolicyManager.java +++ b/core/java/android/app/admin/DevicePolicyManager.java @@ -2191,7 +2191,8 @@ public class DevicePolicyManager { * <em>Note: This API has been limited as of {@link android.os.Build.VERSION_CODES#N} for * device admins that are not device owner and not profile owner. * The password can now only be changed if there is currently no password set. Device owner - * and profile owner can still do this.</em> + * and profile owner can still do this when user is unlocked and does not have a managed + * profile.</em> * <p> * The given password must be sufficient for the current password quality and length constraints * as returned by {@link #getPasswordQuality(ComponentName)} and @@ -2217,6 +2218,7 @@ public class DevicePolicyManager { * current constraints or if the user has not been decrypted yet. * @throws SecurityException if the calling application does not own an active administrator * that uses {@link DeviceAdminInfo#USES_POLICY_RESET_PASSWORD} + * @throws IllegalStateException if the calling user is locked or has a managed profile. */ public boolean resetPassword(String password, int flags) { throwIfParentInstance("resetPassword"); diff --git a/core/java/android/appwidget/AppWidgetHostView.java b/core/java/android/appwidget/AppWidgetHostView.java index cd8f1260b590..bb5f7a1d606e 100644 --- a/core/java/android/appwidget/AppWidgetHostView.java +++ b/core/java/android/appwidget/AppWidgetHostView.java @@ -19,6 +19,7 @@ package android.appwidget; import android.content.ComponentName; import android.content.Context; import android.content.pm.ApplicationInfo; +import android.content.pm.LauncherApps; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.content.res.Resources; @@ -150,7 +151,7 @@ public class AppWidgetHostView extends FrameLayout { // We add padding to the AppWidgetHostView if necessary Rect padding = getDefaultPaddingForWidget(mContext, info.provider, null); setPadding(padding.left, padding.top, padding.right, padding.bottom); - setContentDescription(info.label); + updateContentDescription(info); } } @@ -459,6 +460,7 @@ public class AppWidgetHostView extends FrameLayout { } applyContent(content, recycled, exception); + updateContentDescription(mInfo); } private void applyContent(View content, boolean recycled, Exception exception) { @@ -493,6 +495,22 @@ public class AppWidgetHostView extends FrameLayout { } } + private void updateContentDescription(AppWidgetProviderInfo info) { + if (info != null) { + LauncherApps launcherApps = getContext().getSystemService(LauncherApps.class); + ApplicationInfo appInfo = launcherApps.getApplicationInfo( + info.provider.getPackageName(), 0, info.getProfile()); + if (appInfo != null && + (appInfo.flags & ApplicationInfo.FLAG_SUSPENDED) != 0) { + setContentDescription( + Resources.getSystem().getString( + com.android.internal.R.string.suspended_widget_accessibility, info.label)); + } else { + setContentDescription(info.label); + } + } + } + private void inflateAsync(RemoteViews remoteViews) { // Prepare a local reference to the remote Context so we're ready to // inflate any requested LayoutParams. diff --git a/core/java/android/bluetooth/BluetoothAdapter.java b/core/java/android/bluetooth/BluetoothAdapter.java index d036d96257ef..9390bcd13de3 100644 --- a/core/java/android/bluetooth/BluetoothAdapter.java +++ b/core/java/android/bluetooth/BluetoothAdapter.java @@ -57,6 +57,7 @@ import java.util.Map; import java.util.Set; import java.util.UUID; import java.util.concurrent.TimeoutException; +import java.util.concurrent.locks.ReentrantReadWriteLock; /** * Represents the local device Bluetooth adapter. The {@link BluetoothAdapter} @@ -483,6 +484,8 @@ public final class BluetoothAdapter { private final IBluetoothManager mManagerService; private IBluetooth mService; + private final ReentrantReadWriteLock mServiceLock = + new ReentrantReadWriteLock(); private final Object mLock = new Object(); private final Map<LeScanCallback, ScanCallback> mLeScanClients; @@ -517,8 +520,13 @@ public final class BluetoothAdapter { throw new IllegalArgumentException("bluetooth manager service is null"); } try { + mServiceLock.writeLock().lock(); mService = managerService.registerAdapter(mManagerCallback); - } catch (RemoteException e) {Log.e(TAG, "", e);} + } catch (RemoteException e) { + Log.e(TAG, "", e); + } finally { + mServiceLock.writeLock().unlock(); + } mManagerService = managerService; mLeScanClients = new HashMap<LeScanCallback, ScanCallback>(); mToken = new Binder(); @@ -605,10 +613,14 @@ public final class BluetoothAdapter { @RequiresPermission(Manifest.permission.BLUETOOTH) public boolean isEnabled() { try { - synchronized(mManagerCallback) { - if (mService != null) return mService.isEnabled(); - } - } catch (RemoteException e) {Log.e(TAG, "", e);} + mServiceLock.readLock().lock(); + if (mService != null) return mService.isEnabled(); + } catch (RemoteException e) { + Log.e(TAG, "", e); + } finally { + mServiceLock.readLock().unlock(); + } + return false; } @@ -639,12 +651,12 @@ public final class BluetoothAdapter { * or OFF if BT is in BLE_ON state */ private void notifyUserAction(boolean enable) { - if (mService == null) { - Log.e(TAG, "mService is null"); - return; - } - try { + mServiceLock.readLock().lock(); + if (mService == null) { + Log.e(TAG, "mService is null"); + return; + } if (enable) { mService.onLeServiceUp(); //NA:TODO implementation pending } else { @@ -652,6 +664,8 @@ public final class BluetoothAdapter { } } catch (RemoteException e) { Log.e(TAG, "", e); + } finally { + mServiceLock.readLock().unlock(); } } @@ -783,26 +797,28 @@ public final class BluetoothAdapter { @RequiresPermission(Manifest.permission.BLUETOOTH) @AdapterState public int getState() { + int state = BluetoothAdapter.STATE_OFF; + try { - synchronized(mManagerCallback) { - if (mService != null) - { - int state= mService.getState(); - if (VDBG) Log.d(TAG, "" + hashCode() + ": getState(). Returning " + state); - //consider all internal states as OFF - if (state == BluetoothAdapter.STATE_BLE_ON - || state == BluetoothAdapter.STATE_BLE_TURNING_ON - || state == BluetoothAdapter.STATE_BLE_TURNING_OFF) { - if (VDBG) Log.d(TAG, "Consider internal state as OFF"); - state = BluetoothAdapter.STATE_OFF; - } - return state; - } - // TODO(BT) there might be a small gap during STATE_TURNING_ON that - // mService is null, handle that case + mServiceLock.readLock().lock(); + if (mService != null) { + state = mService.getState(); } - } catch (RemoteException e) {Log.e(TAG, "", e);} - return STATE_OFF; + } catch (RemoteException e) { + Log.e(TAG, "", e); + } finally { + mServiceLock.readLock().unlock(); + } + + // Consider all internal states as OFF + if (state == BluetoothAdapter.STATE_BLE_ON + || state == BluetoothAdapter.STATE_BLE_TURNING_ON + || state == BluetoothAdapter.STATE_BLE_TURNING_OFF) { + if (VDBG) Log.d(TAG, "Consider internal state as OFF"); + state = BluetoothAdapter.STATE_OFF; + } + if (VDBG) Log.d(TAG, "" + hashCode() + ": getState(). Returning " + state); + return state; } /** @@ -825,19 +841,21 @@ public final class BluetoothAdapter { @RequiresPermission(Manifest.permission.BLUETOOTH) @AdapterState public int getLeState() { + int state = BluetoothAdapter.STATE_OFF; + try { - synchronized(mManagerCallback) { - if (mService != null) - { - int state= mService.getState(); - if (VDBG) Log.d(TAG,"getLeState() returning " + state); - return state; - } + mServiceLock.readLock().lock(); + if (mService != null) { + state = mService.getState(); } } catch (RemoteException e) { Log.e(TAG, "", e); + } finally { + mServiceLock.readLock().unlock(); } - return BluetoothAdapter.STATE_OFF; + + if (VDBG) Log.d(TAG,"getLeState() returning " + state); + return state; } boolean getLeAccess() { @@ -879,16 +897,21 @@ public final class BluetoothAdapter { */ @RequiresPermission(Manifest.permission.BLUETOOTH_ADMIN) public boolean enable() { - int state = STATE_OFF; - if (isEnabled() == true){ + int state = BluetoothAdapter.STATE_OFF; + if (isEnabled() == true) { if (DBG) Log.d(TAG, "enable(): BT is already enabled..!"); return true; } - //Use service interface to get the exact state - if (mService != null) { - try { - state = mService.getState(); - } catch (RemoteException e) {Log.e(TAG, "", e);} + // Use service interface to get the exact state + try { + mServiceLock.readLock().lock(); + if (mService != null) { + state = mService.getState(); + } + } catch (RemoteException e) { + Log.e(TAG, "", e); + } finally { + mServiceLock.readLock().unlock(); } if (state == BluetoothAdapter.STATE_BLE_ON) { @@ -993,10 +1016,13 @@ public final class BluetoothAdapter { */ public boolean configHciSnoopLog(boolean enable) { try { - synchronized(mManagerCallback) { - if (mService != null) return mService.configHciSnoopLog(enable); - } - } catch (RemoteException e) {Log.e(TAG, "", e);} + mServiceLock.readLock().lock(); + if (mService != null) return mService.configHciSnoopLog(enable); + } catch (RemoteException e) { + Log.e(TAG, "", e); + } finally { + mServiceLock.readLock().unlock(); + } return false; } @@ -1012,12 +1038,16 @@ public final class BluetoothAdapter { */ public boolean factoryReset() { try { + mServiceLock.readLock().lock(); if (mService != null) { return mService.factoryReset(); - } else { - SystemProperties.set("persist.bluetooth.factoryreset", "true"); } - } catch (RemoteException e) {Log.e(TAG, "", e);} + SystemProperties.set("persist.bluetooth.factoryreset", "true"); + } catch (RemoteException e) { + Log.e(TAG, "", e); + } finally { + mServiceLock.readLock().unlock(); + } return false; } @@ -1032,10 +1062,13 @@ public final class BluetoothAdapter { public ParcelUuid[] getUuids() { if (getState() != STATE_ON) return null; try { - synchronized(mManagerCallback) { - if (mService != null) return mService.getUuids(); - } - } catch (RemoteException e) {Log.e(TAG, "", e);} + mServiceLock.readLock().lock(); + if (mService != null) return mService.getUuids(); + } catch (RemoteException e) { + Log.e(TAG, "", e); + } finally { + mServiceLock.readLock().unlock(); + } return null; } @@ -1058,10 +1091,13 @@ public final class BluetoothAdapter { public boolean setName(String name) { if (getState() != STATE_ON) return false; try { - synchronized(mManagerCallback) { - if (mService != null) return mService.setName(name); - } - } catch (RemoteException e) {Log.e(TAG, "", e);} + mServiceLock.readLock().lock(); + if (mService != null) return mService.setName(name); + } catch (RemoteException e) { + Log.e(TAG, "", e); + } finally { + mServiceLock.readLock().unlock(); + } return false; } @@ -1086,10 +1122,13 @@ public final class BluetoothAdapter { public int getScanMode() { if (getState() != STATE_ON) return SCAN_MODE_NONE; try { - synchronized(mManagerCallback) { - if (mService != null) return mService.getScanMode(); - } - } catch (RemoteException e) {Log.e(TAG, "", e);} + mServiceLock.readLock().lock(); + if (mService != null) return mService.getScanMode(); + } catch (RemoteException e) { + Log.e(TAG, "", e); + } finally { + mServiceLock.readLock().unlock(); + } return SCAN_MODE_NONE; } @@ -1124,10 +1163,13 @@ public final class BluetoothAdapter { public boolean setScanMode(@ScanMode int mode, int duration) { if (getState() != STATE_ON) return false; try { - synchronized(mManagerCallback) { - if (mService != null) return mService.setScanMode(mode, duration); - } - } catch (RemoteException e) {Log.e(TAG, "", e);} + mServiceLock.readLock().lock(); + if (mService != null) return mService.setScanMode(mode, duration); + } catch (RemoteException e) { + Log.e(TAG, "", e); + } finally { + mServiceLock.readLock().unlock(); + } return false; } @@ -1142,10 +1184,13 @@ public final class BluetoothAdapter { public int getDiscoverableTimeout() { if (getState() != STATE_ON) return -1; try { - synchronized(mManagerCallback) { - if (mService != null) return mService.getDiscoverableTimeout(); - } - } catch (RemoteException e) {Log.e(TAG, "", e);} + mServiceLock.readLock().lock(); + if (mService != null) return mService.getDiscoverableTimeout(); + } catch (RemoteException e) { + Log.e(TAG, "", e); + } finally { + mServiceLock.readLock().unlock(); + } return -1; } @@ -1153,10 +1198,13 @@ public final class BluetoothAdapter { public void setDiscoverableTimeout(int timeout) { if (getState() != STATE_ON) return; try { - synchronized(mManagerCallback) { - if (mService != null) mService.setDiscoverableTimeout(timeout); - } - } catch (RemoteException e) {Log.e(TAG, "", e);} + mServiceLock.readLock().lock(); + if (mService != null) mService.setDiscoverableTimeout(timeout); + } catch (RemoteException e) { + Log.e(TAG, "", e); + } finally { + mServiceLock.readLock().unlock(); + } } /** @@ -1193,10 +1241,13 @@ public final class BluetoothAdapter { public boolean startDiscovery() { if (getState() != STATE_ON) return false; try { - synchronized(mManagerCallback) { - if (mService != null) return mService.startDiscovery(); - } - } catch (RemoteException e) {Log.e(TAG, "", e);} + mServiceLock.readLock().lock(); + if (mService != null) return mService.startDiscovery(); + } catch (RemoteException e) { + Log.e(TAG, "", e); + } finally { + mServiceLock.readLock().unlock(); + } return false; } @@ -1221,10 +1272,13 @@ public final class BluetoothAdapter { public boolean cancelDiscovery() { if (getState() != STATE_ON) return false; try { - synchronized(mManagerCallback) { - if (mService != null) return mService.cancelDiscovery(); - } - } catch (RemoteException e) {Log.e(TAG, "", e);} + mServiceLock.readLock().lock(); + if (mService != null) return mService.cancelDiscovery(); + } catch (RemoteException e) { + Log.e(TAG, "", e); + } finally { + mServiceLock.readLock().unlock(); + } return false; } @@ -1251,10 +1305,13 @@ public final class BluetoothAdapter { public boolean isDiscovering() { if (getState() != STATE_ON) return false; try { - synchronized(mManagerCallback) { - if (mService != null ) return mService.isDiscovering(); - } - } catch (RemoteException e) {Log.e(TAG, "", e);} + mServiceLock.readLock().lock(); + if (mService != null) return mService.isDiscovering(); + } catch (RemoteException e) { + Log.e(TAG, "", e); + } finally { + mServiceLock.readLock().unlock(); + } return false; } @@ -1266,9 +1323,12 @@ public final class BluetoothAdapter { public boolean isMultipleAdvertisementSupported() { if (getState() != STATE_ON) return false; try { - return mService.isMultiAdvertisementSupported(); + mServiceLock.readLock().lock(); + if (mService != null) return mService.isMultiAdvertisementSupported(); } catch (RemoteException e) { Log.e(TAG, "failed to get isMultipleAdvertisementSupported, error: ", e); + } finally { + mServiceLock.readLock().unlock(); } return false; } @@ -1301,9 +1361,12 @@ public final class BluetoothAdapter { public boolean isPeripheralModeSupported() { if (getState() != STATE_ON) return false; try { - return mService.isPeripheralModeSupported(); + mServiceLock.readLock().lock(); + if (mService != null) return mService.isPeripheralModeSupported(); } catch (RemoteException e) { Log.e(TAG, "failed to get peripheral mode capability: ", e); + } finally { + mServiceLock.readLock().unlock(); } return false; } @@ -1316,9 +1379,12 @@ public final class BluetoothAdapter { public boolean isOffloadedFilteringSupported() { if (!getLeAccess()) return false; try { - return mService.isOffloadedFilteringSupported(); + mServiceLock.readLock().lock(); + if (mService != null) return mService.isOffloadedFilteringSupported(); } catch (RemoteException e) { Log.e(TAG, "failed to get isOffloadedFilteringSupported, error: ", e); + } finally { + mServiceLock.readLock().unlock(); } return false; } @@ -1331,9 +1397,12 @@ public final class BluetoothAdapter { public boolean isOffloadedScanBatchingSupported() { if (!getLeAccess()) return false; try { - return mService.isOffloadedScanBatchingSupported(); + mServiceLock.readLock().lock(); + if (mService != null) return mService.isOffloadedScanBatchingSupported(); } catch (RemoteException e) { Log.e(TAG, "failed to get isOffloadedScanBatchingSupported, error: ", e); + } finally { + mServiceLock.readLock().unlock(); } return false; } @@ -1399,15 +1468,15 @@ public final class BluetoothAdapter { */ public void requestControllerActivityEnergyInfo(ResultReceiver result) { try { - synchronized(mManagerCallback) { - if (mService != null) { - mService.requestActivityInfo(result); - result = null; - } + mServiceLock.readLock().lock(); + if (mService != null) { + mService.requestActivityInfo(result); + result = null; } } catch (RemoteException e) { Log.e(TAG, "getControllerActivityEnergyInfoCallback: " + e); } finally { + mServiceLock.readLock().unlock(); if (result != null) { // Only send an immediate result if we failed. result.send(0, null); @@ -1432,11 +1501,14 @@ public final class BluetoothAdapter { return toDeviceSet(new BluetoothDevice[0]); } try { - synchronized(mManagerCallback) { - if (mService != null) return toDeviceSet(mService.getBondedDevices()); - } + mServiceLock.readLock().lock(); + if (mService != null) return toDeviceSet(mService.getBondedDevices()); return toDeviceSet(new BluetoothDevice[0]); - } catch (RemoteException e) {Log.e(TAG, "", e);} + } catch (RemoteException e) { + Log.e(TAG, "", e); + } finally { + mServiceLock.readLock().unlock(); + } return null; } @@ -1456,10 +1528,13 @@ public final class BluetoothAdapter { public int getConnectionState() { if (getState() != STATE_ON) return BluetoothAdapter.STATE_DISCONNECTED; try { - synchronized(mManagerCallback) { - if (mService != null) return mService.getAdapterConnectionState(); - } - } catch (RemoteException e) {Log.e(TAG, "getConnectionState:", e);} + mServiceLock.readLock().lock(); + if (mService != null) return mService.getAdapterConnectionState(); + } catch (RemoteException e) { + Log.e(TAG, "getConnectionState:", e); + } finally { + mServiceLock.readLock().unlock(); + } return BluetoothAdapter.STATE_DISCONNECTED; } @@ -1482,11 +1557,12 @@ public final class BluetoothAdapter { public int getProfileConnectionState(int profile) { if (getState() != STATE_ON) return BluetoothProfile.STATE_DISCONNECTED; try { - synchronized(mManagerCallback) { - if (mService != null) return mService.getProfileConnectionState(profile); - } + mServiceLock.readLock().lock(); + if (mService != null) return mService.getProfileConnectionState(profile); } catch (RemoteException e) { Log.e(TAG, "getProfileConnectionState:", e); + } finally { + mServiceLock.readLock().unlock(); } return BluetoothProfile.STATE_DISCONNECTED; } @@ -1790,7 +1866,9 @@ public final class BluetoothAdapter { byte[] hash; byte[] randomizer; - byte[] ret = mService.readOutOfBandData(); + byte[] ret = null; + mServiceLock.readLock().lock(); + if (mService != null) mService.readOutOfBandData(); if (ret == null || ret.length != 32) return null; @@ -1803,7 +1881,12 @@ public final class BluetoothAdapter { } return new Pair<byte[], byte[]>(hash, randomizer); - } catch (RemoteException e) {Log.e(TAG, "", e);}*/ + } catch (RemoteException e) { + Log.e(TAG, "", e); + } finally { + mServiceLock.readLock().unlock(); + } + */ return null; } @@ -1939,17 +2022,21 @@ public final class BluetoothAdapter { new IBluetoothManagerCallback.Stub() { public void onBluetoothServiceUp(IBluetooth bluetoothService) { if (VDBG) Log.d(TAG, "onBluetoothServiceUp: " + bluetoothService); - synchronized (mManagerCallback) { - mService = bluetoothService; - synchronized (mProxyServiceStateCallbacks) { - for (IBluetoothManagerCallback cb : mProxyServiceStateCallbacks ){ - try { - if (cb != null) { - cb.onBluetoothServiceUp(bluetoothService); - } else { - Log.d(TAG, "onBluetoothServiceUp: cb is null!!!"); - } - } catch (Exception e) { Log.e(TAG,"",e);} + + mServiceLock.writeLock().lock(); + mService = bluetoothService; + mServiceLock.writeLock().unlock(); + + synchronized (mProxyServiceStateCallbacks) { + for (IBluetoothManagerCallback cb : mProxyServiceStateCallbacks ) { + try { + if (cb != null) { + cb.onBluetoothServiceUp(bluetoothService); + } else { + Log.d(TAG, "onBluetoothServiceUp: cb is null!!!"); + } + } catch (Exception e) { + Log.e(TAG,"",e); } } } @@ -1957,20 +2044,27 @@ public final class BluetoothAdapter { public void onBluetoothServiceDown() { if (VDBG) Log.d(TAG, "onBluetoothServiceDown: " + mService); - synchronized (mManagerCallback) { + + try { + mServiceLock.writeLock().lock(); mService = null; if (mLeScanClients != null) mLeScanClients.clear(); if (sBluetoothLeAdvertiser != null) sBluetoothLeAdvertiser.cleanup(); if (sBluetoothLeScanner != null) sBluetoothLeScanner.cleanup(); - synchronized (mProxyServiceStateCallbacks) { - for (IBluetoothManagerCallback cb : mProxyServiceStateCallbacks ){ - try { - if (cb != null) { - cb.onBluetoothServiceDown(); - } else { - Log.d(TAG, "onBluetoothServiceDown: cb is null!!!"); - } - } catch (Exception e) { Log.e(TAG,"",e);} + } finally { + mServiceLock.writeLock().unlock(); + } + + synchronized (mProxyServiceStateCallbacks) { + for (IBluetoothManagerCallback cb : mProxyServiceStateCallbacks ){ + try { + if (cb != null) { + cb.onBluetoothServiceDown(); + } else { + Log.d(TAG, "onBluetoothServiceDown: cb is null!!!"); + } + } catch (Exception e) { + Log.e(TAG,"",e); } } } @@ -2033,11 +2127,17 @@ public final class BluetoothAdapter { //TODO(BT) /* try { - return mService.changeApplicationBluetoothState(on, new + mServiceLock.readLock().lock(); + if (mService != null) { + return mService.changeApplicationBluetoothState(on, new StateChangeCallbackWrapper(callback), new Binder()); + } } catch (RemoteException e) { Log.e(TAG, "changeBluetoothState", e); - }*/ + } finally { + mServiceLock.readLock().unlock(); + } + */ return false; } diff --git a/core/java/android/content/pm/ApplicationInfo.java b/core/java/android/content/pm/ApplicationInfo.java index 51a7be4c1a67..b7364e299784 100644 --- a/core/java/android/content/pm/ApplicationInfo.java +++ b/core/java/android/content/pm/ApplicationInfo.java @@ -764,6 +764,12 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { */ public int installLocation = PackageInfo.INSTALL_LOCATION_UNSPECIFIED; + /** + * Resource file providing the application's Network Security Config. + * @hide + */ + public int networkSecurityConfigRes; + public void dump(Printer pw, String prefix) { dump(pw, prefix, DUMP_FLAG_ALL); } @@ -835,6 +841,10 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { pw.println(prefix + "fullBackupContent=" + (fullBackupContent < 0 ? "false" : "true")); } + if (networkSecurityConfigRes != 0) { + pw.println(prefix + "networkSecurityConfigRes=0x" + + Integer.toHexString(networkSecurityConfigRes)); + } } super.dumpBack(pw, prefix); } @@ -921,6 +931,7 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { uiOptions = orig.uiOptions; backupAgentName = orig.backupAgentName; fullBackupContent = orig.fullBackupContent; + networkSecurityConfigRes = orig.networkSecurityConfigRes; } public String toString() { @@ -976,6 +987,7 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { dest.writeInt(descriptionRes); dest.writeInt(uiOptions); dest.writeInt(fullBackupContent); + dest.writeInt(networkSecurityConfigRes); } public static final Parcelable.Creator<ApplicationInfo> CREATOR @@ -1031,6 +1043,7 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { descriptionRes = source.readInt(); uiOptions = source.readInt(); fullBackupContent = source.readInt(); + networkSecurityConfigRes = source.readInt(); } /** diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java index de1284ec248f..adf9fe62c37e 100644 --- a/core/java/android/content/pm/PackageParser.java +++ b/core/java/android/content/pm/PackageParser.java @@ -2945,6 +2945,10 @@ public class PackageParser { ai.privateFlags |= PRIVATE_FLAG_RESIZEABLE_ACTIVITIES; } + ai.networkSecurityConfigRes = sa.getResourceId( + com.android.internal.R.styleable.AndroidManifestApplication_networkSecurityConfig, + 0); + String str; str = sa.getNonConfigurationString( com.android.internal.R.styleable.AndroidManifestApplication_permission, 0); diff --git a/core/java/android/content/res/Configuration.java b/core/java/android/content/res/Configuration.java index 29e5b5db5b69..f6445e6cd090 100644 --- a/core/java/android/content/res/Configuration.java +++ b/core/java/android/content/res/Configuration.java @@ -1446,7 +1446,7 @@ public final class Configuration implements Parcelable, Comparable<Configuration * * @return The locale list. */ - public LocaleList getLocales() { + public @NonNull LocaleList getLocales() { fixUpLocaleList(); return mLocaleList; } @@ -1485,6 +1485,16 @@ public final class Configuration implements Parcelable, Comparable<Configuration } /** + * @hide + * + * Clears the locale without changing layout direction. + */ + public void clearLocales() { + mLocaleList = LocaleList.getEmptyLocaleList(); + locale = null; + } + + /** * Return the layout direction. Will be either {@link View#LAYOUT_DIRECTION_LTR} or * {@link View#LAYOUT_DIRECTION_RTL}. * diff --git a/core/java/android/content/res/ResourcesImpl.java b/core/java/android/content/res/ResourcesImpl.java index dada61280c1e..32a27951677a 100644 --- a/core/java/android/content/res/ResourcesImpl.java +++ b/core/java/android/content/res/ResourcesImpl.java @@ -330,18 +330,43 @@ public class ResourcesImpl { // doing the conversion here. This impl should be okay because // we make sure to return a compatible display in the places // where there are public APIs to retrieve the display... but - // it would be cleaner and more maintainble to just be + // it would be cleaner and more maintainable to just be // consistently dealing with a compatible display everywhere in // the framework. mCompatibilityInfo.applyToDisplayMetrics(mMetrics); final @Config int configChanges = calcConfigChanges(config); + // If even after the update there are no Locales set, grab the default locales. LocaleList locales = mConfiguration.getLocales(); if (locales.isEmpty()) { - locales = LocaleList.getAdjustedDefault(); + locales = LocaleList.getDefault(); mConfiguration.setLocales(locales); } + + if ((configChanges & ActivityInfo.CONFIG_LOCALE) != 0) { + if (locales.size() > 1) { + // The LocaleList has changed. We must query the AssetManager's available + // Locales and figure out the best matching Locale in the new LocaleList. + String[] availableLocales = mAssets.getNonSystemLocales(); + if (LocaleList.isPseudoLocalesOnly(availableLocales)) { + // No app defined locales, so grab the system locales. + availableLocales = mAssets.getLocales(); + if (LocaleList.isPseudoLocalesOnly(availableLocales)) { + availableLocales = null; + } + } + + if (availableLocales != null) { + final Locale bestLocale = locales.getFirstMatchWithEnglishSupported( + availableLocales); + if (bestLocale != null && bestLocale != locales.get(0)) { + mConfiguration.setLocales(new LocaleList(bestLocale, locales)); + } + } + } + } + if (mConfiguration.densityDpi != Configuration.DENSITY_DPI_UNDEFINED) { mMetrics.densityDpi = mConfiguration.densityDpi; mMetrics.density = @@ -370,7 +395,7 @@ public class ResourcesImpl { } mAssets.setConfiguration(mConfiguration.mcc, mConfiguration.mnc, - adjustLanguageTag(locales.get(0).toLanguageTag()), + adjustLanguageTag(mConfiguration.getLocales().get(0).toLanguageTag()), mConfiguration.orientation, mConfiguration.touchscreen, mConfiguration.densityDpi, mConfiguration.keyboard, diff --git a/core/java/android/net/metrics/DefaultNetworkEvent.java b/core/java/android/net/metrics/DefaultNetworkEvent.java index 6138b83fe5b8..f8b59925cb91 100644 --- a/core/java/android/net/metrics/DefaultNetworkEvent.java +++ b/core/java/android/net/metrics/DefaultNetworkEvent.java @@ -68,8 +68,28 @@ public final class DefaultNetworkEvent extends IpConnectivityEvent implements Pa @Override public String toString() { - return String.format("DefaultNetworkEvent(%d -> %d, %s, IPv4: %b, IPv6: %b)", prevNetId, - netId, NetworkCapabilities.transportNamesOf(transportTypes), prevIPv4, prevIPv6); + String prevNetwork = String.valueOf(prevNetId); + String newNetwork = String.valueOf(netId); + if (prevNetId != 0) { + prevNetwork += ":" + ipSupport(); + } + if (netId != 0) { + newNetwork += ":" + NetworkCapabilities.transportNamesOf(transportTypes); + } + return String.format("DefaultNetworkEvent(%s -> %s)", prevNetwork, newNetwork); + } + + private String ipSupport() { + if (prevIPv4 && prevIPv6) { + return "DUAL"; + } + if (prevIPv6) { + return "IPv6"; + } + if (prevIPv4) { + return "IPv4"; + } + return "NONE"; } public static final Parcelable.Creator<DefaultNetworkEvent> CREATOR diff --git a/core/java/android/os/LocaleList.java b/core/java/android/os/LocaleList.java index 8136796574e0..2dc3bebb2d10 100644 --- a/core/java/android/os/LocaleList.java +++ b/core/java/android/os/LocaleList.java @@ -148,17 +148,6 @@ public final class LocaleList implements Parcelable { } /** - * It is almost always better to call {@link #getEmptyLocaleList()} instead which returns - * a pre-constructed empty locale list. - * - * @hide - */ - public LocaleList() { - mList = sEmptyList; - mStringRepresentation = ""; - } - - /** * Creates a new {@link LocaleList}. * * <p>For empty lists of {@link Locale} items it is better to use {@link #getEmptyLocaleList()}, @@ -409,6 +398,14 @@ public final class LocaleList implements Parcelable { } /** + * {@hide} + */ + public int getFirstMatchIndex(String[] supportedLocales) { + return computeFirstMatchIndex(Arrays.asList(supportedLocales), + false /* assume English is not supported */); + } + + /** * Same as getFirstMatch(), but with English assumed to be supported, even if it's not. * {@hide} */ @@ -437,7 +434,11 @@ public final class LocaleList implements Parcelable { * Assumes that there is no repetition in the input. * {@hide} */ - public static boolean isPseudoLocalesOnly(String[] supportedLocales) { + public static boolean isPseudoLocalesOnly(@Nullable String[] supportedLocales) { + if (supportedLocales == null) { + return true; + } + if (supportedLocales.length > NUM_PSEUDO_LOCALES + 1) { // This is for optimization. Since there's no repetition in the input, if we have more // than the number of pseudo-locales plus one for the empty string, it's guaranteed diff --git a/core/java/android/os/RecoverySystem.java b/core/java/android/os/RecoverySystem.java index 403e06ca8553..4abbf0efc81d 100644 --- a/core/java/android/os/RecoverySystem.java +++ b/core/java/android/os/RecoverySystem.java @@ -25,8 +25,10 @@ import android.text.TextUtils; import android.util.Log; import java.io.ByteArrayInputStream; +import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; +import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; @@ -45,6 +47,8 @@ import java.util.Locale; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; +import com.android.internal.logging.MetricsLogger; + import sun.security.pkcs.PKCS7; import sun.security.pkcs.SignerInfo; @@ -69,6 +73,7 @@ public class RecoverySystem { /** Used to communicate with recovery. See bootable/recovery/recovery.cpp. */ private static final File RECOVERY_DIR = new File("/cache/recovery"); private static final File LOG_FILE = new File(RECOVERY_DIR, "log"); + private static final File LAST_INSTALL_FILE = new File(RECOVERY_DIR, "last_install"); private static final String LAST_PREFIX = "last_"; /** @@ -682,13 +687,64 @@ public class RecoverySystem { } } + // Read last_install; then report time for update and I/O to tron. + // Only report on the reboots immediately after an OTA update. + private static void parseLastInstallLog(Context context) { + try (BufferedReader in = new BufferedReader(new FileReader(LAST_INSTALL_FILE))) { + String line = null; + int bytesWritten = -1, bytesStashed = -1; + int timeTotal = -1; + while ((line = in.readLine()) != null) { + // Here is an example of lines in last_install: + // ... + // time_total: 101 + // bytes_written_vendor: 51074 + // bytes_stashed_vendor: 200 + int numIndex = line.indexOf(':'); + if (numIndex == -1 || numIndex + 1 >= line.length()) { + continue; + } + String numString = line.substring(numIndex + 1).trim(); + int parsedNum; + try { + parsedNum = Integer.parseInt(numString); + } catch (NumberFormatException ignored) { + Log.e(TAG, "Failed to parse numbers in " + line); + continue; + } + + if (line.startsWith("time")) { + timeTotal = parsedNum; + } else if (line.startsWith("bytes_written")) { + bytesWritten = (bytesWritten == -1) ? parsedNum : bytesWritten + parsedNum; + } else if (line.startsWith("bytes_stashed")) { + bytesStashed = (bytesStashed == -1) ? parsedNum : bytesStashed + parsedNum; + } + } + + // Don't report data to tron if corresponding entry isn't found in last_install. + if (timeTotal != -1) { + MetricsLogger.histogram(context, "ota_time_total", timeTotal); + } + if (bytesWritten != -1) { + MetricsLogger.histogram(context, "ota_bytes_written", bytesWritten); + } + if (bytesStashed != -1) { + MetricsLogger.histogram(context, "ota_bytes_stashed", bytesStashed); + } + + } catch (IOException ignored) { + Log.e(TAG, "Failed to read lines in last_install", ignored); + } + } + /** * Called after booting to process and remove recovery-related files. * @return the log file from recovery, or null if none was found. * * @hide */ - public static String handleAftermath() { + public static String handleAftermath(Context context) { // Record the tail of the LOG_FILE String log = null; try { @@ -699,6 +755,10 @@ public class RecoverySystem { Log.e(TAG, "Error reading recovery log", e); } + if (log != null) { + parseLastInstallLog(context); + } + // Only remove the OTA package if it's partially processed (uncrypt'd). boolean reservePackage = BLOCK_MAP_FILE.exists(); if (!reservePackage && UNCRYPT_PACKAGE_FILE.exists()) { diff --git a/core/java/android/provider/BlockedNumberContract.java b/core/java/android/provider/BlockedNumberContract.java index 92a22d101193..fb11d00cec46 100644 --- a/core/java/android/provider/BlockedNumberContract.java +++ b/core/java/android/provider/BlockedNumberContract.java @@ -237,6 +237,8 @@ public class BlockedNumberContract { * * <p> Note that if the {@link #canCurrentUserBlockNumbers} is {@code false} for the user * context {@code context}, this method will throw a {@link SecurityException}. + * + * @return {@code true} if the {@code phoneNumber} is blocked. */ @WorkerThread public static boolean isBlocked(Context context, String phoneNumber) { @@ -248,8 +250,6 @@ public class BlockedNumberContract { /** * Unblocks the {@code phoneNumber} if it is blocked. * - * <p> Returns the number of rows deleted in the blocked number provider as a result of unblock. - * * <p> This deletes all rows where the {@code phoneNumber} matches the * {@link BlockedNumbers#COLUMN_ORIGINAL_NUMBER} column or the E164 representation of the * {@code phoneNumber} matches the {@link BlockedNumbers#COLUMN_E164_NUMBER} column. @@ -261,6 +261,8 @@ public class BlockedNumberContract { * * <p> Note that if the {@link #canCurrentUserBlockNumbers} is {@code false} for the user * context {@code context}, this method will throw a {@link SecurityException}. + * + * @return the number of rows deleted in the blocked number provider as a result of unblock. */ @WorkerThread public static int unblock(Context context, String phoneNumber) { @@ -270,8 +272,10 @@ public class BlockedNumberContract { } /** - * Returns {@code true} if blocking numbers is supported for the current user. + * Checks if blocking numbers is supported for the current user. * <p> Typically, blocking numbers is only supported for one user at a time. + * + * @return {@code true} if the current user can block numbers. */ public static boolean canCurrentUserBlockNumbers(Context context) { final Bundle res = context.getContentResolver().call( diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 66d487fd3105..cbe98f7cd6e5 100755 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -2241,7 +2241,7 @@ public final class Settings { public static void clearConfiguration(Configuration inoutConfig) { inoutConfig.fontScale = 0; if (!inoutConfig.userSetLocale && !inoutConfig.getLocales().isEmpty()) { - inoutConfig.setLocales(LocaleList.getEmptyLocaleList()); + inoutConfig.clearLocales(); } } @@ -3562,6 +3562,7 @@ public final class Settings { DTMF_TONE_TYPE_WHEN_DIALING, HEARING_AID, TTY_MODE, + MASTER_MONO, SOUND_EFFECTS_ENABLED, HAPTIC_FEEDBACK_ENABLED, POWER_SOUNDS_ENABLED, // moved to global diff --git a/core/java/android/provider/VoicemailContract.java b/core/java/android/provider/VoicemailContract.java index 8ee9d1eaf914..6a3cc0205f18 100644 --- a/core/java/android/provider/VoicemailContract.java +++ b/core/java/android/provider/VoicemailContract.java @@ -104,7 +104,7 @@ public class VoicemailContract { * Broadcast intent to request all voicemail sources to perform a sync with the remote server. */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) - public static final String ACTION_SYNC_VOICEMAIL = "android.intent.action.SYNC_VOICEMAIL"; + public static final String ACTION_SYNC_VOICEMAIL = "android.provider.action.SYNC_VOICEMAIL"; /** * Extra included in {@link Intent#ACTION_PROVIDER_CHANGED} broadcast intents to indicate if the @@ -514,14 +514,17 @@ public class VoicemailContract { /** * Amount of resource that is used by existing voicemail in the visual voicemail inbox, - * or {@link #QUOTA_UNAVAILABLE}. Unit is not specified. + * or {@link #QUOTA_UNAVAILABLE} if the quota has never been updated before. This value is + * used to inform the client the situation on the remote server. Unit is not specified. * <P>Type: INTEGER</P> */ public static final String QUOTA_OCCUPIED = "quota_occupied"; /** * Total resource in the visual voicemail inbox that can be used, or - * {@link #QUOTA_UNAVAILABLE}. Unit is not specified. + * {@link #QUOTA_UNAVAILABLE} if server either has unlimited quota or does not provide quota + * information. This value is used to inform the client the situation on the remote server. + * Unit is not specified. * <P>Type: INTEGER</P> */ public static final String QUOTA_TOTAL = "quota_total"; @@ -579,6 +582,8 @@ public class VoicemailContract { * @param accountHandle The handle for the account the source is associated with. * @param occupied See {@link Status#QUOTA_OCCUPIED} * @param total See {@link Status#QUOTA_TOTAL} + * + * @hide */ public static void setQuota(Context context, PhoneAccountHandle accountHandle, int occupied, int total) { diff --git a/core/java/android/security/NetworkSecurityPolicy.java b/core/java/android/security/NetworkSecurityPolicy.java index 9530acaea064..331063e2bfac 100644 --- a/core/java/android/security/NetworkSecurityPolicy.java +++ b/core/java/android/security/NetworkSecurityPolicy.java @@ -17,10 +17,7 @@ package android.security; import android.annotation.TestApi; -import android.content.Context; -import android.content.pm.PackageManager; import android.security.net.config.ApplicationConfig; -import android.security.net.config.ManifestConfigSource; /** * Network security policy. @@ -93,19 +90,6 @@ public class NetworkSecurityPolicy { libcore.net.NetworkSecurityPolicy.setInstance(policy); } - - /** - * Returns an {@link ApplicationConfig} based on the configuration for {@code packageName}. - * - * @hide - */ - public static ApplicationConfig getApplicationConfigForPackage(Context context, - String packageName) throws PackageManager.NameNotFoundException { - Context appContext = context.createPackageContext(packageName, 0); - ManifestConfigSource source = new ManifestConfigSource(appContext); - return new ApplicationConfig(source); - } - /** * Handle an update to the system or user certificate stores. * @hide diff --git a/core/java/android/security/net/config/ManifestConfigSource.java b/core/java/android/security/net/config/ManifestConfigSource.java index be0821c0c730..d59b5e35ac3c 100644 --- a/core/java/android/security/net/config/ManifestConfigSource.java +++ b/core/java/android/security/net/config/ManifestConfigSource.java @@ -18,25 +18,24 @@ package android.security.net.config; import android.content.Context; import android.content.pm.ApplicationInfo; -import android.content.pm.PackageManager; import android.util.Log; import android.util.Pair; import java.util.Set; /** @hide */ public class ManifestConfigSource implements ConfigSource { - public static final String META_DATA_NETWORK_SECURITY_CONFIG = - "android.security.net.config"; private static final boolean DBG = true; private static final String LOG_TAG = "NetworkSecurityConfig"; private final Object mLock = new Object(); private final Context mContext; + private final ApplicationInfo mInfo; private ConfigSource mConfigSource; - public ManifestConfigSource(Context context) { + public ManifestConfigSource(Context context, ApplicationInfo info) { mContext = context; + mInfo = info; } @Override @@ -54,22 +53,15 @@ public class ManifestConfigSource implements ConfigSource { if (mConfigSource != null) { return mConfigSource; } - ApplicationInfo info; - try { - info = mContext.getPackageManager().getApplicationInfo(mContext.getPackageName(), - PackageManager.GET_META_DATA); - } catch (PackageManager.NameNotFoundException e) { - throw new RuntimeException("Failed to look up ApplicationInfo", e); - } - int targetSdkVersion = info.targetSdkVersion; + int targetSdkVersion = mInfo.targetSdkVersion; int configResourceId = 0; - if (info != null && info.metaData != null) { - configResourceId = info.metaData.getInt(META_DATA_NETWORK_SECURITY_CONFIG); + if (mInfo != null) { + configResourceId = mInfo.networkSecurityConfigRes; } ConfigSource source; if (configResourceId != 0) { - boolean debugBuild = (info.flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0; + boolean debugBuild = (mInfo.flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0; if (DBG) { Log.d(LOG_TAG, "Using Network Security Config from resource " + mContext.getResources().getResourceEntryName(configResourceId) @@ -82,7 +74,7 @@ public class ManifestConfigSource implements ConfigSource { Log.d(LOG_TAG, "No Network Security Config specified, using platform default"); } boolean usesCleartextTraffic = - (info.flags & ApplicationInfo.FLAG_USES_CLEARTEXT_TRAFFIC) != 0; + (mInfo.flags & ApplicationInfo.FLAG_USES_CLEARTEXT_TRAFFIC) != 0; source = new DefaultConfigSource(usesCleartextTraffic, targetSdkVersion); } mConfigSource = source; diff --git a/core/java/android/security/net/config/NetworkSecurityConfigProvider.java b/core/java/android/security/net/config/NetworkSecurityConfigProvider.java index 0f6687341395..4c51cc365a7a 100644 --- a/core/java/android/security/net/config/NetworkSecurityConfigProvider.java +++ b/core/java/android/security/net/config/NetworkSecurityConfigProvider.java @@ -17,6 +17,7 @@ package android.security.net.config; import android.content.Context; +import android.content.pm.ApplicationInfo; import java.security.Security; import java.security.Provider; @@ -32,8 +33,8 @@ public final class NetworkSecurityConfigProvider extends Provider { put("Alg.Alias.TrustManagerFactory.X509", "PKIX"); } - public static void install(Context context) { - ApplicationConfig config = new ApplicationConfig(new ManifestConfigSource(context)); + public static void install(Context context, ApplicationInfo info) { + ApplicationConfig config = new ApplicationConfig(new ManifestConfigSource(context, info)); ApplicationConfig.setDefaultInstance(config); int pos = Security.insertProviderAt(new NetworkSecurityConfigProvider(), 1); if (pos != 1) { diff --git a/core/java/android/service/notification/Condition.java b/core/java/android/service/notification/Condition.java index 0163b47f2ba7..447afe62fd1a 100644 --- a/core/java/android/service/notification/Condition.java +++ b/core/java/android/service/notification/Condition.java @@ -33,7 +33,7 @@ import java.util.Objects; * {@link ConditionProviderService} that owns the rule. Used to tell the system to enter Do Not * Disturb mode and request that the system exit Do Not Disturb mode. */ -public class Condition implements Parcelable { +public final class Condition implements Parcelable { @SystemApi public static final String SCHEME = "condition"; diff --git a/core/java/android/service/notification/ConditionProviderService.java b/core/java/android/service/notification/ConditionProviderService.java index 44c3887ec35d..9d4b0a4057b3 100644 --- a/core/java/android/service/notification/ConditionProviderService.java +++ b/core/java/android/service/notification/ConditionProviderService.java @@ -95,7 +95,7 @@ public abstract class ConditionProviderService extends Service { /** * A String rule id extra passed to {@link #META_DATA_CONFIGURATION_ACTIVITY}. */ - public static final String EXTRA_RULE_ID = "android.content.automatic.ruleId"; + public static final String EXTRA_RULE_ID = "android.service.notification.extra.RULE_ID"; /** * Called when this service is connected. diff --git a/core/java/android/service/notification/NotificationListenerService.java b/core/java/android/service/notification/NotificationListenerService.java index 25fe4ffaa471..1557a2718b55 100644 --- a/core/java/android/service/notification/NotificationListenerService.java +++ b/core/java/android/service/notification/NotificationListenerService.java @@ -790,11 +790,14 @@ public abstract class NotificationListenerService extends Service { * <p>This method will fail for listeners that have * not been granted the permission by the user. */ - public static void requestRebind(ComponentName componentName) - throws RemoteException { + public static void requestRebind(ComponentName componentName) { INotificationManager noMan = INotificationManager.Stub.asInterface( ServiceManager.getService(Context.NOTIFICATION_SERVICE)); - noMan.requestBindListener(componentName); + try { + noMan.requestBindListener(componentName); + } catch (RemoteException ex) { + throw ex.rethrowFromSystemServer(); + } } /** @@ -807,12 +810,16 @@ public abstract class NotificationListenerService extends Service { * <p>The service should wait for the {@link #onListenerConnected()} event * before performing this operation. I know it's tempting, but you must wait. */ - public final void requestUnbind() throws RemoteException { + public final void requestUnbind() { if (mWrapper != null) { INotificationManager noMan = getNotificationInterface(); - noMan.requestUnbindListener(mWrapper); - // Disable future messages. - isConnected = false; + try { + noMan.requestUnbindListener(mWrapper); + // Disable future messages. + isConnected = false; + } catch (RemoteException ex) { + throw ex.rethrowFromSystemServer(); + } } } diff --git a/core/java/android/util/SparseArray.java b/core/java/android/util/SparseArray.java index dc965edd7fad..34e6f04f0404 100644 --- a/core/java/android/util/SparseArray.java +++ b/core/java/android/util/SparseArray.java @@ -160,6 +160,9 @@ public class SparseArray<E> implements Cloneable { /** * Removes the mapping at the specified index. + * + * <p>For indices outside of the range <code>0...size()-1</code>, + * the behavior is undefined.</p> */ public void removeAt(int index) { if (mValues[index] != DELETED) { @@ -173,6 +176,9 @@ public class SparseArray<E> implements Cloneable { * * @param index Index to begin at * @param size Number of mappings to remove + * + * <p>For indices outside of the range <code>0...size()-1</code>, + * the behavior is undefined.</p> */ public void removeAtRange(int index, int size) { final int end = Math.min(mSize, index + size); @@ -262,6 +268,9 @@ public class SparseArray<E> implements Cloneable { * be in ascending order, e.g., <code>keyAt(0)</code> will return the * smallest key and <code>keyAt(size()-1)</code> will return the largest * key.</p> + * + * <p>For indices outside of the range <code>0...size()-1</code>, + * the behavior is undefined.</p> */ public int keyAt(int index) { if (mGarbage) { @@ -281,6 +290,9 @@ public class SparseArray<E> implements Cloneable { * <code>valueAt(0)</code> will return the value associated with the * smallest key and <code>valueAt(size()-1)</code> will return the value * associated with the largest key.</p> + * + * <p>For indices outside of the range <code>0...size()-1</code>, + * the behavior is undefined.</p> */ @SuppressWarnings("unchecked") public E valueAt(int index) { @@ -295,6 +307,8 @@ public class SparseArray<E> implements Cloneable { * Given an index in the range <code>0...size()-1</code>, sets a new * value for the <code>index</code>th key-value mapping that this * SparseArray stores. + * + * <p>For indices outside of the range <code>0...size()-1</code>, the behavior is undefined.</p> */ public void setValueAt(int index, E value) { if (mGarbage) { diff --git a/core/java/android/view/NotificationHeaderView.java b/core/java/android/view/NotificationHeaderView.java index 37da8695a1ad..6e6baeadd45d 100644 --- a/core/java/android/view/NotificationHeaderView.java +++ b/core/java/android/view/NotificationHeaderView.java @@ -18,7 +18,11 @@ package android.view; import android.annotation.Nullable; import android.content.Context; +import android.graphics.Canvas; +import android.graphics.Outline; import android.graphics.Rect; +import android.graphics.drawable.ColorDrawable; +import android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.widget.ImageView; import android.widget.RemoteViews; @@ -47,6 +51,18 @@ public class NotificationHeaderView extends ViewGroup { private int mOriginalNotificationColor; private boolean mExpanded; private boolean mShowWorkBadgeAtEnd; + private Drawable mBackground; + private int mHeaderBackgroundHeight; + + ViewOutlineProvider mProvider = new ViewOutlineProvider() { + @Override + public void getOutline(View view, Outline outline) { + if (mBackground != null) { + outline.setRect(0, 0, getWidth(), mHeaderBackgroundHeight); + outline.setAlpha(1f); + } + } + }; public NotificationHeaderView(Context context) { this(context, null); @@ -66,6 +82,8 @@ public class NotificationHeaderView extends ViewGroup { com.android.internal.R.dimen.notification_header_shrink_min_width); mContentEndMargin = getResources().getDimensionPixelSize( com.android.internal.R.dimen.notification_content_margin_end); + mHeaderBackgroundHeight = getResources().getDimensionPixelSize( + com.android.internal.R.dimen.notification_header_background_height); } @Override @@ -165,6 +183,43 @@ public class NotificationHeaderView extends ViewGroup { return new ViewGroup.MarginLayoutParams(getContext(), attrs); } + /** + * Set a {@link Drawable} to be displayed as a background on the header. + */ + public void setHeaderBackgroundDrawable(Drawable drawable) { + if (drawable != null) { + setWillNotDraw(false); + mBackground = drawable; + mBackground.setCallback(this); + setOutlineProvider(mProvider); + } else { + setWillNotDraw(true); + mBackground = null; + setOutlineProvider(null); + } + invalidate(); + } + + @Override + protected void onDraw(Canvas canvas) { + if (mBackground != null) { + mBackground.setBounds(0, 0, getWidth(), mHeaderBackgroundHeight); + mBackground.draw(canvas); + } + } + + @Override + protected boolean verifyDrawable(Drawable who) { + return super.verifyDrawable(who) || who == mBackground; + } + + @Override + protected void drawableStateChanged() { + if (mBackground != null && mBackground.isStateful()) { + mBackground.setState(getDrawableState()); + } + } + private void updateTouchListener() { if (mExpandClickListener != null) { mTouchListener.bindTouchRects(); diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index 2269282a5771..f1f4964b7b60 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -5698,6 +5698,18 @@ public class View implements Drawable.Callback, KeyEvent.Callback, /** * Call this view's OnContextClickListener, if it is defined. * + * @param x the x coordinate of the context click + * @param y the y coordinate of the context click + * @return True if there was an assigned OnContextClickListener that consumed the event, false + * otherwise. + */ + public boolean performContextClick(float x, float y) { + return performContextClick(); + } + + /** + * Call this view's OnContextClickListener, if it is defined. + * * @return True if there was an assigned OnContextClickListener that consumed the event, false * otherwise. */ @@ -10044,7 +10056,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, if (isContextClickable() && !mInContextButtonPress && !mHasPerformedLongPress && (actionButton == MotionEvent.BUTTON_STYLUS_PRIMARY || actionButton == MotionEvent.BUTTON_SECONDARY)) { - if (performContextClick()) { + if (performContextClick(event.getX(), event.getY())) { mInContextButtonPress = true; setPressed(true, event.getX(), event.getY()); removeTapCallback(); diff --git a/core/java/android/view/accessibility/AccessibilityCache.java b/core/java/android/view/accessibility/AccessibilityCache.java index 1da305f09f54..28e31c4c7aa8 100644 --- a/core/java/android/view/accessibility/AccessibilityCache.java +++ b/core/java/android/view/accessibility/AccessibilityCache.java @@ -221,8 +221,11 @@ final class AccessibilityCache { sortedWindows.put(window.getLayer(), window); } - List<AccessibilityWindowInfo> windows = new ArrayList<>(windowCount); - for (int i = windowCount - 1; i >= 0; i--) { + // It's possible in transient conditions for two windows to share the same + // layer, which results in sortedWindows being smaller than mWindowCache + final int sortedWindowCount = sortedWindows.size(); + List<AccessibilityWindowInfo> windows = new ArrayList<>(sortedWindowCount); + for (int i = sortedWindowCount - 1; i >= 0; i--) { AccessibilityWindowInfo window = sortedWindows.valueAt(i); windows.add(AccessibilityWindowInfo.obtain(window)); sortedWindows.removeAt(i); diff --git a/core/java/android/view/inputmethod/InputMethodManager.java b/core/java/android/view/inputmethod/InputMethodManager.java index 1618758929ef..4013b30fce06 100644 --- a/core/java/android/view/inputmethod/InputMethodManager.java +++ b/core/java/android/view/inputmethod/InputMethodManager.java @@ -1277,6 +1277,28 @@ public final class InputMethodManager { return true; } } + } else { + if (startInputReason + == InputMethodClient.START_INPUT_REASON_WINDOW_FOCUS_GAIN) { + // We are here probably because of an obsolete window-focus-in message sent + // to windowGainingFocus. Since IMMS determines whether a Window can have + // IME focus or not by using the latest window focus state maintained in the + // WMS, this kind of race condition cannot be avoided. One obvious example + // would be that we have already received a window-focus-out message but the + // UI thread is still handling previous window-focus-in message here. + // TODO: InputBindResult should have the error code. + if (DEBUG) Log.w(TAG, "startInputOrWindowGainedFocus failed. " + + "Window focus may have already been lost. " + + "win=" + windowGainingFocus + " view=" + dumpViewInfo(view)); + if (!mActive) { + // mHasBeenInactive is a latch switch to forcefully refresh IME focus + // state when an inactive (mActive == false) client is gaining window + // focus. In case we have unnecessary disable the latch due to this + // spurious wakeup, we re-enable the latch here. + // TODO: Come up with more robust solution. + mHasBeenInactive = true; + } + } } if (mCurMethod != null && mCompletions != null) { try { diff --git a/core/java/android/webkit/WebViewFactory.java b/core/java/android/webkit/WebViewFactory.java index 5db0f1659871..2d1e0bd30590 100644 --- a/core/java/android/webkit/WebViewFactory.java +++ b/core/java/android/webkit/WebViewFactory.java @@ -142,13 +142,17 @@ public final class WebViewFactory { public static int loadWebViewNativeLibraryFromPackage(String packageName, ClassLoader clazzLoader) { int ret = waitForProviderAndSetPackageInfo(); - if (ret != LIBLOAD_SUCCESS) { + if (ret != LIBLOAD_SUCCESS && ret != LIBLOAD_FAILED_WAITING_FOR_RELRO) { return ret; } if (!sPackageInfo.packageName.equals(packageName)) return LIBLOAD_WRONG_PACKAGE_NAME; - return loadNativeLibrary(clazzLoader); + int loadNativeRet = loadNativeLibrary(clazzLoader); + // If we failed waiting for relro we want to return that fact even if we successfully load + // the relro file. + if (loadNativeRet == LIBLOAD_SUCCESS) return ret; + return loadNativeRet; } static WebViewFactoryProvider getProvider() { @@ -240,7 +244,8 @@ public final class WebViewFactory { } finally { Trace.traceEnd(Trace.TRACE_TAG_WEBVIEW); } - if (response.status != LIBLOAD_SUCCESS) { + if (response.status != LIBLOAD_SUCCESS + && response.status != LIBLOAD_FAILED_WAITING_FOR_RELRO) { throw new MissingWebViewPackageException("Failed to load WebView provider: " + getWebViewPreparationErrorReason(response.status)); } @@ -599,8 +604,10 @@ public final class WebViewFactory { try { response = getUpdateService().waitForAndGetProvider(); - if (response.status == WebViewFactory.LIBLOAD_SUCCESS) + if (response.status == LIBLOAD_SUCCESS + || response.status == LIBLOAD_FAILED_WAITING_FOR_RELRO) { sPackageInfo = response.packageInfo; + } } catch (RemoteException e) { Log.e(LOGTAG, "error waiting for relro creation", e); return LIBLOAD_FAILED_WAITING_FOR_WEBVIEW_REASON_UNKNOWN; diff --git a/core/java/android/widget/CalendarView.java b/core/java/android/widget/CalendarView.java index 66896ab70e45..ac44033c21c6 100644 --- a/core/java/android/widget/CalendarView.java +++ b/core/java/android/widget/CalendarView.java @@ -16,6 +16,8 @@ package android.widget; +import com.android.internal.R; + import android.annotation.AttrRes; import android.annotation.ColorInt; import android.annotation.DrawableRes; @@ -27,17 +29,16 @@ import android.content.Context; import android.content.res.Configuration; import android.content.res.TypedArray; import android.graphics.drawable.Drawable; +import android.icu.util.Calendar; +import android.icu.util.TimeZone; import android.util.AttributeSet; import android.util.Log; -import com.android.internal.R; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.Calendar; import java.util.Date; import java.util.Locale; -import java.util.TimeZone; /** * This class is a calendar widget for displaying and selecting dates. The diff --git a/core/java/android/widget/CalendarViewLegacyDelegate.java b/core/java/android/widget/CalendarViewLegacyDelegate.java index f540479ad641..2b91713e3fed 100644 --- a/core/java/android/widget/CalendarViewLegacyDelegate.java +++ b/core/java/android/widget/CalendarViewLegacyDelegate.java @@ -27,6 +27,7 @@ import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.Rect; import android.graphics.drawable.Drawable; +import android.icu.util.Calendar; import android.text.format.DateUtils; import android.util.AttributeSet; import android.util.DisplayMetrics; @@ -37,7 +38,6 @@ import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; -import java.util.Calendar; import java.util.Locale; import libcore.icu.LocaleData; diff --git a/core/java/android/widget/CalendarViewMaterialDelegate.java b/core/java/android/widget/CalendarViewMaterialDelegate.java index 0ed75d5f7a42..07b20007f8fa 100644 --- a/core/java/android/widget/CalendarViewMaterialDelegate.java +++ b/core/java/android/widget/CalendarViewMaterialDelegate.java @@ -18,11 +18,10 @@ package android.widget; import android.annotation.StyleRes; import android.content.Context; +import android.icu.util.Calendar; import android.util.AttributeSet; import android.widget.DayPickerView.OnDaySelectedListener; -import java.util.Calendar; - class CalendarViewMaterialDelegate extends CalendarView.AbstractCalendarViewDelegate { private final DayPickerView mDayPickerView; diff --git a/core/java/android/widget/DatePicker.java b/core/java/android/widget/DatePicker.java index 0c5edc5f2f81..8613f9989abc 100644 --- a/core/java/android/widget/DatePicker.java +++ b/core/java/android/widget/DatePicker.java @@ -16,11 +16,15 @@ package android.widget; +import com.android.internal.R; + import android.annotation.Nullable; import android.annotation.Widget; import android.content.Context; import android.content.res.Configuration; import android.content.res.TypedArray; +import android.icu.util.Calendar; +import android.icu.util.TimeZone; import android.os.Parcel; import android.os.Parcelable; import android.util.AttributeSet; @@ -28,11 +32,7 @@ import android.util.SparseArray; import android.view.View; import android.view.accessibility.AccessibilityEvent; -import com.android.internal.R; - -import java.util.Calendar; import java.util.Locale; -import java.util.TimeZone; /** * Provides a widget for selecting a date. diff --git a/core/java/android/widget/DatePickerCalendarDelegate.java b/core/java/android/widget/DatePickerCalendarDelegate.java index 0a23b34b9195..2c80f2811cac 100755 --- a/core/java/android/widget/DatePickerCalendarDelegate.java +++ b/core/java/android/widget/DatePickerCalendarDelegate.java @@ -26,6 +26,7 @@ import android.content.res.Resources; import android.content.res.TypedArray; import android.icu.text.DisplayContext; import android.icu.text.SimpleDateFormat; +import android.icu.util.Calendar; import android.os.Parcelable; import android.text.format.DateFormat; import android.text.format.DateUtils; @@ -40,7 +41,6 @@ import android.view.accessibility.AccessibilityEvent; import android.widget.DayPickerView.OnDaySelectedListener; import android.widget.YearPickerView.OnYearSelectedListener; -import java.util.Calendar; import java.util.Locale; /** diff --git a/core/java/android/widget/DatePickerSpinnerDelegate.java b/core/java/android/widget/DatePickerSpinnerDelegate.java index d8a3c5638b72..17af014c5119 100644 --- a/core/java/android/widget/DatePickerSpinnerDelegate.java +++ b/core/java/android/widget/DatePickerSpinnerDelegate.java @@ -19,6 +19,7 @@ package android.widget; import android.content.Context; import android.content.res.Configuration; import android.content.res.TypedArray; +import android.icu.util.Calendar; import android.os.Parcelable; import android.text.InputType; import android.text.TextUtils; @@ -37,7 +38,6 @@ import java.text.DateFormatSymbols; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Arrays; -import java.util.Calendar; import java.util.Locale; import libcore.icu.ICU; diff --git a/core/java/android/widget/DayPickerPagerAdapter.java b/core/java/android/widget/DayPickerPagerAdapter.java index 97936e7c7c5b..9f02b4485dc0 100644 --- a/core/java/android/widget/DayPickerPagerAdapter.java +++ b/core/java/android/widget/DayPickerPagerAdapter.java @@ -25,14 +25,13 @@ import android.annotation.Nullable; import android.content.Context; import android.content.res.ColorStateList; import android.content.res.TypedArray; +import android.icu.util.Calendar; import android.util.SparseArray; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.SimpleMonthView.OnDayClickListener; -import java.util.Calendar; - /** * An adapter for a list of {@link android.widget.SimpleMonthView} items. */ diff --git a/core/java/android/widget/DayPickerView.java b/core/java/android/widget/DayPickerView.java index dc772fbf63dc..ab89c1f0b534 100644 --- a/core/java/android/widget/DayPickerView.java +++ b/core/java/android/widget/DayPickerView.java @@ -24,6 +24,7 @@ import android.annotation.Nullable; import android.content.Context; import android.content.res.ColorStateList; import android.content.res.TypedArray; +import android.icu.util.Calendar; import android.util.AttributeSet; import android.util.MathUtils; import android.view.LayoutInflater; @@ -31,7 +32,6 @@ import android.view.View; import android.view.ViewGroup; import android.view.accessibility.AccessibilityManager; -import java.util.Calendar; import java.util.Locale; import libcore.icu.LocaleData; diff --git a/core/java/android/widget/Editor.java b/core/java/android/widget/Editor.java index 622567c83617..15bba3a68987 100644 --- a/core/java/android/widget/Editor.java +++ b/core/java/android/widget/Editor.java @@ -76,6 +76,7 @@ import android.util.SparseArray; import android.view.ActionMode; import android.view.ActionMode.Callback; import android.view.ContextMenu; +import android.view.ContextThemeWrapper; import android.view.DisplayListCanvas; import android.view.DragAndDropPermissions; import android.view.DragEvent; @@ -3004,8 +3005,16 @@ public class Editor { protected abstract int getTextOffset(); protected abstract int getVerticalLocalPosition(int line); protected abstract int clipVertically(int positionY); + protected void setUp() { + } public PinnedPopupWindow() { + // Due to calling subclass methods in base constructor, subclass constructor is not + // called before subclass methods, e.g. createPopupWindow or initContentView. To give + // a chance to initialize subclasses, call setUp() method here. + // TODO: It is good to extract non trivial initialization code from constructor. + setUp(); + createPopupWindow(); mPopupWindow.setWindowLayoutType( @@ -3267,8 +3276,7 @@ public class Editor { private boolean mCursorWasVisibleBeforeSuggestions; private boolean mIsShowingUp = false; private SuggestionAdapter mSuggestionsAdapter; - private final TextAppearanceSpan mHighlightSpan = new TextAppearanceSpan( - mTextView.getContext(), mTextView.mTextEditSuggestionHighlightStyle); + private TextAppearanceSpan mHighlightSpan; // TODO: Make mHighlightSpan final. private TextView mAddToDictionaryButton; private TextView mDeleteButton; private ListView mSuggestionListView; @@ -3276,8 +3284,10 @@ public class Editor { private int mContainerMarginWidth; private int mContainerMarginTop; private LinearLayout mContainerView; + private Context mContext; // TODO: Make mContext final. private class CustomPopupWindow extends PopupWindow { + @Override public void dismiss() { if (!isShowing()) { @@ -3301,6 +3311,23 @@ public class Editor { } @Override + protected void setUp() { + mContext = applyDefaultTheme(mTextView.getContext()); + mHighlightSpan = new TextAppearanceSpan(mContext, + mTextView.mTextEditSuggestionHighlightStyle); + } + + private Context applyDefaultTheme(Context originalContext) { + TypedArray a = originalContext.obtainStyledAttributes( + new int[]{com.android.internal.R.attr.isLightTheme}); + boolean isLightTheme = a.getBoolean(0, true); + int themeId = isLightTheme ? R.style.ThemeOverlay_Material_Light + : R.style.ThemeOverlay_Material_Dark; + a.recycle(); + return new ContextThemeWrapper(originalContext, themeId); + } + + @Override protected void createPopupWindow() { mPopupWindow = new CustomPopupWindow(); mPopupWindow.setInputMethodMode(PopupWindow.INPUT_METHOD_NOT_NEEDED); @@ -3311,8 +3338,8 @@ public class Editor { @Override protected void initContentView() { - final LayoutInflater inflater = (LayoutInflater) mTextView.getContext(). - getSystemService(Context.LAYOUT_INFLATER_SERVICE); + final LayoutInflater inflater = (LayoutInflater) mContext.getSystemService( + Context.LAYOUT_INFLATER_SERVICE); mContentView = (ViewGroup) inflater.inflate( mTextView.mTextEditSuggestionContainerLayout, null); @@ -3405,8 +3432,8 @@ public class Editor { } private class SuggestionAdapter extends BaseAdapter { - private LayoutInflater mInflater = (LayoutInflater) mTextView.getContext(). - getSystemService(Context.LAYOUT_INFLATER_SERVICE); + private LayoutInflater mInflater = (LayoutInflater) mContext.getSystemService( + Context.LAYOUT_INFLATER_SERVICE); @Override public int getCount() { diff --git a/core/java/android/widget/SimpleMonthView.java b/core/java/android/widget/SimpleMonthView.java index 97d834a85681..588425fdee66 100644 --- a/core/java/android/widget/SimpleMonthView.java +++ b/core/java/android/widget/SimpleMonthView.java @@ -32,6 +32,7 @@ import android.graphics.Rect; import android.graphics.Typeface; import android.icu.text.DisplayContext; import android.icu.text.SimpleDateFormat; +import android.icu.util.Calendar; import android.os.Bundle; import android.text.TextPaint; import android.text.format.DateFormat; @@ -48,7 +49,6 @@ import android.view.accessibility.AccessibilityNodeInfo; import android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction; import java.text.NumberFormat; -import java.util.Calendar; import java.util.Locale; import libcore.icu.LocaleData; diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index a3eed70c47b6..fc120eb0e65f 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -1939,6 +1939,10 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener notifyViewAccessibilityStateChangedIfNeeded( AccessibilityEvent.CONTENT_CHANGE_TYPE_UNDEFINED); } + + // PasswordTransformationMethod always have LTR text direction heuristics returned by + // getTextDirectionHeuristic, needs reset + mTextDir = getTextDirectionHeuristic(); } /** diff --git a/core/java/android/widget/YearPickerView.java b/core/java/android/widget/YearPickerView.java index 96624d2f0617..a3f5a67baca1 100644 --- a/core/java/android/widget/YearPickerView.java +++ b/core/java/android/widget/YearPickerView.java @@ -16,18 +16,17 @@ package android.widget; +import com.android.internal.R; + import android.content.Context; import android.content.res.Resources; +import android.icu.util.Calendar; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.accessibility.AccessibilityEvent; -import java.util.Calendar; - -import com.android.internal.R; - /** * Displays a selectable list of years. */ diff --git a/core/java/com/android/internal/app/procstats/ProcessStats.java b/core/java/com/android/internal/app/procstats/ProcessStats.java index fb2337e447e4..35b53c2298bb 100644 --- a/core/java/com/android/internal/app/procstats/ProcessStats.java +++ b/core/java/com/android/internal/app/procstats/ProcessStats.java @@ -43,6 +43,8 @@ import com.android.internal.app.procstats.DumpUtils.*; import dalvik.system.VMRuntime; import libcore.util.EmptyArray; +import java.io.BufferedReader; +import java.io.FileReader; import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; @@ -51,6 +53,8 @@ import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.Objects; +import java.util.regex.Pattern; +import java.util.regex.Matcher; public final class ProcessStats implements Parcelable { public static final String TAG = "ProcessStats"; @@ -151,7 +155,7 @@ public final class ProcessStats implements Parcelable { }; // Current version of the parcel format. - private static final int PARCEL_VERSION = 20; + private static final int PARCEL_VERSION = 21; // In-memory Parcel magic number, used to detect attempts to unmarshall bad data private static final int MAGIC = 0x50535454; @@ -188,6 +192,12 @@ public final class ProcessStats implements Parcelable { // For reading parcels. ArrayList<String> mIndexToCommonString; + private static final Pattern sPageTypeRegex = Pattern.compile( + "^Node\\s+(\\d+),.*. type\\s+(\\w+)\\s+([\\s\\d]+?)\\s*$"); + private final ArrayList<Integer> mPageTypeZones = new ArrayList<Integer>(); + private final ArrayList<String> mPageTypeLabels = new ArrayList<String>(); + private final ArrayList<int[]> mPageTypeSizes = new ArrayList<int[]>(); + public ProcessStats(boolean running) { mRunning = running; reset(); @@ -493,6 +503,7 @@ public final class ProcessStats implements Parcelable { mReadError = null; mFlags = 0; evaluateSystemProperties(true); + updateFragmentation(); } public boolean evaluateSystemProperties(boolean update) { @@ -515,6 +526,101 @@ public final class ProcessStats implements Parcelable { static final int[] BAD_TABLE = new int[0]; + + /** + * Load the system's memory fragmentation info. + */ + public void updateFragmentation() { + // Parse /proc/pagetypeinfo and store the values. + BufferedReader reader = null; + try { + reader = new BufferedReader(new FileReader("/proc/pagetypeinfo")); + final Matcher matcher = sPageTypeRegex.matcher(""); + mPageTypeZones.clear(); + mPageTypeLabels.clear(); + mPageTypeSizes.clear(); + while (true) { + final String line = reader.readLine(); + if (line == null) { + break; + } + matcher.reset(line); + if (matcher.matches()) { + final Integer zone = Integer.valueOf(matcher.group(1), 10); + if (zone == null) { + continue; + } + mPageTypeZones.add(zone); + mPageTypeLabels.add(matcher.group(2)); + mPageTypeSizes.add(splitAndParseNumbers(matcher.group(3))); + } + } + } catch (IOException ex) { + mPageTypeZones.clear(); + mPageTypeLabels.clear(); + mPageTypeSizes.clear(); + return; + } finally { + if (reader != null) { + try { + reader.close(); + } catch (IOException allHopeIsLost) { + } + } + } + } + + /** + * Split the string of digits separaed by spaces. There must be no + * leading or trailing spaces. The format is ensured by the regex + * above. + */ + private static int[] splitAndParseNumbers(String s) { + // These are always positive and the numbers can't be so big that we'll overflow + // so just do the parsing inline. + boolean digit = false; + int count = 0; + final int N = s.length(); + // Count the numbers + for (int i=0; i<N; i++) { + final char c = s.charAt(i); + if (c >= '0' && c <= '9') { + if (!digit) { + digit = true; + count++; + } + } else { + digit = false; + } + } + // Parse the numbers + final int[] result = new int[count]; + int p = 0; + int val = 0; + for (int i=0; i<N; i++) { + final char c = s.charAt(i); + if (c >= '0' && c <= '9') { + if (!digit) { + digit = true; + val = c - '0'; + } else { + val *= 10; + val += c - '0'; + } + } else { + if (digit) { + digit = false; + result[p++] = val; + } + } + } + if (count > 0) { + result[count-1] = val; + } + return result; + } + + private void writeCompactedLongArray(Parcel out, long[] array, int num) { for (int i=0; i<num; i++) { long val = array[i]; @@ -717,6 +823,15 @@ public final class ProcessStats implements Parcelable { } } + // Fragmentation info (/proc/pagetypeinfo) + final int NPAGETYPES = mPageTypeLabels.size(); + out.writeInt(NPAGETYPES); + for (int i=0; i<NPAGETYPES; i++) { + out.writeInt(mPageTypeZones.get(i)); + out.writeString(mPageTypeLabels.get(i)); + out.writeIntArray(mPageTypeSizes.get(i)); + } + mCommonStringToIndex = null; } @@ -981,6 +1096,20 @@ public final class ProcessStats implements Parcelable { } } + // Fragmentation info + final int NPAGETYPES = in.readInt(); + mPageTypeZones.clear(); + mPageTypeZones.ensureCapacity(NPAGETYPES); + mPageTypeLabels.clear(); + mPageTypeLabels.ensureCapacity(NPAGETYPES); + mPageTypeSizes.clear(); + mPageTypeSizes.ensureCapacity(NPAGETYPES); + for (int i=0; i<NPAGETYPES; i++) { + mPageTypeZones.add(in.readInt()); + mPageTypeLabels.add(in.readString()); + mPageTypeSizes.add(in.createIntArray()); + } + mIndexToCommonString = null; if (DEBUG_PARCEL) Slog.d(TAG, "Successfully read procstats!"); @@ -1271,6 +1400,8 @@ public final class ProcessStats implements Parcelable { */ pw.print(" mRunning="); pw.println(mRunning); } + + dumpFragmentationLocked(pw); } public void dumpSummaryLocked(PrintWriter pw, String reqPackage, long now, boolean activeOnly) { @@ -1282,6 +1413,21 @@ public final class ProcessStats implements Parcelable { dumpTotalsLocked(pw, now); } + private void dumpFragmentationLocked(PrintWriter pw) { + pw.println(); + pw.println("Available pages by page size:"); + final int NPAGETYPES = mPageTypeLabels.size(); + for (int i=0; i<NPAGETYPES; i++) { + pw.format("Zone %3d %14s ", mPageTypeZones.get(i), mPageTypeLabels.get(i)); + final int[] sizes = mPageTypeSizes.get(i); + final int N = sizes == null ? 0 : sizes.length; + for (int j=0; j<N; j++) { + pw.format("%6d", sizes[j]); + } + pw.println(); + } + } + long printMemoryCategory(PrintWriter pw, String prefix, String label, double memWeight, long totalTime, long curTotalMem, int samples) { if (memWeight != 0) { @@ -1540,6 +1686,24 @@ public final class ProcessStats implements Parcelable { pw.print(totalMem.processStateSamples[i]); } pw.println(); + + final int NPAGETYPES = mPageTypeLabels.size(); + for (int i=0; i<NPAGETYPES; i++) { + pw.print("availablepages,"); + pw.print(mPageTypeLabels.get(i)); + pw.print(","); + pw.print(mPageTypeZones.get(i)); + pw.print(","); + final int[] sizes = mPageTypeSizes.get(i); + final int N = sizes == null ? 0 : sizes.length; + for (int j=0; j<N; j++) { + if (j != 0) { + pw.print(","); + } + pw.print(sizes[j]); + } + pw.println(); + } } diff --git a/core/java/com/android/internal/os/BatteryStatsImpl.java b/core/java/com/android/internal/os/BatteryStatsImpl.java index 937fc75046cb..93dc625f8846 100644 --- a/core/java/com/android/internal/os/BatteryStatsImpl.java +++ b/core/java/com/android/internal/os/BatteryStatsImpl.java @@ -8873,8 +8873,6 @@ public class BatteryStatsImpl extends BatteryStats { return; } - // Record whether we've seen a non-zero time (for debugging b/22716723). - boolean seenNonZeroTime = false; for (Map.Entry<String, KernelWakelockStats.Entry> ent : wakelockStats.entrySet()) { String name = ent.getKey(); KernelWakelockStats.Entry kws = ent.getValue(); @@ -8884,27 +8882,24 @@ public class BatteryStatsImpl extends BatteryStats { kwlt = new SamplingTimer(mClocks, mOnBatteryScreenOffTimeBase); mKernelWakelockStats.put(name, kwlt); } + kwlt.update(kws.mTotalTime, kws.mCount); kwlt.setUpdateVersion(kws.mVersion); - - if (kws.mVersion != wakelockStats.kernelWakelockVersion) { - seenNonZeroTime |= kws.mTotalTime > 0; - } } int numWakelocksSetStale = 0; - if (wakelockStats.size() != mKernelWakelockStats.size()) { - // Set timers to stale if they didn't appear in /proc/wakelocks this time. - for (Map.Entry<String, SamplingTimer> ent : mKernelWakelockStats.entrySet()) { - SamplingTimer st = ent.getValue(); - if (st.getUpdateVersion() != wakelockStats.kernelWakelockVersion) { - st.endSample(); - numWakelocksSetStale++; - } + // Set timers to stale if they didn't appear in /d/wakeup_sources (or /proc/wakelocks) + // this time. + for (Map.Entry<String, SamplingTimer> ent : mKernelWakelockStats.entrySet()) { + SamplingTimer st = ent.getValue(); + if (st.getUpdateVersion() != wakelockStats.kernelWakelockVersion) { + st.endSample(); + numWakelocksSetStale++; } } - if (!seenNonZeroTime) { + // Record whether we've seen a non-zero time (for debugging b/22716723). + if (wakelockStats.isEmpty()) { Slog.wtf(TAG, "All kernel wakelocks had time of zero"); } diff --git a/core/java/com/android/internal/os/KernelWakelockReader.java b/core/java/com/android/internal/os/KernelWakelockReader.java index 6654ea5683e3..8036f257823b 100644 --- a/core/java/com/android/internal/os/KernelWakelockReader.java +++ b/core/java/com/android/internal/os/KernelWakelockReader.java @@ -18,6 +18,8 @@ package com.android.internal.os; import android.os.Process; import android.util.Slog; +import com.android.internal.annotations.VisibleForTesting; + import java.io.FileInputStream; import java.util.Iterator; @@ -106,14 +108,14 @@ public class KernelWakelockReader { /** * Reads the wakelocks and updates the staleStats with the new information. */ - private KernelWakelockStats parseProcWakelocks(byte[] wlBuffer, int len, boolean wakeup_sources, - final KernelWakelockStats staleStats) { + @VisibleForTesting + public KernelWakelockStats parseProcWakelocks(byte[] wlBuffer, int len, boolean wakeup_sources, + final KernelWakelockStats staleStats) { String name; int count; long totalTime; int startIndex; int endIndex; - int numUpdatedWlNames = 0; // Advance past the first line. int i; @@ -126,11 +128,10 @@ public class KernelWakelockReader { for (endIndex=startIndex; endIndex < len && wlBuffer[endIndex] != '\n' && wlBuffer[endIndex] != '\0'; endIndex++); - endIndex++; // endIndex is an exclusive upper bound. // Don't go over the end of the buffer, Process.parseProcLine might // write to wlBuffer[endIndex] - if (endIndex >= (len - 1) ) { - return staleStats; + if (endIndex > (len - 1) ) { + break; } String[] nameStringArray = mProcWakelocksName; @@ -161,7 +162,6 @@ public class KernelWakelockReader { if (!staleStats.containsKey(name)) { staleStats.put(name, new KernelWakelockStats.Entry(count, totalTime, sKernelWakelockUpdateVersion)); - numUpdatedWlNames++; } else { KernelWakelockStats.Entry kwlStats = staleStats.get(name); if (kwlStats.mVersion == sKernelWakelockUpdateVersion) { @@ -171,7 +171,6 @@ public class KernelWakelockReader { kwlStats.mCount = count; kwlStats.mTotalTime = totalTime; kwlStats.mVersion = sKernelWakelockUpdateVersion; - numUpdatedWlNames++; } } } else if (!parsed) { @@ -182,16 +181,14 @@ public class KernelWakelockReader { Slog.wtf(TAG, "Failed to parse proc line!"); } } - startIndex = endIndex; + startIndex = endIndex + 1; } - if (staleStats.size() != numUpdatedWlNames) { - // Don't report old data. - Iterator<KernelWakelockStats.Entry> itr = staleStats.values().iterator(); - while (itr.hasNext()) { - if (itr.next().mVersion != sKernelWakelockUpdateVersion) { - itr.remove(); - } + // Don't report old data. + Iterator<KernelWakelockStats.Entry> itr = staleStats.values().iterator(); + while (itr.hasNext()) { + if (itr.next().mVersion != sKernelWakelockUpdateVersion) { + itr.remove(); } } diff --git a/core/java/com/android/internal/os/ZygoteInit.java b/core/java/com/android/internal/os/ZygoteInit.java index 006d1ec1291a..9c960c04d491 100644 --- a/core/java/com/android/internal/os/ZygoteInit.java +++ b/core/java/com/android/internal/os/ZygoteInit.java @@ -22,6 +22,9 @@ import static android.system.OsConstants.S_IRWXO; import android.content.res.Resources; import android.content.res.TypedArray; +import android.icu.impl.CacheValue; +import android.icu.text.DecimalFormatSymbols; +import android.icu.util.ULocale; import android.net.LocalServerSocket; import android.opengl.EGL14; import android.os.Process; @@ -187,6 +190,9 @@ public class ZygoteInit { static void preload() { Log.d(TAG, "begin preload"); + Trace.traceBegin(Trace.TRACE_TAG_DALVIK, "BeginIcuCachePinning"); + beginIcuCachePinning(); + Trace.traceEnd(Trace.TRACE_TAG_DALVIK); Trace.traceBegin(Trace.TRACE_TAG_DALVIK, "PreloadClasses"); preloadClasses(); Trace.traceEnd(Trace.TRACE_TAG_DALVIK); @@ -201,10 +207,34 @@ public class ZygoteInit { // Ask the WebViewFactory to do any initialization that must run in the zygote process, // for memory sharing purposes. WebViewFactory.prepareWebViewInZygote(); + endIcuCachePinning(); warmUpJcaProviders(); Log.d(TAG, "end preload"); } + private static void beginIcuCachePinning() { + // Pin ICU data in memory from this point that would normally be held by soft references. + // Without this, any references created immediately below or during class preloading + // would be collected when the Zygote GC runs in gcAndFinalize(). + Log.i(TAG, "Installing ICU cache reference pinning..."); + + CacheValue.setStrength(CacheValue.Strength.STRONG); + + Log.i(TAG, "Preloading ICU data..."); + // Explicitly exercise code to cache data apps are likely to need. + ULocale[] localesToPin = { ULocale.ROOT, ULocale.US, ULocale.getDefault() }; + for (ULocale uLocale : localesToPin) { + new DecimalFormatSymbols(uLocale); + } + } + + private static void endIcuCachePinning() { + // All cache references created by ICU from this point will be soft. + CacheValue.setStrength(CacheValue.Strength.SOFT); + + Log.i(TAG, "Uninstalled ICU cache reference pinning..."); + } + private static void preloadSharedLibraries() { Log.i(TAG, "Preloading shared libraries..."); System.loadLibrary("android"); diff --git a/core/java/com/android/internal/policy/DecorView.java b/core/java/com/android/internal/policy/DecorView.java index bd6f3a9040c1..f5966362fdb2 100644 --- a/core/java/com/android/internal/policy/DecorView.java +++ b/core/java/com/android/internal/policy/DecorView.java @@ -908,7 +908,12 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind setBackgroundDrawable(drawable); if (drawable != null) { mResizingBackgroundDrawable = drawable; - drawable.getPadding(mBackgroundPadding); + } else { + mResizingBackgroundDrawable = getResizingBackgroundDrawable( + getContext(), 0, mWindow.mBackgroundFallbackResource); + } + if (mResizingBackgroundDrawable != null) { + mResizingBackgroundDrawable.getPadding(mBackgroundPadding); } else { mBackgroundPadding.setEmpty(); } diff --git a/core/java/com/android/internal/view/menu/CascadingMenuPopup.java b/core/java/com/android/internal/view/menu/CascadingMenuPopup.java index 07f38016da11..ddf3a7646612 100644 --- a/core/java/com/android/internal/view/menu/CascadingMenuPopup.java +++ b/core/java/com/android/internal/view/menu/CascadingMenuPopup.java @@ -231,6 +231,7 @@ final class CascadingMenuPopup extends MenuPopup implements MenuPresenter, OnKey popupWindow.setAnchorView(mAnchorView); popupWindow.setDropDownGravity(mDropDownGravity); popupWindow.setModal(true); + popupWindow.setInputMethodMode(PopupWindow.INPUT_METHOD_NOT_NEEDED); return popupWindow; } diff --git a/core/java/com/android/internal/widget/ILockSettings.aidl b/core/java/com/android/internal/widget/ILockSettings.aidl index b2fc2bb8c89f..6b93d8336b95 100644 --- a/core/java/com/android/internal/widget/ILockSettings.aidl +++ b/core/java/com/android/internal/widget/ILockSettings.aidl @@ -44,4 +44,5 @@ interface ILockSettings { void requireStrongAuth(int strongAuthReason, int userId); void systemReady(); void userPresent(int userId); + int getStrongAuthForUser(int userId); } diff --git a/core/java/com/android/internal/widget/LockPatternUtils.java b/core/java/com/android/internal/widget/LockPatternUtils.java index d9b63296dea9..70941b6c300b 100644 --- a/core/java/com/android/internal/widget/LockPatternUtils.java +++ b/core/java/com/android/internal/widget/LockPatternUtils.java @@ -141,6 +141,9 @@ public class LockPatternUtils { // consider it a complex PIN/password. public static final int MAX_ALLOWED_SEQUENCE = 3; + public static final String PROFILE_KEY_NAME_ENCRYPT = "profile_key_name_encrypt_"; + public static final String PROFILE_KEY_NAME_DECRYPT = "profile_key_name_decrypt_"; + private final Context mContext; private final ContentResolver mContentResolver; private DevicePolicyManager mDevicePolicyManager; @@ -1452,6 +1455,32 @@ public class LockPatternUtils { } /** + * @see StrongAuthTracker#getStrongAuthForUser + */ + public int getStrongAuthForUser(int userId) { + try { + return getLockSettings().getStrongAuthForUser(userId); + } catch (RemoteException e) { + Log.e(TAG, "Could not get StrongAuth", e); + return StrongAuthTracker.getDefaultFlags(mContext); + } + } + + /** + * @see StrongAuthTracker#isTrustAllowedForUser + */ + public boolean isTrustAllowedForUser(int userId) { + return getStrongAuthForUser(userId) == StrongAuthTracker.STRONG_AUTH_NOT_REQUIRED; + } + + /** + * @see StrongAuthTracker#isFingerprintAllowedForUser + */ + public boolean isFingerprintAllowedForUser(int userId) { + return (getStrongAuthForUser(userId) & ~StrongAuthTracker.ALLOWING_FINGERPRINT) == 0; + } + + /** * Tracks the global strong authentication state. */ public static class StrongAuthTracker { @@ -1556,9 +1585,8 @@ public class LockPatternUtils { public void onStrongAuthRequiredChanged(int userId) { } - void handleStrongAuthRequiredChanged(@StrongAuthFlags int strongAuthFlags, + protected void handleStrongAuthRequiredChanged(@StrongAuthFlags int strongAuthFlags, int userId) { - int oldValue = getStrongAuthForUser(userId); if (strongAuthFlags != oldValue) { if (strongAuthFlags == mDefaultStrongAuthFlags) { @@ -1571,7 +1599,7 @@ public class LockPatternUtils { } - final IStrongAuthTracker.Stub mStub = new IStrongAuthTracker.Stub() { + protected final IStrongAuthTracker.Stub mStub = new IStrongAuthTracker.Stub() { @Override public void onStrongAuthRequiredChanged(@StrongAuthFlags int strongAuthFlags, int userId) { diff --git a/core/java/com/android/server/BootReceiver.java b/core/java/com/android/server/BootReceiver.java index 6d6c1622e5c2..fbc51cdca6c2 100644 --- a/core/java/com/android/server/BootReceiver.java +++ b/core/java/com/android/server/BootReceiver.java @@ -127,7 +127,7 @@ public class BootReceiver extends BroadcastReceiver { .append("\n").toString(); final String bootReason = SystemProperties.get("ro.boot.bootreason", null); - String recovery = RecoverySystem.handleAftermath(); + String recovery = RecoverySystem.handleAftermath(ctx); if (recovery != null && db != null) { db.addText("SYSTEM_RECOVERY_LOG", headers + recovery); } diff --git a/core/jni/android_media_AudioRecord.cpp b/core/jni/android_media_AudioRecord.cpp index 1bc4285a23d7..1fc08eddb721 100644 --- a/core/jni/android_media_AudioRecord.cpp +++ b/core/jni/android_media_AudioRecord.cpp @@ -479,17 +479,13 @@ void envReleaseArrayElements(JNIEnv *env, jfloatArray array, jfloat *elems, jint static inline jint interpretReadSizeError(ssize_t readSize) { - ALOGE_IF(readSize != WOULD_BLOCK, "Error %zd during AudioRecord native read", readSize); - switch (readSize) { - case WOULD_BLOCK: + if (readSize == WOULD_BLOCK) { return (jint)0; - case BAD_VALUE: - return (jint)AUDIO_JAVA_BAD_VALUE; - default: - // may be possible for other errors such as - // NO_INIT to happen if restoreRecord_l fails. - case INVALID_OPERATION: - return (jint)AUDIO_JAVA_INVALID_OPERATION; + } else if (readSize == NO_INIT) { + return AUDIO_JAVA_DEAD_OBJECT; + } else { + ALOGE("Error %zd during AudioRecord native read", readSize); + return nativeToJavaStatus(readSize); } } diff --git a/core/jni/android_media_AudioTrack.cpp b/core/jni/android_media_AudioTrack.cpp index 024c21de4a50..982a1f88d87a 100644 --- a/core/jni/android_media_AudioTrack.cpp +++ b/core/jni/android_media_AudioTrack.cpp @@ -606,6 +606,18 @@ void envReleaseArrayElements(JNIEnv *env, jfloatArray array, jfloat *elems, jint env->ReleaseFloatArrayElements(array, elems, mode); } +static inline +jint interpretWriteSizeError(ssize_t writeSize) { + if (writeSize == WOULD_BLOCK) { + return (jint)0; + } else if (writeSize == NO_INIT) { + return AUDIO_JAVA_DEAD_OBJECT; + } else { + ALOGE("Error %zd during AudioTrack native read", writeSize); + return nativeToJavaStatus(writeSize); + } +} + // ---------------------------------------------------------------------------- template <typename T> static jint writeToTrack(const sp<AudioTrack>& track, jint audioFormat, const T *data, @@ -628,11 +640,10 @@ static jint writeToTrack(const sp<AudioTrack>& track, jint audioFormat, const T memcpy(track->sharedBuffer()->pointer(), data + offsetInSamples, sizeInBytes); written = sizeInBytes; } - if (written > 0) { + if (written >= 0) { return written / sizeof(T); } - // for compatibility, error codes pass through unchanged - return written; + return interpretWriteSizeError(written); } // ---------------------------------------------------------------------------- diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index c2ff4ef22278..6c289dc1f904 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -273,6 +273,9 @@ <protected-broadcast android:name="com.android.server.WifiManager.action.DEVICE_IDLE" /> <protected-broadcast android:name="com.android.server.action.REMOTE_BUGREPORT_SHARING_ACCEPTED" /> <protected-broadcast android:name="com.android.server.action.REMOTE_BUGREPORT_SHARING_DECLINED" /> + <protected-broadcast android:name="com.android.server.usb.ACTION_OPEN_IN_APPS" /> + <protected-broadcast android:name="com.android.server.am.DELETE_DUMPHEAP" /> + <protected-broadcast android:name="com.android.server.net.action.SNOOZE_WARNING" /> <protected-broadcast android:name="android.net.wifi.WIFI_STATE_CHANGED" /> <protected-broadcast android:name="android.net.wifi.WIFI_AP_STATE_CHANGED" /> <protected-broadcast android:name="android.net.wifi.WIFI_CREDENTIAL_CHANGED" /> @@ -322,6 +325,9 @@ <protected-broadcast android:name="android.net.proxy.PAC_REFRESH" /> <protected-broadcast android:name="android.telecom.action.DEFAULT_DIALER_CHANGED" /> + <protected-broadcast android:name="android.provider.action.DEFAULT_SMS_PACKAGE_CHANGED" /> + <protected-broadcast android:name="android.intent.action.CONTENT_CHANGED" /> + <protected-broadcast android:name="android.provider.Telephony.MMS_DOWNLOADED" /> <protected-broadcast android:name="com.android.server.connectivityservice.CONNECTED_TO_PROVISIONING_NETWORK_ACTION" /> @@ -384,6 +390,7 @@ <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_REMOVED" /> <protected-broadcast android:name="android.bluetooth.adapter.action.BLE_STATE_CHANGED" /> + <protected-broadcast android:name="com.android.bluetooth.map.USER_CONFIRM_TIMEOUT" /> <protected-broadcast android:name="android.content.jobscheduler.JOB_DELAY_EXPIRED" /> <protected-broadcast android:name="android.content.syncmanager.SYNC_ALARM" /> <protected-broadcast android:name="android.media.INTERNAL_RINGER_MODE_CHANGED_ACTION" /> diff --git a/core/res/res/layout/notification_template_material_messaging.xml b/core/res/res/layout/notification_template_material_messaging.xml index 7d718e0db991..d95ff056c22a 100644 --- a/core/res/res/layout/notification_template_material_messaging.xml +++ b/core/res/res/layout/notification_template_material_messaging.xml @@ -50,7 +50,7 @@ android:layout_height="wrap_content" android:paddingBottom="@dimen/notification_content_margin_bottom" android:spacing="@dimen/notification_messaging_spacing" - android:maxHeight="212dp"> + android:maxHeight="165dp"> <com.android.internal.widget.ImageFloatingTextView android:id="@+id/inbox_text0" style="@style/Widget.Material.Notification.MessagingText" /> diff --git a/core/res/res/layout/work_widget_mask_view.xml b/core/res/res/layout/work_widget_mask_view.xml index 3c4770552383..39e1bbb467b4 100644 --- a/core/res/res/layout/work_widget_mask_view.xml +++ b/core/res/res/layout/work_widget_mask_view.xml @@ -19,7 +19,8 @@ Copyright (C) 2015 The Android Open Source Project android:layout_width="match_parent" android:layout_height="match_parent" android:background="#F3374248" - android:clickable="true" > + android:importantForAccessibility="noHideDescendants" + android:clickable="true"> <ImageView android:id="@+id/work_widget_app_icon" android:layout_width="wrap_content" diff --git a/core/res/res/values-af/strings.xml b/core/res/res/values-af/strings.xml index d4d20734049f..44923c9890dc 100644 --- a/core/res/res/values-af/strings.xml +++ b/core/res/res/values-af/strings.xml @@ -1022,8 +1022,8 @@ <string name="volume_icon_description_incall" msgid="8890073218154543397">"Oproepvolume"</string> <string name="volume_icon_description_media" msgid="4217311719665194215">"Mediavolume"</string> <string name="volume_icon_description_notification" msgid="7044986546477282274">"Kennisgewing-volume"</string> - <string name="ringtone_default" msgid="3789758980357696936">"Verstek luitoon"</string> - <string name="ringtone_default_with_actual" msgid="8129563480895990372">"Verstek luitoon (<xliff:g id="ACTUAL_RINGTONE">%1$s</xliff:g>)"</string> + <string name="ringtone_default" msgid="3789758980357696936">"Verstekluitoon"</string> + <string name="ringtone_default_with_actual" msgid="8129563480895990372">"Verstekluitoon (<xliff:g id="ACTUAL_RINGTONE">%1$s</xliff:g>)"</string> <string name="ringtone_silent" msgid="7937634392408977062">"Geen"</string> <string name="ringtone_picker_title" msgid="3515143939175119094">"Luitone"</string> <string name="ringtone_unknown" msgid="5477919988701784788">"Onbekende luitoon"</string> diff --git a/core/res/res/values-am/strings.xml b/core/res/res/values-am/strings.xml index c69f4cc0c74b..a648c006141a 100644 --- a/core/res/res/values-am/strings.xml +++ b/core/res/res/values-am/strings.xml @@ -522,11 +522,11 @@ <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"ማያ ገጹን ሲያስከፍቱ በትክክል ያልተተየቡ የይለፍ ቃላት ብዛት ተከታተል፣ እና በጣም ብዙ ትክክል ያልሆኑ የይለፍ ቃላት ከተተየቡ ጡባዊውን ቆልፍ ወይም ሁሉንም የዚህን ተጠቃሚ ውሂብ ደምስስ።."</string> <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"ማያ ገጹን ሲያስከፍቱ በትክክል ያልተተየቡ የይለፍ ቃላት ብዛት ተከታተል፣ እና በጣም ብዙ ትክክል ያልሆኑ የይለፍ ቃላት ከተተየቡ ቴሌቪዥኑን ቆልፍ ወይም ሁሉንም የዚህን ተጠቃሚ ውሂብ ደምስስ።"</string> <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"ማያ ገጹን ሲያስከፍቱ በትክክል ያልተተየቡ የይለፍ ቃላት ብዛት ተከታተል፣ እና በጣም ብዙ ትክክል ያልሆኑ የይለፍ ቃላት ከተተየቡ ስልኩን ቆልፍ ወይም ሁሉንም የዚህን ተጠቃሚ ውሂብ ደምስስ።"</string> - <string name="policylab_resetPassword" msgid="4934707632423915395">"የማያ ገጹን መቆለፊያ ለውጥ"</string> + <string name="policylab_resetPassword" msgid="4934707632423915395">"የማያ ገጹን መቆለፊያ መለወጥ"</string> <string name="policydesc_resetPassword" msgid="1278323891710619128">"የማያ ገጽ መቆለፊያውን ለውጥ።"</string> <string name="policylab_forceLock" msgid="2274085384704248431">"ማያ ቆልፍ"</string> <string name="policydesc_forceLock" msgid="1141797588403827138">"ማያው እንዴት እና መቼ እንደሚቆልፍ ተቆጣጠር።"</string> - <string name="policylab_wipeData" msgid="3910545446758639713">"ሁሉንም ውሂብ ሰርዝ"</string> + <string name="policylab_wipeData" msgid="3910545446758639713">"ሁሉንም ውሂብ መሰረዝ"</string> <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"የፋብሪካው ውሂብ ዳግም አስጀምርን በማከናወን፣ያለ ማስጠንቀቂያ የጡባዊውን ውሂብ አጥፋ።"</string> <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"የፋብሪካ ውሂብ ዳግም ማስጀመር በማከናወን ያለማስጠንቀቂያ የቴሌቪዥኑን ውሂብ ይደምስሱ።"</string> <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"የፋብሪካ ውሂብ ድጋሚ አስጀምር በማከናወን ያለ ማሰጠንቀቂያ የስልኩን ውሂብ ደምስስ።"</string> @@ -579,7 +579,7 @@ </string-array> <string-array name="imProtocols"> <item msgid="8595261363518459565">"AIM"</item> - <item msgid="7390473628275490700">"ዊንዶውዝ ቀጥታ ስርጭት"</item> + <item msgid="7390473628275490700">"Windows ቀጥታ ስርጭት"</item> <item msgid="7882877134931458217">"Yahoo"</item> <item msgid="5035376313200585242">"Skype"</item> <item msgid="7532363178459444943">"QQ"</item> @@ -627,7 +627,7 @@ <string name="imTypeOther" msgid="5377007495735915478">"ሌላ"</string> <string name="imProtocolCustom" msgid="6919453836618749992">"ብጁ"</string> <string name="imProtocolAim" msgid="7050360612368383417">"AIM"</string> - <string name="imProtocolMsn" msgid="144556545420769442">"ዊንዶውዝ ቀጥታ ስርጭት"</string> + <string name="imProtocolMsn" msgid="144556545420769442">"Windows ቀጥታ ስርጭት"</string> <string name="imProtocolYahoo" msgid="8271439408469021273">"Yahoo"</string> <string name="imProtocolSkype" msgid="9019296744622832951">"Skype"</string> <string name="imProtocolQq" msgid="8887484379494111884">"QQ"</string> diff --git a/core/res/res/values-az-rAZ/strings.xml b/core/res/res/values-az-rAZ/strings.xml index 3facda722223..3619b9ad56a2 100644 --- a/core/res/res/values-az-rAZ/strings.xml +++ b/core/res/res/values-az-rAZ/strings.xml @@ -67,8 +67,8 @@ </plurals> <string name="imei" msgid="2625429890869005782">"IMEI"</string> <string name="meid" msgid="4841221237681254195">"MEID"</string> - <string name="ClipMmi" msgid="6952821216480289285">"Daxil olan zəng edənin ID\'si"</string> - <string name="ClirMmi" msgid="7784673673446833091">"Gedən Zəng ID"</string> + <string name="ClipMmi" msgid="6952821216480289285">"Gələn çağrı kimliyi"</string> + <string name="ClirMmi" msgid="7784673673446833091">"Gedən çağrı kimliyi"</string> <string name="ColpMmi" msgid="3065121483740183974">"Qoşulmuş Xətt ID"</string> <string name="ColrMmi" msgid="4996540314421889589">"Qoşulmuş Xətt ID Məhdudluğu"</string> <string name="CfMmi" msgid="5123218989141573515">"Zəng yönləndirmə"</string> @@ -82,12 +82,12 @@ <string name="RuacMmi" msgid="7827887459138308886">"Xoşagəlməz zənglərdən imtina"</string> <string name="CndMmi" msgid="3116446237081575808">"Çatdırılma zəngi"</string> <string name="DndMmi" msgid="1265478932418334331">"Narahat etməyin"</string> - <string name="CLIRDefaultOnNextCallOn" msgid="429415409145781923">"Adətən zəng edənin ID\'si məhdudlaşdırılır. Növbəti zəng: Məhdudlaşdırılıb"</string> - <string name="CLIRDefaultOnNextCallOff" msgid="3092918006077864624">"Adətən zəng edənin ID\'si məhdudlaşdırılır. Növbəti zəng: Məhdudlaşdırılmayıb"</string> - <string name="CLIRDefaultOffNextCallOn" msgid="6179425182856418465">"Adətən zəng edənin ID\'si məhdudlaşdırılmır. Növbəti zəng: Məhdudlaşdırılıb"</string> - <string name="CLIRDefaultOffNextCallOff" msgid="2567998633124408552">"Adətən zəng edənin ID\'si məhdudlaşdırılmır. Növbəti zəng: Məhdudlaşdırılmayıb"</string> + <string name="CLIRDefaultOnNextCallOn" msgid="429415409145781923">"Zəng edənin kimliyi defolt olaraq qadağandır. Növbəti zəng: Qadağandır"</string> + <string name="CLIRDefaultOnNextCallOff" msgid="3092918006077864624">"Zəng edənin kimliyi defolt olaraq qadağan deyil. Növbəti zəng: Qadağan deyil"</string> + <string name="CLIRDefaultOffNextCallOn" msgid="6179425182856418465">"Zəng edənin kimliyi defolt olaraq qadağan deyil. Növbəti zəng: Qadağandır"</string> + <string name="CLIRDefaultOffNextCallOff" msgid="2567998633124408552">"Zəng edənin kimliyi defolt olaraq qadağan deyil. Növbəti zəng: Qadağan deyil"</string> <string name="serviceNotProvisioned" msgid="8614830180508686666">"Xidmət təmin edilməyib."</string> - <string name="CLIRPermanent" msgid="3377371145926835671">"Siz zəng edənin ID nizamlarını dəyişə bilməzsiz."</string> + <string name="CLIRPermanent" msgid="3377371145926835671">"Çağrı kimliyi ayarını dəyişə bilməzsiniz."</string> <string name="RestrictedOnData" msgid="8653794784690065540">"Data xidmət bağlıdır."</string> <string name="RestrictedOnEmergency" msgid="6581163779072833665">"Təcili xidmət bağlıdır."</string> <string name="RestrictedOnNormal" msgid="4953867011389750673">"Səs xidməti bağlıdır."</string> @@ -117,9 +117,9 @@ <string name="roamingText6" msgid="2059440825782871513">"Rominq - Mümkün sistem"</string> <string name="roamingText7" msgid="7112078724097233605">"Rominq - Alyans partnyoru"</string> <string name="roamingText8" msgid="5989569778604089291">"Rominq - Premium partnyor"</string> - <string name="roamingText9" msgid="7969296811355152491">"Rouminq - Tam Xidmət Funksionallığı"</string> - <string name="roamingText10" msgid="3992906999815316417">"Rouminq - Qismən Xidmət Funksionallığı"</string> - <string name="roamingText11" msgid="4154476854426920970">"Rouminq Banneri Açıqdır"</string> + <string name="roamingText9" msgid="7969296811355152491">"Rominq - Tam Xidmət Funksionallığı"</string> + <string name="roamingText10" msgid="3992906999815316417">"Rominq - Qismən Xidmət Funksionallığı"</string> + <string name="roamingText11" msgid="4154476854426920970">"Rominq Banneri Açıqdır"</string> <string name="roamingText12" msgid="1189071119992726320">"Roaming Banner Off"</string> <string name="roamingTextSearching" msgid="8360141885972279963">"Xidmət axtarılır"</string> <string name="wfcRegErrorTitle" msgid="2301376280632110664">"Wi-Fi zəngi"</string> @@ -194,8 +194,8 @@ <string name="silent_mode_vibrate" msgid="7072043388581551395">"Zəng vibrasiyadadır"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Zəngvuran açıqdır"</string> <string name="reboot_to_update_title" msgid="6212636802536823850">"Android sistemi güncəlləməsi"</string> - <string name="reboot_to_update_prepare" msgid="6305853831955310890">"Güncəlləmə üçün hazırlanır ..."</string> - <string name="reboot_to_update_package" msgid="3871302324500927291">"Güncəlləmə paketi icra olunur..."</string> + <string name="reboot_to_update_prepare" msgid="6305853831955310890">"Güncəllənməyə hazırlanır ..."</string> + <string name="reboot_to_update_package" msgid="3871302324500927291">"Güncəllənmə paketi icra olunur..."</string> <string name="reboot_to_update_reboot" msgid="6428441000951565185">"Yenidən başlanır..."</string> <string name="reboot_to_reset_title" msgid="4142355915340627490">"Data zavod sıfırlaması"</string> <string name="reboot_to_reset_message" msgid="2432077491101416345">"Yenidən başlanır..."</string> @@ -250,7 +250,7 @@ <string name="permgroupdesc_calendar" msgid="3889615280211184106">"təqvimə daxil olun"</string> <string name="permgrouplab_sms" msgid="228308803364967808">"SMS"</string> <string name="permgroupdesc_sms" msgid="4656988620100940350">"göndərin və SMS mesajlarına baxın"</string> - <string name="permgrouplab_storage" msgid="1971118770546336966">"Yaddaş"</string> + <string name="permgrouplab_storage" msgid="1971118770546336966">"Depo"</string> <string name="permgroupdesc_storage" msgid="637758554581589203">"cihazınızda foto, media və fayllara daxil olun"</string> <string name="permgrouplab_microphone" msgid="171539900250043464">"Mikrofon"</string> <string name="permgroupdesc_microphone" msgid="4988812113943554584">"səsi qeydə alın"</string> @@ -289,7 +289,7 @@ <string name="permlab_receiveMms" msgid="1821317344668257098">"mətn mesajlarını qəbul edir (MMS)"</string> <string name="permdesc_receiveMms" msgid="533019437263212260">"Tətbiqə MMS mesajlarını qəbul və emal üçün imkan verir. Bu o deməkdir ki, bu tətbiq sizə göstərmədən cihazınıza göndərilən mesajları silə bilər."</string> <string name="permlab_readCellBroadcasts" msgid="1598328843619646166">"mobil yayım mesajlarını oxuyur"</string> - <string name="permdesc_readCellBroadcasts" msgid="6361972776080458979">"Tətbiqə sizin telefonunuz tərəfindən alınmış yayım mesajlarını oxuma icazəsi verir. Telefon yayımı bəzi məkanlarda olan fövqəladə hadisələrlə bağlı sizi xəbərdar etmək üçün qəbul edilir. Zərərli tətbiqlər fövqəladə mobil yayım qəbul edildiyi zaman telefonunun performansına və əməliyyatına müdaxilə edə bilər."</string> + <string name="permdesc_readCellBroadcasts" msgid="6361972776080458979">"Tətbiqə telefonunuz tərəfindən alınmış yayım mesajlarını oxuma icazəsi verir. Telefon yayımı bəzi məkanlarda olan fövqəladə hadisələrlə bağlı sizi xəbərdar etmək üçün qəbul edilir. Zərərli tətbiqlər təcili mobil yayım qəbul edildiyi zaman telefonunun performansına və əməliyyatına müdaxilə edə bilər."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"abunə olunmuş xəbərləri oxuyur"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Tətbiqə hazırda sinxron lentlər haqqında ətraflı məlumat almaq üçün imkan verir."</string> <string name="permlab_sendSms" msgid="7544599214260982981">"göndərin və SMS mesajlarına baxın"</string> @@ -673,7 +673,7 @@ <string name="lockscreen_instructions_when_pattern_enabled" msgid="46154051614126049">"Təcili zəng kilidini açmaq və ya yerləşdirmək üçün Menyu düyməsinə basın."</string> <string name="lockscreen_instructions_when_pattern_disabled" msgid="686260028797158364">"Kilidi açmaq üçün Menyu düyməsinə basın."</string> <string name="lockscreen_pattern_instructions" msgid="7478703254964810302">"Kilidi açmaq üçün model çəkin"</string> - <string name="lockscreen_emergency_call" msgid="5298642613417801888">"Fövqəladə"</string> + <string name="lockscreen_emergency_call" msgid="5298642613417801888">"Təcili"</string> <string name="lockscreen_return_to_call" msgid="5244259785500040021">"Zəngə qayıt"</string> <string name="lockscreen_pattern_correct" msgid="9039008650362261237">"Düzdür!"</string> <string name="lockscreen_pattern_wrong" msgid="4317955014948108794">"Bir də cəhd edin"</string> @@ -808,7 +808,7 @@ <string name="save_password_never" msgid="8274330296785855105">"Heç vaxt"</string> <string name="open_permission_deny" msgid="7374036708316629800">"Bu səhifəni açmaq üçün icazəniz yoxdur."</string> <string name="text_copied" msgid="4985729524670131385">"Mətn panoya kopyalandı."</string> - <string name="more_item_label" msgid="4650918923083320495">"Daha çox"</string> + <string name="more_item_label" msgid="4650918923083320495">"Digər"</string> <string name="prepend_shortcut_label" msgid="2572214461676015642">"Menyu+"</string> <string name="menu_space_shortcut_label" msgid="2410328639272162537">"boşluq"</string> <string name="menu_enter_shortcut_label" msgid="2743362785111309668">"daxil olun"</string> @@ -1272,7 +1272,7 @@ <string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Nöqtə."</string> <string name="action_bar_home_description" msgid="5293600496601490216">"Evə gedin"</string> <string name="action_bar_up_description" msgid="2237496562952152589">"Yuxarı gedin"</string> - <string name="action_menu_overflow_description" msgid="2295659037509008453">"Əlavə seçimlər"</string> + <string name="action_menu_overflow_description" msgid="2295659037509008453">"Digər variantlar"</string> <string name="action_bar_home_description_format" msgid="7965984360903693903">"%1$s, %2$s"</string> <string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string> <string name="storage_internal" msgid="3570990907910199483">"Daxili paylaşılan yaddaş"</string> diff --git a/core/res/res/values-be-rBY/strings.xml b/core/res/res/values-be-rBY/strings.xml index 2ef61e889813..4e419dc14312 100644 --- a/core/res/res/values-be-rBY/strings.xml +++ b/core/res/res/values-be-rBY/strings.xml @@ -23,7 +23,7 @@ <string name="byteShort" msgid="8340973892742019101">"B"</string> <string name="kilobyteShort" msgid="5973789783504771878">"Кб"</string> <string name="megabyteShort" msgid="6355851576770428922">"Мб"</string> - <string name="gigabyteShort" msgid="3259882455212193214">"Гб"</string> + <string name="gigabyteShort" msgid="3259882455212193214">"ГБ"</string> <string name="terabyteShort" msgid="231613018159186962">"Тб"</string> <string name="petabyteShort" msgid="5637816680144990219">"Пб"</string> <string name="fileSizeSuffix" msgid="8897567456150907538">"<xliff:g id="NUMBER">%1$s</xliff:g> <xliff:g id="UNIT">%2$s</xliff:g>"</string> @@ -211,7 +211,7 @@ <string name="shutdown_confirm_question" msgid="2906544768881136183">"Закрыць?"</string> <string name="reboot_safemode_title" msgid="7054509914500140361">"Перазагрузка ў бяспечным рэжыме"</string> <string name="reboot_safemode_confirm" msgid="55293944502784668">"Хочаце перазагрузіцца ў бяспечным рэжыме? Гэта дазволіць адключыць усе іншыя ўсталяваныя прыкладанні. Пасля перазагрузкi iх праца будзе адноўлена."</string> - <string name="recent_tasks_title" msgid="3691764623638127888">"Апошнія"</string> + <string name="recent_tasks_title" msgid="3691764623638127888">"Нядаўнія"</string> <string name="no_recent_tasks" msgid="8794906658732193473">"Няма апошніх прыкладанняў."</string> <string name="global_actions" product="tablet" msgid="408477140088053665">"Параметры планшэта"</string> <string name="global_actions" product="tv" msgid="7240386462508182976">"Параметры ТБ"</string> @@ -530,12 +530,12 @@ <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Сачыць за колькасцю няправільна набраных пароляў падчас разблакіроўкі экрана і блакіраваць тэлефон або сцерці ўсе даныя гэтага карыстальніка, калі няправільны пароль набраны занадта шмат разоў."</string> <string name="policylab_resetPassword" msgid="4934707632423915395">"Змяніць блакіроўку экрана"</string> <string name="policydesc_resetPassword" msgid="1278323891710619128">"Змяніць блакіроўку экрана."</string> - <string name="policylab_forceLock" msgid="2274085384704248431">"Заблакаваць экран"</string> - <string name="policydesc_forceLock" msgid="1141797588403827138">"Кіраванне часам і спосабам блакавання экрана"</string> - <string name="policylab_wipeData" msgid="3910545446758639713">"Сцерці ўсе дадзеныя"</string> - <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Выдаліць дадзеныя з планшэта без папярэджання, выканаўшы скід налад."</string> + <string name="policylab_forceLock" msgid="2274085384704248431">"Заблакіраваць экран"</string> + <string name="policydesc_forceLock" msgid="1141797588403827138">"Кіраваць як і калі блакіруецца экран."</string> + <string name="policylab_wipeData" msgid="3910545446758639713">"Сцерці ўсе даныя"</string> + <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Cцерці даныя з планшэта без папярэджання, выканаўшы скід да заводскіх даных."</string> <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Сцерці даныя з тэлевізара без папярэджання, выканаўшы скід да заводскіх налад."</string> - <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Выдаліць дадзеныя з тэлефона без папярэджання, выканаўшы скід налад."</string> + <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Сцерці даныя з тэлефона без папярэджання, выканаўшы скід да заводскіх налад."</string> <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Сцерці карыстальніцкія даныя"</string> <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Сцерці даныя гэтага карыстальніка на дадзеным планшэце без папярэджання."</string> <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Сцерці даныя гэтага карыстальніка на дадзеным тэлевізары без папярэджання."</string> @@ -551,7 +551,7 @@ <string name="policylab_disableKeyguardFeatures" msgid="8552277871075367771">"Адкл.некат.функцыі блак.экрана"</string> <string name="policydesc_disableKeyguardFeatures" msgid="2044755691354158439">"Забараніць выкарыстанне некаторых функцый блакіроўкі экрана."</string> <string-array name="phoneTypes"> - <item msgid="8901098336658710359">"Галоўная старонка"</item> + <item msgid="8901098336658710359">"Хатні"</item> <item msgid="869923650527136615">"Мабільны"</item> <item msgid="7897544654242874543">"Працоўны"</item> <item msgid="1103601433382158155">"Працоўны факс"</item> @@ -602,7 +602,7 @@ <string name="phoneTypePager" msgid="7582359955394921732">"Пэйджар"</string> <string name="phoneTypeOther" msgid="1544425847868765990">"Іншы"</string> <string name="phoneTypeCallback" msgid="2712175203065678206">"Зваротны выклік"</string> - <string name="phoneTypeCar" msgid="8738360689616716982">"Машына"</string> + <string name="phoneTypeCar" msgid="8738360689616716982">"Тэл. у машыне"</string> <string name="phoneTypeCompanyMain" msgid="540434356461478916">"Асноўны тэлефон кампаніі"</string> <string name="phoneTypeIsdn" msgid="8022453193171370337">"ISDN"</string> <string name="phoneTypeMain" msgid="6766137010628326916">"Галоўны"</string> @@ -619,16 +619,16 @@ <string name="eventTypeAnniversary" msgid="3876779744518284000">"Гадавіна"</string> <string name="eventTypeOther" msgid="7388178939010143077">"Іншае"</string> <string name="emailTypeCustom" msgid="8525960257804213846">"Карыстальніцкі"</string> - <string name="emailTypeHome" msgid="449227236140433919">"Галоўная старонка"</string> + <string name="emailTypeHome" msgid="449227236140433919">"Хатні"</string> <string name="emailTypeWork" msgid="3548058059601149973">"Працоўны"</string> <string name="emailTypeOther" msgid="2923008695272639549">"Іншы"</string> <string name="emailTypeMobile" msgid="119919005321166205">"Мабільны"</string> <string name="postalTypeCustom" msgid="8903206903060479902">"Карыстальніцкі"</string> - <string name="postalTypeHome" msgid="8165756977184483097">"Галоўная старонка"</string> + <string name="postalTypeHome" msgid="8165756977184483097">"Хатні"</string> <string name="postalTypeWork" msgid="5268172772387694495">"Працоўны"</string> <string name="postalTypeOther" msgid="2726111966623584341">"Іншы"</string> <string name="imTypeCustom" msgid="2074028755527826046">"Карыстальніцкі"</string> - <string name="imTypeHome" msgid="6241181032954263892">"Галоўная старонка"</string> + <string name="imTypeHome" msgid="6241181032954263892">"Хатні"</string> <string name="imTypeWork" msgid="1371489290242433090">"Працоўны"</string> <string name="imTypeOther" msgid="5377007495735915478">"Іншы"</string> <string name="imProtocolCustom" msgid="6919453836618749992">"Карыстальніцкі"</string> @@ -660,7 +660,7 @@ <string name="relationTypeSister" msgid="1735983554479076481">"Сястра"</string> <string name="relationTypeSpouse" msgid="394136939428698117">"Муж/жонка"</string> <string name="sipAddressTypeCustom" msgid="2473580593111590945">"Карыстальніцкі"</string> - <string name="sipAddressTypeHome" msgid="6093598181069359295">"Галоўная старонка"</string> + <string name="sipAddressTypeHome" msgid="6093598181069359295">"Хатні"</string> <string name="sipAddressTypeWork" msgid="6920725730797099047">"Працоўны"</string> <string name="sipAddressTypeOther" msgid="4408436162950119849">"Іншае"</string> <string name="quick_contacts_not_available" msgid="746098007828579688">"Адсутнічае праграма для прагляду гэтага кантакту."</string> @@ -679,7 +679,7 @@ <string name="lockscreen_instructions_when_pattern_enabled" msgid="46154051614126049">"Націсніце \"Меню\", каб разблакаваць, або зрабіце экстраны выклік."</string> <string name="lockscreen_instructions_when_pattern_disabled" msgid="686260028797158364">"Націсніце \"Меню\", каб разблакаваць."</string> <string name="lockscreen_pattern_instructions" msgid="7478703254964810302">"Намалюйце камбінацыю разблакоўкі, каб разблакаваць"</string> - <string name="lockscreen_emergency_call" msgid="5298642613417801888">"Экстранная сітуацыя"</string> + <string name="lockscreen_emergency_call" msgid="5298642613417801888">"SOS-выклік"</string> <string name="lockscreen_return_to_call" msgid="5244259785500040021">"Вярнуцца да выкліку"</string> <string name="lockscreen_pattern_correct" msgid="9039008650362261237">"Правільна!"</string> <string name="lockscreen_pattern_wrong" msgid="4317955014948108794">"Паспрабуйце яшчэ раз"</string> @@ -846,7 +846,7 @@ <string name="days" msgid="4774547661021344602">"д."</string> <string name="hour" msgid="2126771916426189481">"гадзіна"</string> <string name="hours" msgid="894424005266852993">"г."</string> - <string name="minute" msgid="9148878657703769868">"хв."</string> + <string name="minute" msgid="9148878657703769868">"хв"</string> <string name="minutes" msgid="5646001005827034509">"хв."</string> <string name="second" msgid="3184235808021478">"с."</string> <string name="seconds" msgid="3161515347216589235">"с."</string> @@ -954,9 +954,9 @@ <string name="app_running_notification_title" msgid="8718335121060787914">"Прыкладанне <xliff:g id="APP_NAME">%1$s</xliff:g> працуе"</string> <string name="app_running_notification_text" msgid="1197581823314971177">"Дакраніцеся, каб атрымаць дадатковую інфармацыю або спыніць праграму."</string> <string name="ok" msgid="5970060430562524910">"ОК"</string> - <string name="cancel" msgid="6442560571259935130">"Адмяніць"</string> + <string name="cancel" msgid="6442560571259935130">"Скасаваць"</string> <string name="yes" msgid="5362982303337969312">"ОК"</string> - <string name="no" msgid="5141531044935541497">"Адмяніць"</string> + <string name="no" msgid="5141531044935541497">"Скасаваць"</string> <string name="dialog_alert_title" msgid="2049658708609043103">"Увага"</string> <string name="loading" msgid="7933681260296021180">"Загрузка..."</string> <string name="capital_on" msgid="1544682755514494298">"Уключыць"</string> @@ -1052,8 +1052,8 @@ <string name="volume_icon_description_incall" msgid="8890073218154543397">"Гучнасць выкліка"</string> <string name="volume_icon_description_media" msgid="4217311719665194215">"Гучнасць прайгравальніка"</string> <string name="volume_icon_description_notification" msgid="7044986546477282274">"Гучнасць апавяшчэнняў"</string> - <string name="ringtone_default" msgid="3789758980357696936">"Рынгтон па змаўчаннi"</string> - <string name="ringtone_default_with_actual" msgid="8129563480895990372">"Рынгтон па змаўчаннi (<xliff:g id="ACTUAL_RINGTONE">%1$s</xliff:g>)"</string> + <string name="ringtone_default" msgid="3789758980357696936">"Стандартны рынгтон"</string> + <string name="ringtone_default_with_actual" msgid="8129563480895990372">"Стандартны рынгтон (<xliff:g id="ACTUAL_RINGTONE">%1$s</xliff:g>)"</string> <string name="ringtone_silent" msgid="7937634392408977062">"Няма"</string> <string name="ringtone_picker_title" msgid="3515143939175119094">"Рынгтоны"</string> <string name="ringtone_unknown" msgid="5477919988701784788">"Невядомы рынгтон"</string> @@ -1100,12 +1100,12 @@ <string name="sms_control_title" msgid="7296612781128917719">"Адпраўка SMS"</string> <string name="sms_control_message" msgid="3867899169651496433">"Прыкладанне <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> дасылае вялікую колькасць SMS-паведамленняў. Дазволіць гэтаму прыкладанню працягваць адпраўляць паведамленні?"</string> <string name="sms_control_yes" msgid="3663725993855816807">"Дазволіць"</string> - <string name="sms_control_no" msgid="625438561395534982">"Забараніць"</string> + <string name="sms_control_no" msgid="625438561395534982">"Адмовіць"</string> <string name="sms_short_code_confirm_message" msgid="1645436466285310855">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> хоча адправiць паведамленне на адрас <b><xliff:g id="DEST_ADDRESS">%2$s</xliff:g></b>."</string> <string name="sms_short_code_details" msgid="5873295990846059400">"Гэта "<b>"можа прывесці да спагнання аплаты"</b>" з рахунку вашага мабільнага тэлефона."</string> <string name="sms_premium_short_code_details" msgid="7869234868023975"><b>"Гэта прывядзе да спагнання аплаты з рахунку вашага мабільнага тэлефона."</b></string> <string name="sms_short_code_confirm_allow" msgid="4458878637111023413">"Адправiць"</string> - <string name="sms_short_code_confirm_deny" msgid="2927389840209170706">"Адмена"</string> + <string name="sms_short_code_confirm_deny" msgid="2927389840209170706">"Скасаваць"</string> <string name="sms_short_code_remember_choice" msgid="5289538592272218136">"Захаваць мой выбар"</string> <string name="sms_short_code_remember_undo_instruction" msgid="4960944133052287484">"Пазней гэта можна змянiць у раздзеле \"Налады > Прыкладаннi\""</string> <string name="sms_short_code_confirm_always_allow" msgid="3241181154869493368">"Заўсёды дазваляць"</string> @@ -1121,8 +1121,8 @@ <string name="carrier_app_dialog_not_now" msgid="6361378684292268027">"НЕ ЗАРАЗ"</string> <string name="carrier_app_notification_title" msgid="8921767385872554621">"Устаўлена новая SIM-карта"</string> <string name="carrier_app_notification_text" msgid="1132487343346050225">"Краніце, каб наладзіць"</string> - <string name="time_picker_dialog_title" msgid="8349362623068819295">"Усталяваць час"</string> - <string name="date_picker_dialog_title" msgid="5879450659453782278">"Усталяваць дату"</string> + <string name="time_picker_dialog_title" msgid="8349362623068819295">"Задаць час"</string> + <string name="date_picker_dialog_title" msgid="5879450659453782278">"Задаць дату"</string> <string name="date_time_set" msgid="5777075614321087758">"Задаць"</string> <string name="date_time_done" msgid="2507683751759308828">"Гатова"</string> <string name="perms_new_perm_prefix" msgid="8257740710754301407"><font size="12" fgcolor="#ff33b5e5">"НОВАЕ: "</font></string> @@ -1130,15 +1130,15 @@ <string name="no_permissions" msgid="7283357728219338112">"Дазволу не патрабуецца"</string> <string name="perm_costs_money" msgid="4902470324142151116">"за гэта можа спаганяцца плата"</string> <string name="dlg_ok" msgid="7376953167039865701">"ОК"</string> - <string name="usb_charging_notification_title" msgid="6895185153353640787">"Па USB зараджаецца гэта прыладу"</string> + <string name="usb_charging_notification_title" msgid="6895185153353640787">"Праз USB зараджаецца гэта прылада"</string> <string name="usb_supplying_notification_title" msgid="5310642257296510271">"Па USB падачецца сілкаванне падключанай прыладзе"</string> <string name="usb_mtp_notification_title" msgid="8396264943589760855">"USB для перадачы файлаў"</string> <string name="usb_ptp_notification_title" msgid="1347328437083192112">"USB для перадачы фота"</string> <string name="usb_midi_notification_title" msgid="4850904915889144654">"USB для MIDI"</string> <string name="usb_accessory_notification_title" msgid="7848236974087653666">"Падключаны да USB-прылады"</string> <string name="usb_notification_message" msgid="3370903770828407960">"Дакраніцеся, каб атрымаць іншыя параметры."</string> - <string name="adb_active_notification_title" msgid="6729044778949189918">"Прылада адладкі USB падключана"</string> - <string name="adb_active_notification_message" msgid="4948470599328424059">"Дакраніцеся, каб адключыць адладку USB."</string> + <string name="adb_active_notification_title" msgid="6729044778949189918">"Адладка па USB падключана"</string> + <string name="adb_active_notification_message" msgid="4948470599328424059">"Дакраніцеся, каб адключыць адладку па USB."</string> <string name="taking_remote_bugreport_notification_title" msgid="6742483073875060934">"Стварэнне справаздачы пра памылку…"</string> <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Падзяліцца справаздачай пра памылку?"</string> <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Перадача справаздачы пра памылку..."</string> @@ -1211,7 +1211,7 @@ <string name="grant_credentials_permission_message_footer" msgid="3125211343379376561">"Дазволіць гэты запыт?"</string> <string name="grant_permissions_header_text" msgid="6874497408201826708">"Запыт на доступ"</string> <string name="allow" msgid="7225948811296386551">"Дазволіць"</string> - <string name="deny" msgid="2081879885755434506">"Забараніць"</string> + <string name="deny" msgid="2081879885755434506">"Адмовіць"</string> <string name="permission_request_notification_title" msgid="6486759795926237907">"Дазвол запытаны"</string> <string name="permission_request_notification_with_subtitle" msgid="8530393139639560189">"Запытаны дазвол\nдля ўліковага запісу <xliff:g id="ACCOUNT">%s</xliff:g>"</string> <string name="forward_intent_to_owner" msgid="1207197447013960896">"Вы выкарыстоўваеце гэту праграму па-за межамі свайго працоўнага профілю"</string> @@ -1255,7 +1255,7 @@ <string name="action_mode_done" msgid="7217581640461922289">"Гатова"</string> <string name="progress_erasing" product="nosdcard" msgid="4521573321524340058">"Выдаленне дадзеных з USB-назапашвальнiка..."</string> <string name="progress_erasing" product="default" msgid="6596988875507043042">"Выдаленне дадзеных з SD-карты..."</string> - <string name="share" msgid="1778686618230011964">"Адкрыць доступ"</string> + <string name="share" msgid="1778686618230011964">"Абагуліць"</string> <string name="find" msgid="4808270900322985960">"Пошук"</string> <string name="websearch" msgid="4337157977400211589">"Вэб-пошук"</string> <string name="find_next" msgid="5742124618942193978">"Знайсці нiжэй"</string> @@ -1292,7 +1292,7 @@ <string name="date_picker_prev_month_button" msgid="2858244643992056505">"Папярэдні месяц"</string> <string name="date_picker_next_month_button" msgid="5559507736887605055">"Наступны месяц"</string> <string name="keyboardview_keycode_alt" msgid="4856868820040051939">"Alt"</string> - <string name="keyboardview_keycode_cancel" msgid="1203984017245783244">"Адмена"</string> + <string name="keyboardview_keycode_cancel" msgid="1203984017245783244">"Скасаваць"</string> <string name="keyboardview_keycode_delete" msgid="3337914833206635744">"Выдаліць"</string> <string name="keyboardview_keycode_done" msgid="1992571118466679775">"Гатова"</string> <string name="keyboardview_keycode_mode_change" msgid="4547387741906537519">"Змена рэжыму"</string> @@ -1334,11 +1334,11 @@ <string name="data_usage_restricted_body" msgid="469866376337242726">"Дакраніцеся, каб зняць абмежав."</string> <string name="ssl_certificate" msgid="6510040486049237639">"Сертыфікат бяспекі"</string> <string name="ssl_certificate_is_valid" msgid="6825263250774569373">"Гэты сертыфікат сапраўдны."</string> - <string name="issued_to" msgid="454239480274921032">"Выдадзены:"</string> + <string name="issued_to" msgid="454239480274921032">"Каму выдадзена:"</string> <string name="common_name" msgid="2233209299434172646">"Звычайнае імя:"</string> <string name="org_name" msgid="6973561190762085236">"Арганізацыя:"</string> <string name="org_unit" msgid="7265981890422070383">"Аддзел арганізацыі:"</string> - <string name="issued_by" msgid="2647584988057481566">"Выдана:"</string> + <string name="issued_by" msgid="2647584988057481566">"Хто выдаў:"</string> <string name="validity_period" msgid="8818886137545983110">"Тэрмін дзеяння:"</string> <string name="issued_on" msgid="5895017404361397232">"Выдадзены:"</string> <string name="expires_on" msgid="3676242949915959821">"Заканчваецца:"</string> @@ -1381,7 +1381,7 @@ <string name="display_manager_overlay_display_title" msgid="652124517672257172">"<xliff:g id="NAME">%1$s</xliff:g>: <xliff:g id="WIDTH">%2$d</xliff:g>x<xliff:g id="HEIGHT">%3$d</xliff:g>, <xliff:g id="DPI">%4$d</xliff:g> кр. на цалю"</string> <string name="display_manager_overlay_display_secure_suffix" msgid="6022119702628572080">", бяспечны"</string> <string name="kg_forgot_pattern_button_text" msgid="8852021467868220608">"Забылі ключ"</string> - <string name="kg_wrong_pattern" msgid="1850806070801358830">"Няправільна ключ"</string> + <string name="kg_wrong_pattern" msgid="1850806070801358830">"Няправільны ўзор"</string> <string name="kg_wrong_password" msgid="2333281762128113157">"Няправiльны пароль"</string> <string name="kg_wrong_pin" msgid="1131306510833563801">"Няправільны PIN-код"</string> <string name="kg_too_many_failed_attempts_countdown" msgid="6358110221603297548">"Паўтарыце спробу праз <xliff:g id="NUMBER">%1$d</xliff:g> с."</string> diff --git a/core/res/res/values-bg/strings.xml b/core/res/res/values-bg/strings.xml index 1dc6fb2fbd56..2f41788c5ede 100644 --- a/core/res/res/values-bg/strings.xml +++ b/core/res/res/values-bg/strings.xml @@ -253,7 +253,7 @@ <string name="permgrouplab_storage" msgid="1971118770546336966">"Съхранение"</string> <string name="permgroupdesc_storage" msgid="637758554581589203">"има достъп до снимките, мултимедията и файловете на устройството ви"</string> <string name="permgrouplab_microphone" msgid="171539900250043464">"Микрофон"</string> - <string name="permgroupdesc_microphone" msgid="4988812113943554584">"запис на звук"</string> + <string name="permgroupdesc_microphone" msgid="4988812113943554584">"записва звук"</string> <string name="permgrouplab_camera" msgid="4820372495894586615">"Камера"</string> <string name="permgroupdesc_camera" msgid="3250611594678347720">"прави снимки и записва видеоклипове"</string> <string name="permgrouplab_phone" msgid="5229115638567440675">"Телефон"</string> @@ -362,7 +362,7 @@ <string name="permdesc_accessCoarseLocation" msgid="2538200184373302295">"Разрешава на приложението да получи приблизителното ви местоположение. То се извлича от услугите за местоположение посредством съответните мрежови източници, като клетъчни кули и Wi-Fi. Тези услуги трябва да са включени и налице на устройството ви, за да могат да се използват от приложението. Приложенията може да ползват това, за да определят къде приблизително се намирате."</string> <string name="permlab_modifyAudioSettings" msgid="6095859937069146086">"промяна на настройките ви за звука"</string> <string name="permdesc_modifyAudioSettings" msgid="3522565366806248517">"Разрешава на приложението да променя глобалните настройки за звука, като например силата и това, кой високоговорител се използва за изход."</string> - <string name="permlab_recordAudio" msgid="3876049771427466323">"запис на звук"</string> + <string name="permlab_recordAudio" msgid="3876049771427466323">"записва звук"</string> <string name="permdesc_recordAudio" msgid="4906839301087980680">"Разрешава на приложението да записва звук с микрофона. Това разрешение му позволява да го прави по всяко време без потвърждение от ваша страна."</string> <string name="permlab_sim_communication" msgid="2935852302216852065">"изпращане на команди до SIM картата"</string> <string name="permdesc_sim_communication" msgid="5725159654279639498">"Разрешава на приложението да изпраща команди до SIM картата. Това е много опасно."</string> @@ -529,7 +529,7 @@ <string name="policylab_wipeData" msgid="3910545446758639713">"Изтриване на всички данни"</string> <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Изтриване на данните в таблета без предупреждение чрез възстановяване на фабричните настройки."</string> <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Изтриване на данните от телевизора без предупреждение чрез възстановяване на фабричните настройки."</string> - <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Изтриване на данните в телефона без предупреждение чрез възстановяване на фабричните настройки."</string> + <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Изтрива данните в телефона без предупреждение чрез възстановяване на фабричните настройки."</string> <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Изтриване на потребителските данни"</string> <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Изтрива данните на този потребител от таблета без предупреждение."</string> <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Изтрива данните на този потребител от телевизора без предупреждение."</string> @@ -604,8 +604,8 @@ <string name="phoneTypeRadio" msgid="4093738079908667513">"Радиотелефон"</string> <string name="phoneTypeTelex" msgid="3367879952476250512">"Телекс"</string> <string name="phoneTypeTtyTdd" msgid="8606514378585000044">"TTY TDD"</string> - <string name="phoneTypeWorkMobile" msgid="1311426989184065709">"Служебен мобилен"</string> - <string name="phoneTypeWorkPager" msgid="649938731231157056">"Служебен пейджър"</string> + <string name="phoneTypeWorkMobile" msgid="1311426989184065709">"Служ. мобилен"</string> + <string name="phoneTypeWorkPager" msgid="649938731231157056">"Служ. пейджър"</string> <string name="phoneTypeAssistant" msgid="5596772636128562884">"Асистент"</string> <string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string> <string name="eventTypeCustom" msgid="7837586198458073404">"Персонализирано"</string> @@ -1096,7 +1096,7 @@ <string name="no_permissions" msgid="7283357728219338112">"Не се изискват разрешения"</string> <string name="perm_costs_money" msgid="4902470324142151116">"това може да ви струва пари"</string> <string name="dlg_ok" msgid="7376953167039865701">"OK"</string> - <string name="usb_charging_notification_title" msgid="6895185153353640787">"През USB се зарежда това устройство"</string> + <string name="usb_charging_notification_title" msgid="6895185153353640787">"Това устройство се зарежда през USB"</string> <string name="usb_supplying_notification_title" msgid="5310642257296510271">"През USB се зарежда свързаното устройство"</string> <string name="usb_mtp_notification_title" msgid="8396264943589760855">"USB за прехвърляне на файлове"</string> <string name="usb_ptp_notification_title" msgid="1347328437083192112">"USB за прехвърляне на снимки"</string> diff --git a/core/res/res/values-bn-rBD/strings.xml b/core/res/res/values-bn-rBD/strings.xml index 8c92e6bc311f..eb6ee1a7a379 100644 --- a/core/res/res/values-bn-rBD/strings.xml +++ b/core/res/res/values-bn-rBD/strings.xml @@ -122,21 +122,21 @@ <string name="roamingText11" msgid="4154476854426920970">"রোমিং ব্যানার চালু আছে"</string> <string name="roamingText12" msgid="1189071119992726320">"রোমিং ব্যানার বন্ধ আছে"</string> <string name="roamingTextSearching" msgid="8360141885972279963">"পরিষেবা অনুসন্ধান করা হচ্ছে"</string> - <string name="wfcRegErrorTitle" msgid="2301376280632110664">"Wi-Fi কলিং"</string> + <string name="wfcRegErrorTitle" msgid="2301376280632110664">"ওয়াই-ফাই কলিং"</string> <string-array name="wfcOperatorErrorAlertMessages"> - <item msgid="2254967670088539682">"Wi-Fi এর মাধ্যমে কল করতে ও বার্তা পাঠাতে, প্রথমে আপনার পরিষেবা প্রদানকারীকে এই পরিষেবার সেট আপ করার বিষয়ে জিজ্ঞাসা করুন। তারপরে আবার সেটিংস থেকে Wi-Fi কলিং চালু করুন।"</item> + <item msgid="2254967670088539682">"ওয়াই-ফাই এর মাধ্যমে কল করতে ও বার্তা পাঠাতে, প্রথমে আপনার পরিষেবা প্রদানকারীকে এই পরিষেবার সেট আপ করার বিষয়ে জিজ্ঞাসা করুন। তারপরে আবার সেটিংস থেকে ওয়াই-ফাই কলিং চালু করুন।"</item> </string-array> <string-array name="wfcOperatorErrorNotificationMessages"> <item msgid="6177300162212449033">"আপনার পরিষেবা প্রদানকারীকে নথিভুক্ত করুন"</item> </string-array> <string-array name="wfcSpnFormats"> <item msgid="6830082633573257149">"%s"</item> - <item msgid="4397097370387921767">"%s Wi-Fi কলিং"</item> + <item msgid="4397097370387921767">"%s ওয়াই-ফাই কলিং"</item> </string-array> <string name="wifi_calling_off_summary" msgid="8720659586041656098">"বন্ধ আছে"</string> - <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"পছন্দের Wi-Fi"</string> + <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"পছন্দের ওয়াই-ফাই"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="5920549484600758786">"পছন্দের মোবাইল নেটওয়ার্ক"</string> - <string name="wfc_mode_wifi_only_summary" msgid="2379919155237869320">"শুধুমাত্র Wi-Fi"</string> + <string name="wfc_mode_wifi_only_summary" msgid="2379919155237869320">"শুধুমাত্র ওয়াই-ফাই"</string> <string name="cfTemplateNotForwarded" msgid="1683685883841272560">"<xliff:g id="BEARER_SERVICE_CODE">{0}</xliff:g>: ফরওয়ার্ড করা হয়নি"</string> <string name="cfTemplateForwarded" msgid="1302922117498590521">"<xliff:g id="BEARER_SERVICE_CODE">{0}</xliff:g>: <xliff:g id="DIALING_NUMBER">{1}</xliff:g>"</string> <string name="cfTemplateForwardedTime" msgid="9206251736527085256">"<xliff:g id="BEARER_SERVICE_CODE">{0}</xliff:g>: <xliff:g id="DIALING_NUMBER">{1}</xliff:g> <xliff:g id="TIME_DELAY">{2}</xliff:g> সেকেন্ড পরে"</string> @@ -243,7 +243,7 @@ <string name="user_owner_label" msgid="1119010402169916617">"ব্যক্তিগততে পাল্টান"</string> <string name="managed_profile_label" msgid="5289992269827577857">"কর্মস্থানে পাল্টান"</string> <string name="permgrouplab_contacts" msgid="3657758145679177612">"পরিচিতি"</string> - <string name="permgroupdesc_contacts" msgid="6951499528303668046">"আপনার পরিচিতিগুলিতে অ্যাক্সেস করুন"</string> + <string name="permgroupdesc_contacts" msgid="6951499528303668046">"আপনার পরিচিতিগুলিতে অ্যাক্সেস"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"অবস্থান"</string> <string name="permgroupdesc_location" msgid="1346617465127855033">"এই ডিভাইসের অবস্থান অ্যাক্সেস"</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"ক্যালেন্ডার"</string> @@ -253,9 +253,9 @@ <string name="permgrouplab_storage" msgid="1971118770546336966">"সঞ্চয়স্থান"</string> <string name="permgroupdesc_storage" msgid="637758554581589203">"আপনার ডিভাইসে ফটো, মিডিয়া এবং ফাইলগুলিতে অ্যাক্সেস"</string> <string name="permgrouplab_microphone" msgid="171539900250043464">"মাইক্রোফোন"</string> - <string name="permgroupdesc_microphone" msgid="4988812113943554584">"অডিও রেকর্ড করুন"</string> + <string name="permgroupdesc_microphone" msgid="4988812113943554584">"অডিও রেকর্ড"</string> <string name="permgrouplab_camera" msgid="4820372495894586615">"ক্যামেরা"</string> - <string name="permgroupdesc_camera" msgid="3250611594678347720">"ছবি তুলুন এবং ভিডিও রেকর্ড করুন"</string> + <string name="permgroupdesc_camera" msgid="3250611594678347720">"ছবি তোলা এবং ভিডিও রেকর্ড"</string> <string name="permgrouplab_phone" msgid="5229115638567440675">"ফোন"</string> <string name="permgroupdesc_phone" msgid="6234224354060641055">"ফোন কলগুলি এবং পরিচালনা"</string> <string name="permgrouplab_sensors" msgid="416037179223226722">"বডি সেন্সরগুলি"</string> @@ -292,7 +292,7 @@ <string name="permdesc_readCellBroadcasts" msgid="6361972776080458979">"আপনার ডিভাইস দ্বারা প্রাপ্ত সেল সম্প্রচার পড়তে অ্যাপ্লিকেশানটিকে অনুমতি দেয়৷ কয়েকটি স্থানে আপনাকে জরুরি অবস্থার জন্য সতর্ক করতে জরুরি সতর্কতাগুলি বিতরণ করা হয়৷ যখন একটি জরুরি সেল সম্প্রচার প্রাপ্ত হয় তখন ক্ষতিকারক অ্যাপ্লিকেশানগুলি আপনার ডিভাইসের কার্য সম্পাদনা বা কার্যকলাপে প্রতিবন্ধকতার সৃষ্টি করতে পারে৷"</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"গ্রাহক হিসাবে নেওয়া ফিডগুলি পড়ে"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"অ্যাপ্লিকেশানকে বর্তমানে সিঙ্ক করা ফিডগুলির সম্পর্কে বিবরণ পেতে দেয়৷"</string> - <string name="permlab_sendSms" msgid="7544599214260982981">"SMS বার্তাগুলি পাঠাতে এবং দেখতে"</string> + <string name="permlab_sendSms" msgid="7544599214260982981">"SMS পাঠানো ও দেখা,আপনি কি পরিচিতি কে এগুলি করার মঞ্জুরি দেবেন?"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"অ্যাপ্লিকেশানটিকে SMS বার্তাগুলি পাঠাতে অনুমতি দেয়৷ এর জন্য অপ্রত্যাশিত চার্জ কাটা হতে পারে৷ ক্ষতিকারক অ্যাপ্লিকেশানগুলি আপনার নিশ্চিতকরণ ছাড়া বার্তা পাঠানোর মাধ্যমে আপনাকে অর্থ চার্জ করতে পারে৷"</string> <string name="permlab_readSms" msgid="8745086572213270480">"আপনার পাঠ্য বার্তা পড়ুন (SMS বা MMS)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"অ্যাপ্লিকেশানটিকে আপনার ট্যাবলেটে বা আপনার সিম কার্ডে সংরক্ষিত SMS বার্তাগুলি পড়ার অনুমতি দেয়৷ এটি অ্যাপ্লিকেশানটিকে সামগ্রী বা গোপনীয়তার সমস্ত SMS বার্তা নির্বিশেষে পড়ার অনুমতি দেয়৷"</string> @@ -357,12 +357,12 @@ <string name="permlab_accessLocationExtraCommands" msgid="2836308076720553837">"অতিরিক্ত অবস্থান প্রদানকারী কমান্ডগুলি অ্যাক্সেস করে"</string> <string name="permdesc_accessLocationExtraCommands" msgid="6078307221056649927">"অবস্থানের সাথে সম্পর্কিত তথ্য প্রদানকারীর অতিরিক্ত কম্যান্ডগুলিকে অ্যাপ্লিকেশানটিকে মঞ্জুর করে৷ এটি অ্যাপ্লিকেশানটিকে GPS অথবা অন্যান্য অবস্থান নির্ণয়ের সাথে সম্পর্কিত উৎসগুলির ক্রিয়াপ্রণালীর নিয়ন্ত্রণকে মঞ্জুর করতে পারে৷"</string> <string name="permlab_accessFineLocation" msgid="251034415460950944">"সুনির্দিষ্ট অবস্থান (GPS এবং নেটওয়ার্ক-ভিত্তিক) অ্যাক্সেস করুন"</string> - <string name="permdesc_accessFineLocation" msgid="5295047563564981250">"গ্লোবাল পজিশনিং সিস্টেম (GPS) অথবা সেল টাওয়ার ও Wi-Fi এর মতো নেটওয়ার্কের অবস্থান উৎসগুলি ব্যবহার করে আপনার যথাযথ অবস্থান নির্ণয় করতে অ্যাপ্লিকেশানটিকে মঞ্জুর করে৷ এই অবস্থান নির্ণয়ের সাথে সম্পর্কিত পরিষেবাগুলিকে চালু করে রাখতে হবে এবং অ্যাপ্লিকেশানটি যাতে সেগুলি ব্যবহার করতে পারে সেজন্য সেগুলিকে আপনার ডিভাইসে উপলব্ধ করে রাখতে হবে৷ অ্যাপ্লিকেশানগুলি আপনার অবস্থান নির্ণয়ের কাজে এগুলির ব্যবহার করতে পারে, এবং এর জন্য অতিরিক্ত ব্যাটারি পাওয়ার লাগতে পারে৷"</string> + <string name="permdesc_accessFineLocation" msgid="5295047563564981250">"গ্লোবাল পজিশনিং সিস্টেম (GPS) অথবা সেল টাওয়ার ও ওয়াই-ফাই এর মতো নেটওয়ার্কের অবস্থান উৎসগুলি ব্যবহার করে আপনার যথাযথ অবস্থান নির্ণয় করতে অ্যাপ্লিকেশানটিকে মঞ্জুর করে৷ এই অবস্থান নির্ণয়ের সাথে সম্পর্কিত পরিষেবাগুলিকে চালু করে রাখতে হবে এবং অ্যাপ্লিকেশানটি যাতে সেগুলি ব্যবহার করতে পারে সেজন্য সেগুলিকে আপনার ডিভাইসে উপলব্ধ করে রাখতে হবে৷ অ্যাপ্লিকেশানগুলি আপনার অবস্থান নির্ণয়ের কাজে এগুলির ব্যবহার করতে পারে, এবং এর জন্য অতিরিক্ত ব্যাটারি পাওয়ার লাগতে পারে৷"</string> <string name="permlab_accessCoarseLocation" msgid="7715277613928539434">"আনুমানিক অবস্থান (নেটওয়ার্ক-ভিত্তিক) অ্যাক্সেস করুন"</string> - <string name="permdesc_accessCoarseLocation" msgid="2538200184373302295">"আপনার আনুমানিক অবস্থান নির্ণয় করতে অ্যাপ্লিকেশানটিকে অনুমোদিত করে৷ এই অবস্থান নির্ণয় সেল টাওয়ার ও Wi-Fi এর মতো নেটওয়ার্কের অবস্থান উৎসগুলি ব্যবহার করে অবস্থান নির্ধারণের সাথে সম্পর্কিত পরিষেবাগুলি থেকে নেওয়া হয়ে থাকে৷ এই অবস্থান নির্ণয়ের সাথে সম্পর্কিত পরিষেবাগুলিকে চালু করে রাখতে হবে এবং অ্যাপ্লিকেশানটি যাতে সেগুলি ব্যবহার করতে পারে সেজন্য সেগুলিকে আপনার ডিভাইসে উপলব্ধ করে রাখতে হবে৷ অ্যাপ্লিকেশানগুলি আপনার আনুমানিক অবস্থান নির্ণয়ের কাজে এগুলির ব্যবহার করতে পারে৷"</string> + <string name="permdesc_accessCoarseLocation" msgid="2538200184373302295">"আপনার আনুমানিক অবস্থান নির্ণয় করতে অ্যাপ্লিকেশানটিকে অনুমোদিত করে৷ এই অবস্থান নির্ণয় সেল টাওয়ার ও ওয়াই-ফাই এর মতো নেটওয়ার্কের অবস্থান উৎসগুলি ব্যবহার করে অবস্থান নির্ধারণের সাথে সম্পর্কিত পরিষেবাগুলি থেকে নেওয়া হয়ে থাকে৷ এই অবস্থান নির্ণয়ের সাথে সম্পর্কিত পরিষেবাগুলিকে চালু করে রাখতে হবে এবং অ্যাপ্লিকেশানটি যাতে সেগুলি ব্যবহার করতে পারে সেজন্য সেগুলিকে আপনার ডিভাইসে উপলব্ধ করে রাখতে হবে৷ অ্যাপ্লিকেশানগুলি আপনার আনুমানিক অবস্থান নির্ণয়ের কাজে এগুলির ব্যবহার করতে পারে৷"</string> <string name="permlab_modifyAudioSettings" msgid="6095859937069146086">"আপনার অডিও সেটিংস পরিবর্তন করে"</string> <string name="permdesc_modifyAudioSettings" msgid="3522565366806248517">"ভলিউম এবং যেখানে স্পিকার আউটপুট সামগ্রী হিসাবে ব্যবহৃত হয় সেই সব ক্ষেত্রে গ্লোবাল অডিও সেটিংসের সংশোধন করতে অ্যাপ্লিকেশানটিকে মঞ্জুর করে৷"</string> - <string name="permlab_recordAudio" msgid="3876049771427466323">"অডিও রেকর্ড করে"</string> + <string name="permlab_recordAudio" msgid="3876049771427466323">"অডিও রেকর্ড"</string> <string name="permdesc_recordAudio" msgid="4906839301087980680">"অ্যাপ্লিকেশানটিকে মাইক্রোফোনের দ্বারা অডিও রেকর্ড করার অনুমতি দেয়৷ এই অনুমতিটি অ্যাপ্লিকেশানটিকে আপনার অনুমোদন ছাড়া যেকোনো সময় অডিও রেকর্ড করার অনুমতি দেয়৷"</string> <string name="permlab_sim_communication" msgid="2935852302216852065">"SIM এ আদেশগুলি পাঠান"</string> <string name="permdesc_sim_communication" msgid="5725159654279639498">"অ্যাপ্লিকেশানটিকে সিম কার্ডে কমান্ডগুলি পাঠানোর অনুমতি দেয়৷ এটি খুবই বিপজ্জনক৷"</string> @@ -406,28 +406,28 @@ <string name="permdesc_changeNetworkState" msgid="6789123912476416214">"অ্যাপ্লিকেশানকে নেটওয়ার্ক সংযোগ অবস্থা পরিবর্তন করার অনুমতি দেয়৷"</string> <string name="permlab_changeTetherState" msgid="5952584964373017960">"টিথারিং করা সংযোগকে পরিবর্তন করে"</string> <string name="permdesc_changeTetherState" msgid="1524441344412319780">"অ্যাপ্লিকেশানকে টেথার করা নেটওয়ার্ক সংযোগ অবস্থা পরিবর্তন করার অনুমতি দেয়৷"</string> - <string name="permlab_accessWifiState" msgid="5202012949247040011">"Wi-Fi সংযোগগুলি দেখুন"</string> - <string name="permdesc_accessWifiState" msgid="5002798077387803726">"অ্যাপ্লিকেশানটিকে Wi-Fi নেটওয়ার্কিং সম্পর্কিত তথ্য, যেমন Wi-Fi সক্ষম করা আছে কিনা এবং সংযুক্ত Wi-Fi ডিভাইসগুলির নাম দেখার অনুমতি প্রদান করে৷"</string> - <string name="permlab_changeWifiState" msgid="6550641188749128035">"Wi-Fi এর সাথে সংযুক্ত হন বা সংযোগ বিচ্ছিন্ন করুন"</string> - <string name="permdesc_changeWifiState" msgid="7137950297386127533">"Wi-Fi অ্যাক্সেস পয়েন্টের সাথে সংযোগ স্থাপন করতে বা সংযোগ বিচ্ছিন্ন করতে এবং Wi-Fi নেটওয়ার্কগুলির জন্য ডিভাইস কনফিগারেশনে পরিবর্তন করতে অ্যাপ্লিকেশানটিকে মঞ্জুর করে৷"</string> - <string name="permlab_changeWifiMulticastState" msgid="1368253871483254784">"Wi-Fi মাল্টিকাস্ট রিসেপশন মঞ্জুর করে"</string> - <string name="permdesc_changeWifiMulticastState" product="tablet" msgid="7969774021256336548">"একটি Wi-Fi নেটওয়ার্কে মাল্টিকাস্ট ঠিকানাগুলি ব্যবহার করে শুধুমাত্র আপনার ট্যাবলেটের পরিবর্তে সমস্ত ডিভাইসে পাঠানো প্যাকেটগুলি গ্রহণ করতে অ্যাপ্লিকেশানটিকে মঞ্জুর করে৷ এটি নন-মাল্টিকাস্ট মোডের তুলনায় বেশি পাওয়ার ব্যবহার করে৷"</string> - <string name="permdesc_changeWifiMulticastState" product="tv" msgid="9031975661145014160">"অ্যাপ্লিকেশানটিকে মাল্টিকাস্ট ঠিকানা ব্যবহার করে কোনো Wi-Fi নেটওয়ার্কে সমস্ত ডিভাইসে পাঠানো সমস্ত প্যাকেটগুলি গ্রহণ করার অনুমতি দেয়৷ অ-মাল্টিকাস্ট মোডের তুলনায় এটি বেশি পাওয়ার ব্যবহার করে৷"</string> - <string name="permdesc_changeWifiMulticastState" product="default" msgid="6851949706025349926">"একটি Wi-Fi নেটওয়ার্কে মাল্টিকাস্ট ঠিকানাগুলি ব্যবহার করে শুধুমাত্র আপনার ফোনের পরিবর্তে সমস্ত ডিভাইসে পাঠানো প্যাকেটগুলি গ্রহণ করতে অ্যাপ্লিকেশানটিকে মঞ্জুর করে৷ এটি নন-মাল্টিকাস্ট মোডের তুলনায় বেশি পাওয়ার ব্যবহার করে৷"</string> - <string name="permlab_bluetoothAdmin" msgid="6006967373935926659">"Bluetooth এর সেটিংস অ্যাক্সেস করুন"</string> - <string name="permdesc_bluetoothAdmin" product="tablet" msgid="6921177471748882137">"অ্যাপ্লিকেশানটিকে স্থানীয় Bluetooth ট্যাবলেটকে কনফিগার এবং দূরবর্তী ডিভাইসগুলি আবিষ্কার এবং এর সাথে যুক্ত করতে দেয়৷"</string> - <string name="permdesc_bluetoothAdmin" product="tv" msgid="3373125682645601429">"অ্যাপ্লিকেশানটিকে স্থানীয় Bluetooth টিভিটিকে কনফিগার এবং দূরবর্তী ডিভাইসগুলি আবিষ্কার এবং এর সাথে যুক্ত করতে দেয়৷"</string> - <string name="permdesc_bluetoothAdmin" product="default" msgid="8931682159331542137">"অ্যাপ্লিকেশানটিকে স্থানীয় Bluetooth ফোনটিকে কনফিগার এবং দূরবর্তী ডিভাইসগুলি আবিষ্কার এবং এর সাথে যুক্ত করতে দেয়৷"</string> + <string name="permlab_accessWifiState" msgid="5202012949247040011">"ওয়াই-ফাই সংযোগগুলি দেখুন"</string> + <string name="permdesc_accessWifiState" msgid="5002798077387803726">"অ্যাপ্লিকেশানটিকে ওয়াই-ফাই নেটওয়ার্কিং সম্পর্কিত তথ্য, যেমন ওয়াই-ফাই সক্ষম করা আছে কিনা এবং সংযুক্ত ওয়াই-ফাই ডিভাইসগুলির নাম দেখার অনুমতি প্রদান করে৷"</string> + <string name="permlab_changeWifiState" msgid="6550641188749128035">"ওয়াই-ফাই এর সাথে সংযুক্ত হন বা সংযোগ বিচ্ছিন্ন করুন"</string> + <string name="permdesc_changeWifiState" msgid="7137950297386127533">"ওয়াই-ফাই অ্যাক্সেস পয়েন্টের সাথে সংযোগ স্থাপন করতে বা সংযোগ বিচ্ছিন্ন করতে এবং ওয়াই-ফাই নেটওয়ার্কগুলির জন্য ডিভাইস কনফিগারেশনে পরিবর্তন করতে অ্যাপ্লিকেশানটিকে মঞ্জুর করে৷"</string> + <string name="permlab_changeWifiMulticastState" msgid="1368253871483254784">"ওয়াই-ফাই মাল্টিকাস্ট রিসেপশন মঞ্জুর করে"</string> + <string name="permdesc_changeWifiMulticastState" product="tablet" msgid="7969774021256336548">"একটি ওয়াই-ফাই নেটওয়ার্কে মাল্টিকাস্ট ঠিকানাগুলি ব্যবহার করে শুধুমাত্র আপনার ট্যাবলেটের পরিবর্তে সমস্ত ডিভাইসে পাঠানো প্যাকেটগুলি গ্রহণ করতে অ্যাপ্লিকেশানটিকে মঞ্জুর করে৷ এটি নন-মাল্টিকাস্ট মোডের তুলনায় বেশি পাওয়ার ব্যবহার করে৷"</string> + <string name="permdesc_changeWifiMulticastState" product="tv" msgid="9031975661145014160">"অ্যাপ্লিকেশানটিকে মাল্টিকাস্ট ঠিকানা ব্যবহার করে কোনো ওয়াই-ফাই নেটওয়ার্কে সমস্ত ডিভাইসে পাঠানো সমস্ত প্যাকেটগুলি গ্রহণ করার অনুমতি দেয়৷ অ-মাল্টিকাস্ট মোডের তুলনায় এটি বেশি পাওয়ার ব্যবহার করে৷"</string> + <string name="permdesc_changeWifiMulticastState" product="default" msgid="6851949706025349926">"একটি ওয়াই-ফাই নেটওয়ার্কে মাল্টিকাস্ট ঠিকানাগুলি ব্যবহার করে শুধুমাত্র আপনার ফোনের পরিবর্তে সমস্ত ডিভাইসে পাঠানো প্যাকেটগুলি গ্রহণ করতে অ্যাপ্লিকেশানটিকে মঞ্জুর করে৷ এটি নন-মাল্টিকাস্ট মোডের তুলনায় বেশি পাওয়ার ব্যবহার করে৷"</string> + <string name="permlab_bluetoothAdmin" msgid="6006967373935926659">"ব্লুটুথ এর সেটিংস অ্যাক্সেস করুন"</string> + <string name="permdesc_bluetoothAdmin" product="tablet" msgid="6921177471748882137">"অ্যাপ্লিকেশানটিকে স্থানীয় ব্লুটুথ ট্যাবলেটকে কনফিগার এবং দূরবর্তী ডিভাইসগুলি আবিষ্কার এবং এর সাথে যুক্ত করতে দেয়৷"</string> + <string name="permdesc_bluetoothAdmin" product="tv" msgid="3373125682645601429">"অ্যাপ্লিকেশানটিকে স্থানীয় ব্লুটুথ টিভিটিকে কনফিগার এবং দূরবর্তী ডিভাইসগুলি আবিষ্কার এবং এর সাথে যুক্ত করতে দেয়৷"</string> + <string name="permdesc_bluetoothAdmin" product="default" msgid="8931682159331542137">"অ্যাপ্লিকেশানটিকে স্থানীয় ব্লুটুথ ফোনটিকে কনফিগার এবং দূরবর্তী ডিভাইসগুলি আবিষ্কার এবং এর সাথে যুক্ত করতে দেয়৷"</string> <string name="permlab_accessWimaxState" msgid="4195907010610205703">"WiMAX এর সাথে সংযুক্ত হন বা সংযোগ বিচ্ছিন্ন করুন"</string> <string name="permdesc_accessWimaxState" msgid="6360102877261978887">"অ্যাপ্লিকেশানটিকে WiMAX সক্ষম করা আছে কিনা সে বিষয়ে নিশ্চিত হতে এবং সংযুক্ত যেকোনো WiMAX নেটওয়ার্ক সম্পর্কিত তথ্য সম্বন্ধে নিশ্চিত হওয়ার অনুমতি প্রদান করে৷"</string> <string name="permlab_changeWimaxState" msgid="340465839241528618">"WiMAX এর স্থিতি পরিবর্তন করুন"</string> <string name="permdesc_changeWimaxState" product="tablet" msgid="3156456504084201805">"WiMAX নেটওয়ার্কগুলির সাথে ট্যাবলেটটির সংযোগ স্থাপন করতে এবং সংযোগ বিচ্ছিন্ন করতে অ্যাপ্লিকেশানটিকে মঞ্জুর করে৷"</string> <string name="permdesc_changeWimaxState" product="tv" msgid="6022307083934827718">"টিভিকে WiMAX এ সংযোগ করতে এবং সংযোগ বিচ্ছিন্ন করার কাজটি করতে অ্যাপ্লিকেশানটিকে অনুমতি দেয়৷"</string> <string name="permdesc_changeWimaxState" product="default" msgid="697025043004923798">"WiMAX নেটওয়ার্কগুলির সাথে ফোনটির সংযোগ স্থাপন করতে এবং সংযোগ বিচ্ছিন্ন করতে অ্যাপ্লিকেশানটিকে মঞ্জুর করে৷"</string> - <string name="permlab_bluetooth" msgid="6127769336339276828">"Bluetooth ডিভাইসগুলির সাথে যুক্ত করুন"</string> - <string name="permdesc_bluetooth" product="tablet" msgid="3480722181852438628">"ট্যাবলেটের Bluetooth কনফিগারেশন দেখতে, এবং যুক্ত ডিভাইসগুলির সাথে সংযোগ স্থাপন এবং সংযোগের অনুরোধ স্বীকার করতে অ্যাপ্লিকেশানটিকে মঞ্জুর করে৷"</string> - <string name="permdesc_bluetooth" product="tv" msgid="3974124940101104206">"অ্যাপ্লিকেশানটিকে টিভিতে Bluetooth কনফিগারেশন দেখার এবং যুক্ত হওয়া ডিভাইসগুলির সাথে সংযোগ তৈরি করার এবং স্বীকার করার অনুমতি দেয়৷"</string> - <string name="permdesc_bluetooth" product="default" msgid="3207106324452312739">"ফোনের Bluetooth কনফিগারেশন দেখতে, এবং যুক্ত ডিভাইসগুলির সাথে সংযোগ স্থাপন এবং সংযোগের অনুরোধ স্বীকার করতে অ্যাপ্লিকেশানটিকে মঞ্জুর করে৷"</string> + <string name="permlab_bluetooth" msgid="6127769336339276828">"ব্লুটুথ ডিভাইসগুলির সাথে যুক্ত করুন"</string> + <string name="permdesc_bluetooth" product="tablet" msgid="3480722181852438628">"ট্যাবলেটের ব্লুটুথ কনফিগারেশন দেখতে, এবং যুক্ত ডিভাইসগুলির সাথে সংযোগ স্থাপন এবং সংযোগের অনুরোধ স্বীকার করতে অ্যাপ্লিকেশানটিকে মঞ্জুর করে৷"</string> + <string name="permdesc_bluetooth" product="tv" msgid="3974124940101104206">"অ্যাপ্লিকেশানটিকে টিভিতে ব্লুটুথ কনফিগারেশন দেখার এবং যুক্ত হওয়া ডিভাইসগুলির সাথে সংযোগ তৈরি করার এবং স্বীকার করার অনুমতি দেয়৷"</string> + <string name="permdesc_bluetooth" product="default" msgid="3207106324452312739">"ফোনের ব্লুটুথ কনফিগারেশন দেখতে, এবং যুক্ত ডিভাইসগুলির সাথে সংযোগ স্থাপন এবং সংযোগের অনুরোধ স্বীকার করতে অ্যাপ্লিকেশানটিকে মঞ্জুর করে৷"</string> <string name="permlab_nfc" msgid="4423351274757876953">"নিয়ার ফিল্ড কমিউনিকেশন নিয়ন্ত্রণ করে"</string> <string name="permdesc_nfc" msgid="7120611819401789907">"অ্যাপ্লিকেশানকে নিয়ার ফিল্ড কমিউনিকেশন (NFC) ট্যাগ, কার্ড এবং রিডারগুলির সাথে যোগাযোগ করতে দেয়৷"</string> <string name="permlab_disableKeyguard" msgid="3598496301486439258">"আপনার স্ক্রীন লক অক্ষম করুন"</string> @@ -955,8 +955,8 @@ <string name="alwaysUse" msgid="4583018368000610438">"এই ক্রিয়াটির জন্য এটিকে ডিফল্টরুপে ব্যবহার করুন৷"</string> <string name="use_a_different_app" msgid="8134926230585710243">"আলাদা কোনো অ্যাপ্লিকেশান ব্যবহার করুন"</string> <string name="clearDefaultHintMsg" msgid="3252584689512077257">"সিস্টেম সেটিংস > অ্যাপ্স > ডাউনলোড করাগুলি এ গিয়ে ডিফল্ট সরিয়ে দিন৷"</string> - <string name="chooseActivity" msgid="7486876147751803333">"একটি ক্রিয়া চয়ন করুন"</string> - <string name="chooseUsbActivity" msgid="6894748416073583509">"USB ডিভাইসটির জন্য একটি অ্যাপ্লিকেশান চয়ন করুন"</string> + <string name="chooseActivity" msgid="7486876147751803333">"একটি ক্রিয়া বেছে নিন"</string> + <string name="chooseUsbActivity" msgid="6894748416073583509">"USB ডিভাইসটির জন্য একটি অ্যাপ্লিকেশান বেছে নিন"</string> <string name="noApplications" msgid="2991814273936504689">"কোনো অ্যাপ্লিকেশানই এই ক্রিয়া সঞ্চালন করতে পারবে না৷"</string> <string name="aerr_application" msgid="250320989337856518">"<xliff:g id="APPLICATION">%1$s</xliff:g> বন্ধ হয়েছে"</string> <string name="aerr_process" msgid="6201597323218674729">"<xliff:g id="PROCESS">%1$s</xliff:g> বন্ধ হয়েছে"</string> @@ -1010,14 +1010,14 @@ <string name="sendText" msgid="5209874571959469142">"পাঠ্যের জন্য একটি কাজ বেছে নিন"</string> <string name="volume_ringtone" msgid="6885421406845734650">"রিং ভলিউম"</string> <string name="volume_music" msgid="5421651157138628171">"মিডিয়ার ভলিউম"</string> - <string name="volume_music_hint_playing_through_bluetooth" msgid="9165984379394601533">"Bluetooth এর মাধ্যমে প্লে করা হচ্ছে"</string> + <string name="volume_music_hint_playing_through_bluetooth" msgid="9165984379394601533">"ব্লুটুথ এর মাধ্যমে প্লে করা হচ্ছে"</string> <string name="volume_music_hint_silent_ringtone_selected" msgid="8310739960973156272">"রিংটোন নিঃশব্দতে সেট করা হয়েছে"</string> <string name="volume_call" msgid="3941680041282788711">"কলে থাকা কালীন ভলিউম"</string> - <string name="volume_bluetooth_call" msgid="2002891926351151534">"কলে থাকা কালীন Bluetooth এর ভলিউম"</string> + <string name="volume_bluetooth_call" msgid="2002891926351151534">"কলে থাকা কালীন ব্লুটুথ এর ভলিউম"</string> <string name="volume_alarm" msgid="1985191616042689100">"অ্যালার্মের ভলিউম"</string> <string name="volume_notification" msgid="2422265656744276715">"বিজ্ঞপ্তির ভলিউম"</string> <string name="volume_unknown" msgid="1400219669770445902">"ভলিউম"</string> - <string name="volume_icon_description_bluetooth" msgid="6538894177255964340">"Bluetooth এর ভলিউম"</string> + <string name="volume_icon_description_bluetooth" msgid="6538894177255964340">"ব্লুটুথ এর ভলিউম"</string> <string name="volume_icon_description_ringer" msgid="3326003847006162496">"রিংটোনের ভলিউম"</string> <string name="volume_icon_description_incall" msgid="8890073218154543397">"কলের ভলিউম"</string> <string name="volume_icon_description_media" msgid="4217311719665194215">"মিডিয়ার ভলিউম"</string> @@ -1028,28 +1028,28 @@ <string name="ringtone_picker_title" msgid="3515143939175119094">"রিংটোনগুলি"</string> <string name="ringtone_unknown" msgid="5477919988701784788">"অজানা রিংটোন"</string> <plurals name="wifi_available" formatted="false" msgid="7900333017752027322"> - <item quantity="one">Wi-Fi নেটওয়ার্কগুলি উপলব্ধ রয়েছে</item> - <item quantity="other">Wi-Fi নেটওয়ার্কগুলি উপলব্ধ রয়েছে</item> + <item quantity="one">ওয়াই-ফাই নেটওয়ার্কগুলি উপলব্ধ রয়েছে</item> + <item quantity="other">ওয়াই-ফাই নেটওয়ার্কগুলি উপলব্ধ রয়েছে</item> </plurals> <plurals name="wifi_available_detailed" formatted="false" msgid="1140699367193975606"> - <item quantity="one">খোলা Wi-Fi নেটওয়ার্কগুলি উপলব্ধ রয়েছে</item> - <item quantity="other">খোলা Wi-Fi নেটওয়ার্কগুলি উপলব্ধ রয়েছে</item> + <item quantity="one">খোলা ওয়াই-ফাই নেটওয়ার্কগুলি উপলব্ধ রয়েছে</item> + <item quantity="other">খোলা ওয়াই-ফাই নেটওয়ার্কগুলি উপলব্ধ রয়েছে</item> </plurals> - <string name="wifi_available_sign_in" msgid="9157196203958866662">"Wi-Fi নেটওয়ার্কে সাইন ইন করুন"</string> + <string name="wifi_available_sign_in" msgid="9157196203958866662">"ওয়াই-ফাই নেটওয়ার্কে সাইন ইন করুন"</string> <string name="network_available_sign_in" msgid="1848877297365446605">"নেটওয়ার্কে সাইন ইন করুন"</string> <!-- no translation found for network_available_sign_in_detailed (8000081941447976118) --> <skip /> - <string name="wifi_no_internet" msgid="8451173622563841546">"Wi-Fi -তে কোনো ইন্টারনেট অ্যাক্সেস নেই"</string> + <string name="wifi_no_internet" msgid="8451173622563841546">"ওয়াই-ফাই -তে কোনো ইন্টারনেট অ্যাক্সেস নেই"</string> <string name="wifi_no_internet_detailed" msgid="8083079241212301741">"বিকল্পগুলির জন্য আলতো চাপুন"</string> - <string name="wifi_watchdog_network_disabled" msgid="7904214231651546347">"Wi-Fi এর সাথে সংযোগ করা যায়নি"</string> + <string name="wifi_watchdog_network_disabled" msgid="7904214231651546347">"ওয়াই-ফাই এর সাথে সংযোগ করা যায়নি"</string> <string name="wifi_watchdog_network_disabled_detailed" msgid="5548780776418332675">" একটি দুর্বল ইন্টারনেট সংযোগ রয়েছে৷"</string> <string name="wifi_connect_alert_title" msgid="8455846016001810172">"সংযোগের মঞ্জুরি দেবেন?"</string> <string name="wifi_connect_alert_message" msgid="6451273376815958922">"অ্যাপ্লিকেশান %1$s Wifi নেটওয়ার্ক %2$s এর সাথে সংযোগ করতে চায়"</string> <string name="wifi_connect_default_application" msgid="7143109390475484319">"একটি অ্যাপ্লিকেশান"</string> - <string name="wifi_p2p_dialog_title" msgid="97611782659324517">"Wi-Fi ডাইরেক্ট"</string> - <string name="wifi_p2p_turnon_message" msgid="2909250942299627244">"Wi-Fi ডাইরেক্ট আরম্ভ করুন৷ এটি Wi-Fi client/hotspot কে বন্ধ করবে৷"</string> - <string name="wifi_p2p_failed_message" msgid="3763669677935623084">"Wi-Fi ডাইরেক্ট শুরু করা যায়নি৷"</string> - <string name="wifi_p2p_enabled_notification_title" msgid="2068321881673734886">"Wi-Fi ডাইরেক্ট চালু রয়েছে"</string> + <string name="wifi_p2p_dialog_title" msgid="97611782659324517">"ওয়াই-ফাই ডাইরেক্ট"</string> + <string name="wifi_p2p_turnon_message" msgid="2909250942299627244">"ওয়াই-ফাই ডাইরেক্ট আরম্ভ করুন৷ এটি ওয়াই-ফাই client/hotspot কে বন্ধ করবে৷"</string> + <string name="wifi_p2p_failed_message" msgid="3763669677935623084">"ওয়াই-ফাই ডাইরেক্ট শুরু করা যায়নি৷"</string> + <string name="wifi_p2p_enabled_notification_title" msgid="2068321881673734886">"ওয়াই-ফাই ডাইরেক্ট চালু রয়েছে"</string> <string name="wifi_p2p_enabled_notification_message" msgid="8064677407830620023">"সেটিংসের জন্য আলতো চাপুন"</string> <string name="accept" msgid="1645267259272829559">"গ্রহণ করুন"</string> <string name="decline" msgid="2112225451706137894">"অস্বীকার করুন"</string> @@ -1059,9 +1059,9 @@ <string name="wifi_p2p_to_message" msgid="248968974522044099">"প্রাপক:"</string> <string name="wifi_p2p_enter_pin_message" msgid="5920929550367828970">"প্রয়োজনীয় PINটি লিখুন:"</string> <string name="wifi_p2p_show_pin_message" msgid="8530563323880921094">"পিন:"</string> - <string name="wifi_p2p_frequency_conflict_message" product="tablet" msgid="8012981257742232475">"ট্যাবলেটটি যখন <xliff:g id="DEVICE_NAME">%1$s</xliff:g> এ সংযুক্ত হবে তখন এটি Wi-Fi থেকে সাময়িকভাবে সংযোগ বিচ্ছিন্ন হবে"</string> - <string name="wifi_p2p_frequency_conflict_message" product="tv" msgid="3087858235069421128">"আপনার টিভি <xliff:g id="DEVICE_NAME">%1$s</xliff:g> এ সংযুক্ত থাকার সময় Wi-Fi থেকে সাময়িকভাবে সংযোগ বিচ্ছিন্ন হবে৷"</string> - <string name="wifi_p2p_frequency_conflict_message" product="default" msgid="7363907213787469151">"ফোনটি যখন <xliff:g id="DEVICE_NAME">%1$s</xliff:g> এ সংযুক্ত হবে তখন এটি Wi-Fi থেকে সাময়িকভাবে সংযোগ বিচ্ছিন্ন হবে"</string> + <string name="wifi_p2p_frequency_conflict_message" product="tablet" msgid="8012981257742232475">"ট্যাবলেটটি যখন <xliff:g id="DEVICE_NAME">%1$s</xliff:g> এ সংযুক্ত হবে তখন এটি ওয়াই-ফাই থেকে সাময়িকভাবে সংযোগ বিচ্ছিন্ন হবে"</string> + <string name="wifi_p2p_frequency_conflict_message" product="tv" msgid="3087858235069421128">"আপনার টিভি <xliff:g id="DEVICE_NAME">%1$s</xliff:g> এ সংযুক্ত থাকার সময় ওয়াই-ফাই থেকে সাময়িকভাবে সংযোগ বিচ্ছিন্ন হবে৷"</string> + <string name="wifi_p2p_frequency_conflict_message" product="default" msgid="7363907213787469151">"ফোনটি যখন <xliff:g id="DEVICE_NAME">%1$s</xliff:g> এ সংযুক্ত হবে তখন এটি ওয়াই-ফাই থেকে সাময়িকভাবে সংযোগ বিচ্ছিন্ন হবে"</string> <string name="select_character" msgid="3365550120617701745">"অক্ষর ঢোকান"</string> <string name="sms_control_title" msgid="7296612781128917719">"SMS বার্তা পাঠানো হচ্ছে"</string> <string name="sms_control_message" msgid="3867899169651496433">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অনেকগুলি SMS বার্তা পাঠাচ্ছে৷ আপনি কি এই অ্যাপ্লিকেশানটিকে বার্তা পাঠানো চালিয়ে যাওয়ার অনুমতি দিতে চান?"</string> @@ -1202,7 +1202,7 @@ <string name="vpn_lockdown_connected" msgid="8202679674819213931">"সর্বদা-চালু VPN সংযুক্ত হয়েছে"</string> <string name="vpn_lockdown_error" msgid="6009249814034708175">"সর্বদা-চালু VPN ত্রুটি"</string> <string name="vpn_lockdown_config" msgid="4655589351146766608">"কনফিগার করতে আলতো চাপুন"</string> - <string name="upload_file" msgid="2897957172366730416">"ফাইল চয়ন করুন"</string> + <string name="upload_file" msgid="2897957172366730416">"ফাইল বেছে নিন"</string> <string name="no_file_chosen" msgid="6363648562170759465">"কোনো ফাইল নির্বাচন করা হয়নি"</string> <string name="reset" msgid="2448168080964209908">"পুনরায় সেট করুন"</string> <string name="submit" msgid="1602335572089911941">"জমা দিন"</string> @@ -1265,7 +1265,7 @@ <string name="keyboardview_keycode_mode_change" msgid="4547387741906537519">"মোড পরিবর্তন করুন"</string> <string name="keyboardview_keycode_shift" msgid="2270748814315147690">"Shift"</string> <string name="keyboardview_keycode_enter" msgid="2985864015076059467">"Enter"</string> - <string name="activitychooserview_choose_application" msgid="2125168057199941199">"একটি অ্যাপ্লিকেশান চয়ন করুন"</string> + <string name="activitychooserview_choose_application" msgid="2125168057199941199">"একটি অ্যাপ্লিকেশান বেছে নিন"</string> <string name="activitychooserview_choose_application_error" msgid="8624618365481126668">"<xliff:g id="APPLICATION_NAME">%s</xliff:g> লঞ্চ করা যায়নি"</string> <string name="shareactionprovider_share_with" msgid="806688056141131819">"এর সাথে শেয়ার করুন"</string> <string name="shareactionprovider_share_with_application" msgid="5627411384638389738">"<xliff:g id="APPLICATION_NAME">%s</xliff:g> এর সাথে শেয়ার করুন"</string> @@ -1290,12 +1290,12 @@ <string name="data_usage_3g_limit_title" msgid="4361523876818447683">"2G-3G ডেটা সীমা ছাড়িয়েছে"</string> <string name="data_usage_4g_limit_title" msgid="4609566827219442376">"4G ডেটা সীমা ছাড়িয়েছে"</string> <string name="data_usage_mobile_limit_title" msgid="557158376602636112">"সেলুলার ডেটা সীমা ছাড়িয়েছে"</string> - <string name="data_usage_wifi_limit_title" msgid="5803363779034792676">"Wi-Fi ডেটা সীমা ছাড়িয়েছে"</string> + <string name="data_usage_wifi_limit_title" msgid="5803363779034792676">"ওয়াই-ফাই ডেটা সীমা ছাড়িয়েছে"</string> <string name="data_usage_limit_body" msgid="291731708279614081">"বাকি চক্রের জন্য ডেটা বিরামে গেছে"</string> <string name="data_usage_3g_limit_snoozed_title" msgid="7026739121138005231">"2G-3G ডেটা সীমা ছাড়িয়ে গেছে"</string> <string name="data_usage_4g_limit_snoozed_title" msgid="1106562779311209039">"4G ডেটা সীমা ছাড়িয়ে গেছে"</string> <string name="data_usage_mobile_limit_snoozed_title" msgid="4941346653729943789">"সেলুলার ডেটা সীমা ছাড়িয়ে গেছে"</string> - <string name="data_usage_wifi_limit_snoozed_title" msgid="8743856006384825974">"Wi-Fi ডেটার সীমা ছাড়িয়ে গেছে"</string> + <string name="data_usage_wifi_limit_snoozed_title" msgid="8743856006384825974">"ওয়াই-ফাই ডেটার সীমা ছাড়িয়ে গেছে"</string> <string name="data_usage_limit_snoozed_body" msgid="7035490278298441767">"নির্দিষ্ট সীমার থেকে <xliff:g id="SIZE">%s</xliff:g> বেশি৷"</string> <string name="data_usage_restricted_title" msgid="5965157361036321914">"পটভূমি ডেটা সীমিত করা আছে"</string> <string name="data_usage_restricted_body" msgid="469866376337242726">"সীমাবদ্ধতা সরাতে আলতো চাপুন৷"</string> @@ -1314,7 +1314,7 @@ <string name="sha256_fingerprint" msgid="4391271286477279263">"SHA-256 আঙ্গুলের ছাপ:"</string> <string name="sha1_fingerprint" msgid="7930330235269404581">"SHA-1 আঙ্গুলের ছাপ:"</string> <string name="activity_chooser_view_see_all" msgid="4292569383976636200">"সবগুলো দেখুন"</string> - <string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"কার্যকলাপ চয়ন করুন"</string> + <string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"কার্যকলাপ বেছে নিন"</string> <string name="share_action_provider_share_with" msgid="5247684435979149216">"এর সাথে শেয়ার করুন"</string> <string name="sending" msgid="3245653681008218030">"পাঠানো হচ্ছে..."</string> <string name="launchBrowserDefault" msgid="2057951947297614725">"ব্রাউজার লঞ্চ করতে চান?"</string> @@ -1329,7 +1329,7 @@ <string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"ডক স্পিকার"</string> <string name="default_media_route_name_hdmi" msgid="2450970399023478055">"HDMI"</string> <string name="default_audio_route_category_name" msgid="3722811174003886946">"সিস্টেম"</string> - <string name="bluetooth_a2dp_audio_route_name" msgid="8575624030406771015">"Bluetooth অডিও"</string> + <string name="bluetooth_a2dp_audio_route_name" msgid="8575624030406771015">"ব্লুটুথ অডিও"</string> <string name="wireless_display_route_description" msgid="9070346425023979651">"ওয়্যারলেস প্রদর্শন"</string> <string name="media_route_button_content_description" msgid="591703006349356016">"কাস্ট করুন"</string> <string name="media_route_chooser_title" msgid="1751618554539087622">"ডিভাইসে সংযোগ করুন"</string> diff --git a/core/res/res/values-bs-rBA/strings.xml b/core/res/res/values-bs-rBA/strings.xml index c88de8c8cc58..1ea1c668ccb9 100644 --- a/core/res/res/values-bs-rBA/strings.xml +++ b/core/res/res/values-bs-rBA/strings.xml @@ -1041,7 +1041,7 @@ <string name="volume_icon_description_notification" msgid="7044986546477282274">"Jačina zvuka za obavještenja"</string> <string name="ringtone_default" msgid="3789758980357696936">"Zadana melodija zvona"</string> <string name="ringtone_default_with_actual" msgid="8129563480895990372">"Zadano zvono (<xliff:g id="ACTUAL_RINGTONE">%1$s</xliff:g>)"</string> - <string name="ringtone_silent" msgid="7937634392408977062">"Ne poduzimaj ništa"</string> + <string name="ringtone_silent" msgid="7937634392408977062">"Bez zvuka"</string> <string name="ringtone_picker_title" msgid="3515143939175119094">"Melodije zvona"</string> <string name="ringtone_unknown" msgid="5477919988701784788">"Nepoznato zvono"</string> <plurals name="wifi_available" formatted="false" msgid="7900333017752027322"> @@ -1123,7 +1123,7 @@ <string name="usb_accessory_notification_title" msgid="7848236974087653666">"Uspostavljena veza sa USB pohranom"</string> <string name="usb_notification_message" msgid="3370903770828407960">"Dodirnite za više opcija."</string> <string name="adb_active_notification_title" msgid="6729044778949189918">"Uređaj za USB otklanjanje grešaka povezan"</string> - <string name="adb_active_notification_message" msgid="4948470599328424059">"Dodirnite da biste onemogućili otklanjanje grešaka preko USB veze."</string> + <string name="adb_active_notification_message" msgid="4948470599328424059">"Dodirnite da onemogućite otklanjanje grešaka preko USB veze."</string> <string name="taking_remote_bugreport_notification_title" msgid="6742483073875060934">"Prijem izvještaja o grešci..."</string> <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Podijeliti izvještaj o grešci?"</string> <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Dijeljenje izvještaja o grešci..."</string> @@ -1547,7 +1547,7 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Ažurirao administrator"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Izbrisao administrator"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Da bi se trajanje baterije produžilo, opcija za štednju baterije minimizira rad uređaja i ograničava vibriranje, usluge lokacije i većinu prijenosa podataka u pozadini. E-pošta, poruke i druge aplikacije koje se oslanjaju na sinhronizaciju ne mogu biti ažurirane dok ih ne otvorite.\n\nŠtednja baterije se automatski isključi prilikom punjenja uređaja."</string> - <string name="data_saver_description" msgid="6015391409098303235">"Da bi se smanjilo koriptenje podataka, usluga Ušteda podataka sprečava da neke aplikacije šalju ili primaju podatke u pozadini. Aplikacija koju trenutno koristite može pristupiti podacima, ali se to može desiti rjeđe. To može značiti, naprimjer, da se slike ne prikazuju sve dok ih ne dodirnete."</string> + <string name="data_saver_description" msgid="6015391409098303235">"Da bi se smanjilo korištenje podataka, usluga Ušteda podataka sprečava da neke aplikacije šalju ili primaju podatke u pozadini. Aplikacija koju trenutno koristite može pristupiti podacima, ali se to može desiti rjeđe. To može značiti, naprimjer, da se slike ne prikazuju sve dok ih ne dodirnete."</string> <string name="data_saver_enable_title" msgid="4674073932722787417">"Uključiti Uštedu podataka?"</string> <string name="data_saver_enable_button" msgid="7147735965247211818">"Uključi"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> diff --git a/core/res/res/values-ca/strings.xml b/core/res/res/values-ca/strings.xml index 22dd26bb1f20..948895c2055c 100644 --- a/core/res/res/values-ca/strings.xml +++ b/core/res/res/values-ca/strings.xml @@ -404,7 +404,7 @@ <string name="permdesc_createNetworkSockets" msgid="3403062187779724185">"Permet que l\'aplicació creï sòcols de xarxa i que utilitzi protocols de xarxa personalitzats. El navegador i altres aplicacions proporcionen mitjans per enviar dades a Internet, de manera que aquest permís no és obligatori per enviar-n\'hi."</string> <string name="permlab_changeNetworkState" msgid="958884291454327309">"canviar la connectivitat de xarxa"</string> <string name="permdesc_changeNetworkState" msgid="6789123912476416214">"Permet que l\'aplicació pugui canviar l\'estat de connectivitat de la xarxa."</string> - <string name="permlab_changeTetherState" msgid="5952584964373017960">"Canvia la connectivitat d\'ancoratge a xarxa"</string> + <string name="permlab_changeTetherState" msgid="5952584964373017960">"Canvia la connectivitat de compartició de xarxa"</string> <string name="permdesc_changeTetherState" msgid="1524441344412319780">"Permet que l\'aplicació canviï l\'estat de la connectivitat de la xarxa d\'ancoratge."</string> <string name="permlab_accessWifiState" msgid="5202012949247040011">"veure connexions Wi-Fi"</string> <string name="permdesc_accessWifiState" msgid="5002798077387803726">"Permet que l\'aplicació visualitzi informació sobre les xarxes Wi-Fi, com ara si la Wi-Fi està activada i el nom dels dispositius Wi-Fi connectats."</string> @@ -597,7 +597,7 @@ <string name="phoneTypeOther" msgid="1544425847868765990">"Altres"</string> <string name="phoneTypeCallback" msgid="2712175203065678206">"Torna la trucada"</string> <string name="phoneTypeCar" msgid="8738360689616716982">"Cotxe"</string> - <string name="phoneTypeCompanyMain" msgid="540434356461478916">"Principal de l\'empresa"</string> + <string name="phoneTypeCompanyMain" msgid="540434356461478916">"Telèfon d\'empresa"</string> <string name="phoneTypeIsdn" msgid="8022453193171370337">"XDSI"</string> <string name="phoneTypeMain" msgid="6766137010628326916">"Principal"</string> <string name="phoneTypeOtherFax" msgid="8587657145072446565">"Altres faxos"</string> @@ -605,7 +605,7 @@ <string name="phoneTypeTelex" msgid="3367879952476250512">"Tèlex"</string> <string name="phoneTypeTtyTdd" msgid="8606514378585000044">"TTY TDD"</string> <string name="phoneTypeWorkMobile" msgid="1311426989184065709">"Mòbil de la feina"</string> - <string name="phoneTypeWorkPager" msgid="649938731231157056">"Cercapersones de la feina"</string> + <string name="phoneTypeWorkPager" msgid="649938731231157056">"Cercapersones feina"</string> <string name="phoneTypeAssistant" msgid="5596772636128562884">"Assistent"</string> <string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string> <string name="eventTypeCustom" msgid="7837586198458073404">"Personalitza"</string> @@ -1047,7 +1047,7 @@ <string name="wifi_connect_alert_message" msgid="6451273376815958922">"L\'aplicació %1$s vol connectar-se a la xarxa Wi-Fi %2$s"</string> <string name="wifi_connect_default_application" msgid="7143109390475484319">"Una aplicació"</string> <string name="wifi_p2p_dialog_title" msgid="97611782659324517">"Wi-Fi Direct"</string> - <string name="wifi_p2p_turnon_message" msgid="2909250942299627244">"Inicia Wi-Fi Direct. Això desactivarà el client/la zona Wi-Fi."</string> + <string name="wifi_p2p_turnon_message" msgid="2909250942299627244">"Inicia Wi-Fi Direct. Això desactivarà el client/el punt d\'accés Wi-Fi."</string> <string name="wifi_p2p_failed_message" msgid="3763669677935623084">"No s\'ha pogut iniciar Wi-Fi Direct."</string> <string name="wifi_p2p_enabled_notification_title" msgid="2068321881673734886">"Wi-Fi Direct està activat"</string> <string name="wifi_p2p_enabled_notification_message" msgid="8064677407830620023">"Toca per veure la configuració"</string> @@ -1096,7 +1096,7 @@ <string name="no_permissions" msgid="7283357728219338112">"No cal cap permís"</string> <string name="perm_costs_money" msgid="4902470324142151116">"pot ser que comporti càrrecs"</string> <string name="dlg_ok" msgid="7376953167039865701">"D\'acord"</string> - <string name="usb_charging_notification_title" msgid="6895185153353640787">"L\'USB està carregant el dispositiu"</string> + <string name="usb_charging_notification_title" msgid="6895185153353640787">"El dispositiu s\'està carregant per USB"</string> <string name="usb_supplying_notification_title" msgid="5310642257296510271">"L\'USB subministra energia al dispositiu connectat"</string> <string name="usb_mtp_notification_title" msgid="8396264943589760855">"USB per transferir fitxers"</string> <string name="usb_ptp_notification_title" msgid="1347328437083192112">"USB per transferir fotos"</string> @@ -1201,11 +1201,11 @@ <string name="vpn_lockdown_config" msgid="4655589351146766608">"Toca per configurar"</string> <string name="upload_file" msgid="2897957172366730416">"Trieu un fitxer"</string> <string name="no_file_chosen" msgid="6363648562170759465">"No s\'ha escollit cap fitxer"</string> - <string name="reset" msgid="2448168080964209908">"Reinicia"</string> + <string name="reset" msgid="2448168080964209908">"Restableix"</string> <string name="submit" msgid="1602335572089911941">"Envia"</string> <string name="car_mode_disable_notification_title" msgid="3164768212003864316">"Mode de cotxe activat"</string> <string name="car_mode_disable_notification_message" msgid="6301524980144350051">"Toca per sortir del mode de cotxe."</string> - <string name="tethered_notification_title" msgid="3146694234398202601">"Ancoratge a la xarxa o zona Wi-Fi activat"</string> + <string name="tethered_notification_title" msgid="3146694234398202601">"Compartició de xarxa o punt d\'accés Wi-Fi activat"</string> <string name="tethered_notification_message" msgid="2113628520792055377">"Toca per configurar."</string> <string name="back_button_label" msgid="2300470004503343439">"Enrere"</string> <string name="next_button_label" msgid="1080555104677992408">"Següent"</string> diff --git a/core/res/res/values-da/strings.xml b/core/res/res/values-da/strings.xml index 1937f0cdaf55..4121d237ed1e 100644 --- a/core/res/res/values-da/strings.xml +++ b/core/res/res/values-da/strings.xml @@ -597,15 +597,15 @@ <string name="phoneTypeOther" msgid="1544425847868765990">"Andet"</string> <string name="phoneTypeCallback" msgid="2712175203065678206">"Tilbagekald"</string> <string name="phoneTypeCar" msgid="8738360689616716982">"Bil"</string> - <string name="phoneTypeCompanyMain" msgid="540434356461478916">"Virksomhed (hovednummer)"</string> + <string name="phoneTypeCompanyMain" msgid="540434356461478916">"Firma (hovednummer)"</string> <string name="phoneTypeIsdn" msgid="8022453193171370337">"ISDN"</string> <string name="phoneTypeMain" msgid="6766137010628326916">"Hovednr."</string> - <string name="phoneTypeOtherFax" msgid="8587657145072446565">"Andre faxbeskeder"</string> + <string name="phoneTypeOtherFax" msgid="8587657145072446565">"Andet Faxnummer"</string> <string name="phoneTypeRadio" msgid="4093738079908667513">"Radio"</string> <string name="phoneTypeTelex" msgid="3367879952476250512">"Telex"</string> <string name="phoneTypeTtyTdd" msgid="8606514378585000044">"TTY TDD"</string> - <string name="phoneTypeWorkMobile" msgid="1311426989184065709">"Arbejdsmobiltelefon"</string> - <string name="phoneTypeWorkPager" msgid="649938731231157056">"Personsøger"</string> + <string name="phoneTypeWorkMobile" msgid="1311426989184065709">"Arbejdsmobil"</string> + <string name="phoneTypeWorkPager" msgid="649938731231157056">"Personsøger (job)"</string> <string name="phoneTypeAssistant" msgid="5596772636128562884">"Assistent"</string> <string name="phoneTypeMms" msgid="7254492275502768992">"mms"</string> <string name="eventTypeCustom" msgid="7837586198458073404">"Tilpasset"</string> diff --git a/core/res/res/values-de/strings.xml b/core/res/res/values-de/strings.xml index b7403861a283..595f83dbedd0 100644 --- a/core/res/res/values-de/strings.xml +++ b/core/res/res/values-de/strings.xml @@ -1103,7 +1103,7 @@ <string name="usb_midi_notification_title" msgid="4850904915889144654">"USB für MIDI"</string> <string name="usb_accessory_notification_title" msgid="7848236974087653666">"Mit USB-Zubehör verbunden"</string> <string name="usb_notification_message" msgid="3370903770828407960">"Für weitere Optionen tippen."</string> - <string name="adb_active_notification_title" msgid="6729044778949189918">"USB-Debugging"</string> + <string name="adb_active_notification_title" msgid="6729044778949189918">"USB-Debugging aktiviert"</string> <string name="adb_active_notification_message" msgid="4948470599328424059">"Zum Deaktivieren von USB-Debugging tippen."</string> <string name="taking_remote_bugreport_notification_title" msgid="6742483073875060934">"Fehlerbericht wird abgerufen…"</string> <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Fehlerbericht teilen?"</string> diff --git a/core/res/res/values-el/strings.xml b/core/res/res/values-el/strings.xml index f62249924ffd..55c6fa81448b 100644 --- a/core/res/res/values-el/strings.xml +++ b/core/res/res/values-el/strings.xml @@ -545,29 +545,29 @@ <string name="policylab_disableKeyguardFeatures" msgid="8552277871075367771">"Απενεργοπ. λειτ. κλειδ. οθόνης"</string> <string name="policydesc_disableKeyguardFeatures" msgid="2044755691354158439">"Να αποτρέπεται η χρήση ορισμένων λειτουργιών του κλειδώματος οθόνης."</string> <string-array name="phoneTypes"> - <item msgid="8901098336658710359">"Οικία"</item> + <item msgid="8901098336658710359">"Σπίτι"</item> <item msgid="869923650527136615">"Κινητό"</item> <item msgid="7897544654242874543">"Εργασία"</item> <item msgid="1103601433382158155">"Φαξ εργασίας"</item> - <item msgid="1735177144948329370">"Φαξ οικίας"</item> + <item msgid="1735177144948329370">"Φαξ σπιτιού"</item> <item msgid="603878674477207394">"Pager"</item> <item msgid="1650824275177931637">"Άλλο"</item> <item msgid="9192514806975898961">"Προσαρμοσμένο"</item> </string-array> <string-array name="emailAddressTypes"> - <item msgid="8073994352956129127">"Οικία"</item> + <item msgid="8073994352956129127">"Σπίτι"</item> <item msgid="7084237356602625604">"Εργασία"</item> <item msgid="1112044410659011023">"Άλλο"</item> <item msgid="2374913952870110618">"Προσαρμοσμένο"</item> </string-array> <string-array name="postalAddressTypes"> - <item msgid="6880257626740047286">"Οικία"</item> + <item msgid="6880257626740047286">"Σπίτι"</item> <item msgid="5629153956045109251">"Εργασία"</item> <item msgid="4966604264500343469">"Άλλο"</item> <item msgid="4932682847595299369">"Προσαρμοσμένο"</item> </string-array> <string-array name="imAddressTypes"> - <item msgid="1738585194601476694">"Οικία"</item> + <item msgid="1738585194601476694">"Σπίτι"</item> <item msgid="1359644565647383708">"Εργασία"</item> <item msgid="7868549401053615677">"Άλλο"</item> <item msgid="3145118944639869809">"Προσαρμοσμένο"</item> @@ -588,16 +588,16 @@ <item msgid="1648797903785279353">"Jabber"</item> </string-array> <string name="phoneTypeCustom" msgid="1644738059053355820">"Προσαρμοσμένο"</string> - <string name="phoneTypeHome" msgid="2570923463033985887">"Οικία"</string> + <string name="phoneTypeHome" msgid="2570923463033985887">"Σπίτι"</string> <string name="phoneTypeMobile" msgid="6501463557754751037">"Κινητό"</string> <string name="phoneTypeWork" msgid="8863939667059911633">"Εργασία"</string> <string name="phoneTypeFaxWork" msgid="3517792160008890912">"Φαξ εργασίας"</string> - <string name="phoneTypeFaxHome" msgid="2067265972322971467">"Φαξ οικίας"</string> + <string name="phoneTypeFaxHome" msgid="2067265972322971467">"Φαξ σπιτιού"</string> <string name="phoneTypePager" msgid="7582359955394921732">"Βομβητής"</string> <string name="phoneTypeOther" msgid="1544425847868765990">"Άλλο"</string> <string name="phoneTypeCallback" msgid="2712175203065678206">"Επανάκληση"</string> <string name="phoneTypeCar" msgid="8738360689616716982">"Αυτοκίνητο"</string> - <string name="phoneTypeCompanyMain" msgid="540434356461478916">"Κύρια εταιρική γραμμή"</string> + <string name="phoneTypeCompanyMain" msgid="540434356461478916">"Κύρια εταιρική"</string> <string name="phoneTypeIsdn" msgid="8022453193171370337">"ISDN"</string> <string name="phoneTypeMain" msgid="6766137010628326916">"Κύριος"</string> <string name="phoneTypeOtherFax" msgid="8587657145072446565">"Άλλο fax"</string> @@ -613,16 +613,16 @@ <string name="eventTypeAnniversary" msgid="3876779744518284000">"Επέτειος"</string> <string name="eventTypeOther" msgid="7388178939010143077">"Άλλο"</string> <string name="emailTypeCustom" msgid="8525960257804213846">"Προσαρμοσμένο"</string> - <string name="emailTypeHome" msgid="449227236140433919">"Οικία"</string> + <string name="emailTypeHome" msgid="449227236140433919">"Σπίτι"</string> <string name="emailTypeWork" msgid="3548058059601149973">"Εργασία"</string> <string name="emailTypeOther" msgid="2923008695272639549">"Άλλο"</string> <string name="emailTypeMobile" msgid="119919005321166205">"Κινητό"</string> <string name="postalTypeCustom" msgid="8903206903060479902">"Προσαρμοσμένο"</string> - <string name="postalTypeHome" msgid="8165756977184483097">"Οικία"</string> + <string name="postalTypeHome" msgid="8165756977184483097">"Σπίτι"</string> <string name="postalTypeWork" msgid="5268172772387694495">"Εργασία"</string> <string name="postalTypeOther" msgid="2726111966623584341">"Άλλο"</string> <string name="imTypeCustom" msgid="2074028755527826046">"Προσαρμοσμένο"</string> - <string name="imTypeHome" msgid="6241181032954263892">"Οικία"</string> + <string name="imTypeHome" msgid="6241181032954263892">"Σπίτι"</string> <string name="imTypeWork" msgid="1371489290242433090">"Εργασία"</string> <string name="imTypeOther" msgid="5377007495735915478">"Άλλο"</string> <string name="imProtocolCustom" msgid="6919453836618749992">"Προσαρμοσμένο"</string> @@ -654,7 +654,7 @@ <string name="relationTypeSister" msgid="1735983554479076481">"Αδερφή"</string> <string name="relationTypeSpouse" msgid="394136939428698117">"Σύζυγος"</string> <string name="sipAddressTypeCustom" msgid="2473580593111590945">"Προσαρμοσμένο"</string> - <string name="sipAddressTypeHome" msgid="6093598181069359295">"Οικία"</string> + <string name="sipAddressTypeHome" msgid="6093598181069359295">"Σπίτι"</string> <string name="sipAddressTypeWork" msgid="6920725730797099047">"Εργασία"</string> <string name="sipAddressTypeOther" msgid="4408436162950119849">"Άλλο"</string> <string name="quick_contacts_not_available" msgid="746098007828579688">"Δεν βρέθηκε καμία εφαρμογή για την προβολή αυτής της επαφής."</string> @@ -1023,7 +1023,7 @@ <string name="volume_icon_description_media" msgid="4217311719665194215">"Ένταση ήχου πολυμέσων"</string> <string name="volume_icon_description_notification" msgid="7044986546477282274">"Ένταση ήχου ειδοποιήσεων"</string> <string name="ringtone_default" msgid="3789758980357696936">"Προεπιλεγμένος ήχος κλήσης"</string> - <string name="ringtone_default_with_actual" msgid="8129563480895990372">"Προεπιλεγμένος ήχος κλήσης (<xliff:g id="ACTUAL_RINGTONE">%1$s</xliff:g>)"</string> + <string name="ringtone_default_with_actual" msgid="8129563480895990372">"Προεπ. ήχος (<xliff:g id="ACTUAL_RINGTONE">%1$s</xliff:g>)"</string> <string name="ringtone_silent" msgid="7937634392408977062">"Κανένας"</string> <string name="ringtone_picker_title" msgid="3515143939175119094">"Ήχοι κλήσης"</string> <string name="ringtone_unknown" msgid="5477919988701784788">"Άγνωστος ήχος κλήσης"</string> diff --git a/core/res/res/values-es-rUS/strings.xml b/core/res/res/values-es-rUS/strings.xml index 2e9f32cbafb7..f23c3cc66d96 100644 --- a/core/res/res/values-es-rUS/strings.xml +++ b/core/res/res/values-es-rUS/strings.xml @@ -1236,7 +1236,7 @@ <string name="sync_do_nothing" msgid="3743764740430821845">"No hacer nada por ahora"</string> <string name="choose_account_label" msgid="5655203089746423927">"Seleccionar una cuenta"</string> <string name="add_account_label" msgid="2935267344849993553">"Agregar una cuenta"</string> - <string name="add_account_button_label" msgid="3611982894853435874">"Agregar una cuenta"</string> + <string name="add_account_button_label" msgid="3611982894853435874">"Agregar cuenta"</string> <string name="number_picker_increment_button" msgid="2412072272832284313">"Aumentar"</string> <string name="number_picker_decrement_button" msgid="476050778386779067">"Reducir"</string> <string name="number_picker_increment_scroll_mode" msgid="5259126567490114216">"Mantén presionado <xliff:g id="VALUE">%s</xliff:g>."</string> diff --git a/core/res/res/values-es/strings.xml b/core/res/res/values-es/strings.xml index 7590ea9d4b07..fa50f61156c1 100644 --- a/core/res/res/values-es/strings.xml +++ b/core/res/res/values-es/strings.xml @@ -133,7 +133,7 @@ <item msgid="6830082633573257149">"%s"</item> <item msgid="4397097370387921767">"Llamada Wi-Fi de %s"</item> </string-array> - <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Desactivado"</string> + <string name="wifi_calling_off_summary" msgid="8720659586041656098">"No"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Preferir Wi-Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="5920549484600758786">"Preferir datos móviles"</string> <string name="wfc_mode_wifi_only_summary" msgid="2379919155237869320">"Solo conexión Wi-Fi"</string> @@ -1047,7 +1047,7 @@ <string name="wifi_connect_alert_message" msgid="6451273376815958922">"La aplicación %1$s quiere establecer conexión con la red Wi-Fi %2$s"</string> <string name="wifi_connect_default_application" msgid="7143109390475484319">"Una aplicación"</string> <string name="wifi_p2p_dialog_title" msgid="97611782659324517">"Wi-Fi Direct"</string> - <string name="wifi_p2p_turnon_message" msgid="2909250942299627244">"Iniciar Wi-Fi Direct. Se desactivará el funcionamiento de la zona o del cliente Wi-Fi."</string> + <string name="wifi_p2p_turnon_message" msgid="2909250942299627244">"Iniciar Wi-Fi Direct. Se desactivará el funcionamiento del punto de acceso o cliente Wi-Fi."</string> <string name="wifi_p2p_failed_message" msgid="3763669677935623084">"No se ha podido iniciar Wi-Fi Direct."</string> <string name="wifi_p2p_enabled_notification_title" msgid="2068321881673734886">"Wi-Fi Direct activado"</string> <string name="wifi_p2p_enabled_notification_message" msgid="8064677407830620023">"Toca para ver ajustes"</string> @@ -1523,7 +1523,7 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Actualizado por tu administrador"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Eliminado por tu administrador"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Para ayudar a mejorar la duración de la batería, la función de ahorro de energía reduce el rendimiento del dispositivo y limita la vibración, los servicios de ubicación y la mayor parte de la transmisión de datos en segundo plano. Es posible que las aplicaciones que se sincronizan, como las de correo y mensajes, no se actualicen a menos que las abras.\n\nLa función de ahorro de energía se desactiva automáticamente cuando el dispositivo se está cargando."</string> - <string name="data_saver_description" msgid="6015391409098303235">"El Economizador de Datos evita que algunas aplicaciones envíen o reciban datos en segundo plano, lo que permite reducir el uso de datos. Una aplicación activa podrá acceder a los datos, aunque con menos frecuencia. Esto significa que, por ejemplo, las imágenes no se mostrarán hasta que no las toques."</string> + <string name="data_saver_description" msgid="6015391409098303235">"El Economizador de Datos evita que algunas aplicaciones envíen o reciban datos en segundo plano, lo que permite reducir el uso de datos. Una aplicación activa podrá acceder a los datos, aunque con menos frecuencia. Esto significa que, por ejemplo, algunas imágenes no se muestren hasta que no las toques."</string> <string name="data_saver_enable_title" msgid="4674073932722787417">"¿Activar ahorro de datos?"</string> <string name="data_saver_enable_button" msgid="7147735965247211818">"Activar"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> diff --git a/core/res/res/values-et-rEE/strings.xml b/core/res/res/values-et-rEE/strings.xml index 4fdfb007217d..c34ad91d374c 100644 --- a/core/res/res/values-et-rEE/strings.xml +++ b/core/res/res/values-et-rEE/strings.xml @@ -529,7 +529,7 @@ <string name="policylab_wipeData" msgid="3910545446758639713">"Kõikide andmete kustutamine"</string> <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Kustutage tahvelarvuti andmed hoiatamata, lähtestades arvuti tehaseandmetele."</string> <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Teleri andmete hoiatamata kustutamine tehase andmetele lähtestamise abil."</string> - <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Kustuta telefoniandmed hoiatuseta, lähtestades telefoni tehaseandmetele."</string> + <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Telefoniandmete hoiatuseta kustutamine, lähtestades telefoni tehaseseadetele."</string> <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Kasutaja andmete kustutamine"</string> <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Kustutatakse selle kasutaja andmed sellest tahvelarvutist ilma hoiatamata."</string> <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Kustutatakse selle kasutaja andmed sellest telerist ilma hoiatamata."</string> @@ -591,8 +591,8 @@ <string name="phoneTypeHome" msgid="2570923463033985887">"Kodune telefon"</string> <string name="phoneTypeMobile" msgid="6501463557754751037">"Mobiil"</string> <string name="phoneTypeWork" msgid="8863939667059911633">"Töökoha telefon"</string> - <string name="phoneTypeFaxWork" msgid="3517792160008890912">"Töökoha faksinumber"</string> - <string name="phoneTypeFaxHome" msgid="2067265972322971467">"Kodune faksinumber"</string> + <string name="phoneTypeFaxWork" msgid="3517792160008890912">"Töö faks"</string> + <string name="phoneTypeFaxHome" msgid="2067265972322971467">"Kodu faks"</string> <string name="phoneTypePager" msgid="7582359955394921732">"Piipar"</string> <string name="phoneTypeOther" msgid="1544425847868765990">"Muu"</string> <string name="phoneTypeCallback" msgid="2712175203065678206">"Tagasihelistus"</string> @@ -604,7 +604,7 @@ <string name="phoneTypeRadio" msgid="4093738079908667513">"Raadiotelefon"</string> <string name="phoneTypeTelex" msgid="3367879952476250512">"Teleksinumber"</string> <string name="phoneTypeTtyTdd" msgid="8606514378585000044">"TTY TDD"</string> - <string name="phoneTypeWorkMobile" msgid="1311426989184065709">"Töökoha mobiiltelefon"</string> + <string name="phoneTypeWorkMobile" msgid="1311426989184065709">"Töö mobiil"</string> <string name="phoneTypeWorkPager" msgid="649938731231157056">"Töökoha piipar"</string> <string name="phoneTypeAssistant" msgid="5596772636128562884">"Assistent"</string> <string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string> @@ -1096,7 +1096,7 @@ <string name="no_permissions" msgid="7283357728219338112">"Lube pole vaja"</string> <string name="perm_costs_money" msgid="4902470324142151116">"see võib olla tasuline"</string> <string name="dlg_ok" msgid="7376953167039865701">"OK"</string> - <string name="usb_charging_notification_title" msgid="6895185153353640787">"Laadimiseks ühendage USB"</string> + <string name="usb_charging_notification_title" msgid="6895185153353640787">"Seadet laetakse USB kaudu"</string> <string name="usb_supplying_notification_title" msgid="5310642257296510271">"Ühendatud seade saab toidet USB kaudu"</string> <string name="usb_mtp_notification_title" msgid="8396264943589760855">"USB failide edastamiseks"</string> <string name="usb_ptp_notification_title" msgid="1347328437083192112">"USB fotode edastamiseks"</string> @@ -1523,7 +1523,7 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Värskendas administraator"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Kustutas teie administraator"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Aku kestuse parandamiseks vähendab akusäästja teie seadme toimivust ning piirab vibratsiooni, asukohateenuseid ja suuremat osa taustaandmetest. E-posti, sõnumsidet ja muid sünkroonimisele tuginevaid rakendusi võidakse värskendada ainult siis, kui te need avate.\n\nAkusäästja lülitatakse seadme laadimise ajal automaatselt välja."</string> - <string name="data_saver_description" msgid="6015391409098303235">"Andmekasutuse vähendamiseks keelab andmemahu säästja mõne rakenduse puhul andmete taustal saatmise ja vastuvõtmise. Rakendus, mida praegu kasutate, pääseb andmetele juurde, kuid võib seda teha väiksema sagedusega. Seetõttu võidakse näiteks kujutised kuvada alles siis, kui neid puudutate."</string> + <string name="data_saver_description" msgid="6015391409098303235">"Andmekasutuse vähendamiseks keelab andmeside mahu säästja mõne rakenduse puhul andmete taustal saatmise ja vastuvõtmise. Rakendus, mida praegu kasutate, pääseb andmesidele juurde, kuid võib seda teha väiksema sagedusega. Seetõttu võidakse näiteks kujutised kuvada alles siis, kui neid puudutate."</string> <string name="data_saver_enable_title" msgid="4674073932722787417">"Lül. andmemahu säästja sisse?"</string> <string name="data_saver_enable_button" msgid="7147735965247211818">"Lülita sisse"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> diff --git a/core/res/res/values-eu-rES/strings.xml b/core/res/res/values-eu-rES/strings.xml index 4f61bdec6892..2b88997178dd 100644 --- a/core/res/res/values-eu-rES/strings.xml +++ b/core/res/res/values-eu-rES/strings.xml @@ -368,7 +368,7 @@ <string name="permdesc_sim_communication" msgid="5725159654279639498">"SIM txartelera aginduak bidaltzeko aukera ematen die aplikazioei. Oso arriskutsua da."</string> <string name="permlab_camera" msgid="3616391919559751192">"atera argazkiak eta grabatu bideoak"</string> <string name="permdesc_camera" msgid="8497216524735535009">"Kamerarekin argazkiak ateratzeko eta bideoak grabatzeko baimena ematen die aplikazioei. Baimen horrekin, aplikazioak kamera edonoiz erabil dezake zure baimenik gabe."</string> - <string name="permlab_vibrate" msgid="7696427026057705834">"bibrazioa kontrolatzea"</string> + <string name="permlab_vibrate" msgid="7696427026057705834">"Kontrolatu dardara"</string> <string name="permdesc_vibrate" msgid="6284989245902300945">"Bibragailua kontrolatzea baimentzen die aplikazioei."</string> <string name="permlab_callPhone" msgid="3925836347681847954">"deitu zuzenean telefono-zenbakietara"</string> <string name="permdesc_callPhone" msgid="3740797576113760827">"Telefono-zenbakietara zuk esku hartu gabe deitzeko baimena ematen die aplikazioei. Horrela, ustekabeko gastuak edo deiak eragin daitezke. Aplikazio gaiztoek erabil dezakete zuk berretsi gabeko deiak eginda gastuak eragiteko."</string> @@ -376,7 +376,7 @@ <string name="permdesc_accessImsCallService" msgid="8992884015198298775">"Zuk ezer egin beharrik gabe deiak egiteko IMS zerbitzua erabiltzea baimentzen die aplikazioei."</string> <string name="permlab_readPhoneState" msgid="9178228524507610486">"telefonoaren egoera eta identitatea irakurtzea"</string> <string name="permdesc_readPhoneState" msgid="1639212771826125528">"Gailuaren telefono-eginbideak atzitzeko baimena ematen die aplikazioei. Baimen horrek aplikazioari telefono-zenbakia eta gailu IDak zein diren, deirik aktibo dagoen eta deia zer zenbakirekin konektatuta dagoen zehazteko baimena ematen die aplikazioei."</string> - <string name="permlab_wakeLock" product="tablet" msgid="1531731435011495015">"eragotzi tableta inaktibo ezartzea"</string> + <string name="permlab_wakeLock" product="tablet" msgid="1531731435011495015">"Eragotzi tableta inaktibo ezartzea"</string> <string name="permlab_wakeLock" product="tv" msgid="2601193288949154131">"Eragotzi telebista inaktibo geratzea"</string> <string name="permlab_wakeLock" product="default" msgid="573480187941496130">"Eragotzi telefonoa inaktibo ezartzea"</string> <string name="permdesc_wakeLock" product="tablet" msgid="7311319824400447868">"Tableta inaktibo ezartzea galaraztea baimentzen die aplikazioei."</string> @@ -594,7 +594,7 @@ <string name="phoneTypeFaxWork" msgid="3517792160008890912">"Laneko faxa"</string> <string name="phoneTypeFaxHome" msgid="2067265972322971467">"Etxeko faxa"</string> <string name="phoneTypePager" msgid="7582359955394921732">"Bilagailua"</string> - <string name="phoneTypeOther" msgid="1544425847868765990">"Bestelakoak"</string> + <string name="phoneTypeOther" msgid="1544425847868765990">"Bestelakoa"</string> <string name="phoneTypeCallback" msgid="2712175203065678206">"Dei bidezko erantzuna"</string> <string name="phoneTypeCar" msgid="8738360689616716982">"Autoa"</string> <string name="phoneTypeCompanyMain" msgid="540434356461478916">"Laneko nagusia"</string> @@ -636,7 +636,7 @@ <string name="imProtocolJabber" msgid="2279917630875771722">"Jabber"</string> <string name="imProtocolNetMeeting" msgid="8287625655986827971">"NetMeeting"</string> <string name="orgTypeWork" msgid="29268870505363872">"Lanekoa"</string> - <string name="orgTypeOther" msgid="3951781131570124082">"Bestelakoak"</string> + <string name="orgTypeOther" msgid="3951781131570124082">"Bestelakoa"</string> <string name="orgTypeCustom" msgid="225523415372088322">"Pertsonalizatua"</string> <string name="relationTypeCustom" msgid="3542403679827297300">"Pertsonalizatua"</string> <string name="relationTypeAssistant" msgid="6274334825195379076">"Laguntzailea"</string> @@ -1066,7 +1066,7 @@ <string name="sms_control_title" msgid="7296612781128917719">"SMS mezuak bidaltzen"</string> <string name="sms_control_message" msgid="3867899169651496433">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> SMS asko ari da bidaltzen. Mezuak bidaltzen jarrai dezan onartu nahi duzu?"</string> <string name="sms_control_yes" msgid="3663725993855816807">"Onartu"</string> - <string name="sms_control_no" msgid="625438561395534982">"Eragotzi"</string> + <string name="sms_control_no" msgid="625438561395534982">"Ukatu"</string> <string name="sms_short_code_confirm_message" msgid="1645436466285310855">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioak mezu bat bidali nahi du <b><xliff:g id="DEST_ADDRESS">%2$s</xliff:g></b> helbidera."</string> <string name="sms_short_code_details" msgid="5873295990846059400">"Baliteke horrek mugikorreko kontuan "<b>"gastuak eragitea"</b>"."</string> <string name="sms_premium_short_code_details" msgid="7869234868023975"><b>"Mugikorreko kontuan gastuak eragingo ditu horrek."</b></string> @@ -1495,7 +1495,7 @@ <string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"PIN berria"</string> <string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Berretsi PIN berria"</string> <string name="restr_pin_create_pin" msgid="8017600000263450337">"Konfiguratu debekuak aldatu ahal izateko idatzi beharko den PIN kodea"</string> - <string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"PINak ez datoz bat. Saiatu berriro."</string> + <string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"PIN kodeak ez datoz bat. Saiatu berriro."</string> <string name="restr_pin_error_too_short" msgid="8173982756265777792">"PINa laburregia da. 4 digitu izan behar ditu gutxienez."</string> <plurals name="restr_pin_countdown" formatted="false" msgid="9061246974881224688"> <item quantity="other">Saiatu berriro <xliff:g id="COUNT">%d</xliff:g> segundo igarotakoan</item> diff --git a/core/res/res/values-fa/strings.xml b/core/res/res/values-fa/strings.xml index 27aecadfc8e6..2434c34dd53e 100644 --- a/core/res/res/values-fa/strings.xml +++ b/core/res/res/values-fa/strings.xml @@ -45,7 +45,7 @@ <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"پست صوتی"</string> <string name="defaultMsisdnAlphaTag" msgid="2850889754919584674">"MSISDN1"</string> <string name="mmiError" msgid="5154499457739052907">"مشکل در اتصال یا کد MMI نامعتبر."</string> - <string name="mmiFdnError" msgid="5224398216385316471">"عملکرد فقط به شمارههای شماره گیری ثابت محدود است."</string> + <string name="mmiFdnError" msgid="5224398216385316471">"عملکرد فقط به شمارههای شمارهگیری ثابت محدود است."</string> <string name="serviceEnabled" msgid="8147278346414714315">"سرویس فعال شد."</string> <string name="serviceEnabledFor" msgid="6856228140453471041">"سرویس فعال شد برای:"</string> <string name="serviceDisabled" msgid="1937553226592516411">"سرویس غیرفعال شده است."</string> @@ -67,8 +67,8 @@ </plurals> <string name="imei" msgid="2625429890869005782">"IMEI"</string> <string name="meid" msgid="4841221237681254195">"MEID"</string> - <string name="ClipMmi" msgid="6952821216480289285">"شناسه تماس گیرنده ورودی"</string> - <string name="ClirMmi" msgid="7784673673446833091">"شناسه تماس گیرنده خروجی"</string> + <string name="ClipMmi" msgid="6952821216480289285">"شناسه تماسگیرنده ورودی"</string> + <string name="ClirMmi" msgid="7784673673446833091">"شناسه تماسگیرنده خروجی"</string> <string name="ColpMmi" msgid="3065121483740183974">"شناسه خط متصل"</string> <string name="ColrMmi" msgid="4996540314421889589">"محدودیت شناسه خط متصل"</string> <string name="CfMmi" msgid="5123218989141573515">"هدایت تماس"</string> @@ -82,12 +82,12 @@ <string name="RuacMmi" msgid="7827887459138308886">"رد تماسهای ناخواسته و آزار دهنده"</string> <string name="CndMmi" msgid="3116446237081575808">"تحویل شماره تماس"</string> <string name="DndMmi" msgid="1265478932418334331">"مزاحم نشوید"</string> - <string name="CLIRDefaultOnNextCallOn" msgid="429415409145781923">"پیشفرض شناسه تماس گیرنده روی محدود است. تماس بعدی: محدود"</string> - <string name="CLIRDefaultOnNextCallOff" msgid="3092918006077864624">"پیشفرض شناسه تماس گیرنده روی محدود است. تماس بعدی: بدون محدودیت"</string> - <string name="CLIRDefaultOffNextCallOn" msgid="6179425182856418465">"پیشفرض شناسه تماس گیرنده روی غیر محدود است. تماس بعدی: محدود"</string> - <string name="CLIRDefaultOffNextCallOff" msgid="2567998633124408552">"پیشفرض شناسه تماس گیرنده روی غیر محدود است. تماس بعدی: بدون محدودیت"</string> + <string name="CLIRDefaultOnNextCallOn" msgid="429415409145781923">"پیشفرض شناسه تماسگیرنده روی محدود است. تماس بعدی: محدود"</string> + <string name="CLIRDefaultOnNextCallOff" msgid="3092918006077864624">"پیشفرض شناسه تماسگیرنده روی محدود است. تماس بعدی: بدون محدودیت"</string> + <string name="CLIRDefaultOffNextCallOn" msgid="6179425182856418465">"پیشفرض شناسه تماسگیرنده روی غیر محدود است. تماس بعدی: محدود"</string> + <string name="CLIRDefaultOffNextCallOff" msgid="2567998633124408552">"پیشفرض شناسه تماسگیرنده روی غیر محدود است. تماس بعدی: بدون محدودیت"</string> <string name="serviceNotProvisioned" msgid="8614830180508686666">"سرویس دارای مجوز نیست."</string> - <string name="CLIRPermanent" msgid="3377371145926835671">"شما میتوانید تنظیم شناسه تماس گیرنده را تغییر دهید."</string> + <string name="CLIRPermanent" msgid="3377371145926835671">"شما میتوانید تنظیم شناسه تماسگیرنده را تغییر دهید."</string> <string name="RestrictedOnData" msgid="8653794784690065540">"سرویس داده مسدود است."</string> <string name="RestrictedOnEmergency" msgid="6581163779072833665">"سرویس اضطراری مسدود است."</string> <string name="RestrictedOnNormal" msgid="4953867011389750673">"سرویس صوتی مسدود شده است."</string> @@ -286,15 +286,15 @@ <string name="permdesc_processOutgoingCalls" msgid="5156385005547315876">"به برنامه اجازه میدهد عددی را که در طی یک تماس خروجی شمارهگیری شده، ببیند و این اختیار را دارد که تماس را به شماره دیگری هدایت کند یا کلاً تماس را قطع کند."</string> <string name="permlab_receiveSms" msgid="8673471768947895082">"دریافت پیامهای نوشتاری (پیامک)"</string> <string name="permdesc_receiveSms" msgid="6424387754228766939">"به برنامه اجازه میدهد پیامکها را دریافت و پردازش کند. این یعنی برنامه میتواند پیامهای ارسالی به دستگاه شما را بدون نمایش آنها به شما حذف یا کنترل کند."</string> - <string name="permlab_receiveMms" msgid="1821317344668257098">"دریافت پیامهای نوشتاری (MMS)"</string> - <string name="permdesc_receiveMms" msgid="533019437263212260">"به برنامه اجازه میدهد پیامهای MMS را دریافت و پردازش کند. این یعنی برنامه میتواند پیامهای ارسالی به دستگاه شما را بدون نمایش آنها به شما حذف یا کنترل کند."</string> + <string name="permlab_receiveMms" msgid="1821317344668257098">"دریافت پیامهای نوشتاری (فراپیام)"</string> + <string name="permdesc_receiveMms" msgid="533019437263212260">"به برنامه اجازه میدهد پیامهای فراپیام را دریافت و پردازش کند. این یعنی برنامه میتواند پیامهای ارسالی به دستگاه شما را بدون نمایش آنها به شما حذف یا کنترل کند."</string> <string name="permlab_readCellBroadcasts" msgid="1598328843619646166">"خواندن پیامهای پخش سلولی"</string> <string name="permdesc_readCellBroadcasts" msgid="6361972776080458979">"به برنامه اجازه میدهد پیامهای پخش سلولی دستگاه شما را بخواند. هشدارهای پخش سلولی در برخی از موقعیتهای مکانی تحویل داده میشوند تا موقعیتهای اضطراری را به شما اعلام کنند. وقتی پخش سلولی دریافت میشود، ممکن است برنامههای مخرب در عملکرد یا کارکرد دستگاه شما اختلال ایجاد کنند."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"خواندن فیدهای مشترک"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"به برنامه اجازه میدهد تا جزئیات مربوط به فیدهای همگام شده کنونی را دریافت کند."</string> <string name="permlab_sendSms" msgid="7544599214260982981">"ارسال و نمایش پیامهای پیامک"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"به برنامه اجازه میدهد پیامکها را ارسال کند. این باعث ایجاد هزینههای پیشبینی نشده میشود. برنامههای مخرب ممکن است با ارسال پیام بدون تأیید شما هزینههایی را برای شما ایجاد کنند."</string> - <string name="permlab_readSms" msgid="8745086572213270480">"خواندن پیامهای نوشتاری شما (پیامک یا MMS)"</string> + <string name="permlab_readSms" msgid="8745086572213270480">"خواندن پیامهای نوشتاری شما (پیامک یا فراپیام)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"به برنامه اجازه میدهد پیامکهای ذخیره شده در رایانهٔ لوحی یا سیم کارت شما را بخواند. این ویژگی به برنامه امکان میدهد همه پیامکها را صرفنظر از محتوا یا محرمانه بودن آنها بخواند."</string> <string name="permdesc_readSms" product="tv" msgid="5102425513647038535">"به برنامه اجازه میدهد تا پیامهای کوتاه ذخیره شده در تلویزیون یا سیمکارت شما را بخواند. به برنامه اجازه میدهد تا همه پیامهای کوتاه را صرفنظر از محتوا یا محرمانه بودن آنها بخواند."</string> <string name="permdesc_readSms" product="default" msgid="3695967533457240550">"به برنامه اجازه میدهد پیامکهای ذخیره شده در تلفن یا سیم کارت شما را بخواند. این ویژگی به برنامه امکان میدهد همه پیامکها را صرفنظر از محتوا یا محرمانه بودن آنها بخواند."</string> @@ -503,8 +503,8 @@ <string name="permdesc_setInputCalibration" msgid="4527511047549456929">"به برنامه امکان میدهد پارامترهای کالیبراسیون صفحه لمسی را تغییر دهد. هرگز نباید برای برنامههای عادی مورد نیاز باشد."</string> <string name="permlab_accessDrmCertificates" msgid="7436886640723203615">"دسترسی به گواهیهای DRM"</string> <string name="permdesc_accessDrmCertificates" msgid="8073288354426159089">"به یک برنامه کاربردی اجازه ارائه مجوز و استفاده از گواهیهای DRM را میدهد. هرگز برای برنامههای عادی مورد نیاز نیست."</string> - <string name="permlab_handoverStatus" msgid="7820353257219300883">"دریافت وضعیت انتقال پرتوی Android"</string> - <string name="permdesc_handoverStatus" msgid="4788144087245714948">"به برنامه امکان میدهد تا اطلاعاتی درباره انتقالهای کنونی پرتوی Android به دست آورد"</string> + <string name="permlab_handoverStatus" msgid="7820353257219300883">"دریافت وضعیت انتقال Android Beam"</string> + <string name="permdesc_handoverStatus" msgid="4788144087245714948">"به برنامه امکان میدهد تا اطلاعاتی درباره انتقالهای کنونی Android Beam بهدست آورد"</string> <string name="permlab_removeDrmCertificates" msgid="7044888287209892751">"حذف گواهیهای DRM"</string> <string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"به برنامه امکان میدهد گواهیهای DRM را حذف کند. نباید برای برنامههای عادی هیچوقت لازم باشد."</string> <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"مقید به سرویس پیامرسانی شرکت مخابراتی"</string> @@ -605,9 +605,9 @@ <string name="phoneTypeTelex" msgid="3367879952476250512">"تلکس"</string> <string name="phoneTypeTtyTdd" msgid="8606514378585000044">"TTY TDD"</string> <string name="phoneTypeWorkMobile" msgid="1311426989184065709">"تلفن همراه محل کار"</string> - <string name="phoneTypeWorkPager" msgid="649938731231157056">"پیجوی محل کار"</string> + <string name="phoneTypeWorkPager" msgid="649938731231157056">"پیجوی محل کار"</string> <string name="phoneTypeAssistant" msgid="5596772636128562884">"دستیار"</string> - <string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string> + <string name="phoneTypeMms" msgid="7254492275502768992">"فراپیام"</string> <string name="eventTypeCustom" msgid="7837586198458073404">"سفارشی"</string> <string name="eventTypeBirthday" msgid="2813379844211390740">"تاریخ تولد"</string> <string name="eventTypeAnniversary" msgid="3876779744518284000">"سالگرد"</string> @@ -730,7 +730,7 @@ <string name="lockscreen_access_pattern_cleared" msgid="5583479721001639579">"الگو پاک شد"</string> <string name="lockscreen_access_pattern_cell_added" msgid="6756031208359292487">"سلول اضافه شد"</string> <string name="lockscreen_access_pattern_cell_added_verbose" msgid="7264580781744026939">"سلول <xliff:g id="CELL_INDEX">%1$s</xliff:g> اضافه شد"</string> - <string name="lockscreen_access_pattern_detected" msgid="4988730895554057058">"الگو تکمیل شد"</string> + <string name="lockscreen_access_pattern_detected" msgid="4988730895554057058">"الگو کامل شد"</string> <string name="lockscreen_access_pattern_area" msgid="400813207572953209">"ناحیه الگو"</string> <string name="keyguard_accessibility_widget_changed" msgid="5678624624681400191">"%1$s. ابزارک %2$d از %3$d."</string> <string name="keyguard_accessibility_add_widget" msgid="8273277058724924654">"ابزارک اضافه کنید."</string> @@ -1235,7 +1235,7 @@ <string name="sync_undo_deletes" msgid="2941317360600338602">"واگرد موارد حذف شده"</string> <string name="sync_do_nothing" msgid="3743764740430821845">"اکنون کاری انجام نشود"</string> <string name="choose_account_label" msgid="5655203089746423927">"انتخاب حساب"</string> - <string name="add_account_label" msgid="2935267344849993553">"افزودن یک حساب"</string> + <string name="add_account_label" msgid="2935267344849993553">"افزودن حساب"</string> <string name="add_account_button_label" msgid="3611982894853435874">"افزودن حساب"</string> <string name="number_picker_increment_button" msgid="2412072272832284313">"افزایش"</string> <string name="number_picker_decrement_button" msgid="476050778386779067">"کاهش"</string> @@ -1523,7 +1523,7 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"توسط سرپرست شما بهروزرسانی شد"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"توسط سرپرستتان حذف شد"</string> <string name="battery_saver_description" msgid="1960431123816253034">"برای کمک به بهبود عمر باتری، بهینهسازی باتری عملکرد دستگاهتان را کاهش میدهد و لرزش، سرویسهای مبتنی بر مکان، و دسترسی به اکثر دادهها در پسزمینه را محدود میکند. ایمیل، پیامرسانی و برنامههای دیگری که به همگامسازی وابستهاند، تا زمانیکه آنها را باز نکنید نمیتوانند بهروز شوند.\n\nبهینهسازی باتری بهصورت خودکار در هنگام شارژ شدن دستگاه خاموش میشود."</string> - <string name="data_saver_description" msgid="6015391409098303235">"برای کمک به کاهش مصرف داده، «صرفهجویی داده» مانع ارسال و دریافت داده در پسزمینه ازطرف بعضی برنامهها میشود. برنامهای که درحال حاضر استفاده میکنید میتواند به داده دسترسی داشته باشد اما دفعات دسترسی آن محدود است. به این معنی که، برای مثال، تصاویر تا زمانی که روی آنها ضربه نزنید نشان داده نمیشوند."</string> + <string name="data_saver_description" msgid="6015391409098303235">"برای کمک به کاهش مصرف داده، «صرفهجویی داده» از ارسال و دریافت داده در پسزمینه از طرف بعضی برنامهها جلوگیری میکند. برنامهای که درحالحاضر استفاده میکنید میتواند به دادهها دسترسی داشته باشد اما دفعات دسترسی آن محدود است.این یعنی، برای مثال، تصاویر تا زمانی که روی آنها ضربه نزنید نشان داده نمیشوند."</string> <string name="data_saver_enable_title" msgid="4674073932722787417">"صرفهجویی داده روشن شود؟"</string> <string name="data_saver_enable_button" msgid="7147735965247211818">"روشن کردن"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> diff --git a/core/res/res/values-fi/strings.xml b/core/res/res/values-fi/strings.xml index c4d82d5324b2..24f40987fef5 100644 --- a/core/res/res/values-fi/strings.xml +++ b/core/res/res/values-fi/strings.xml @@ -522,10 +522,10 @@ <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Valvo väärien salasanojen määrää ruudun lukitusta avattaessa ja lukitse tabletti tai poista kaikki tämän käyttäjän tiedot, jos salasana kirjoitetaan väärin liian monta kertaa."</string> <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Valvo väärien salasanojen määrää ruudun lukitusta avattaessa ja lukitse televisio tai poista kaikki tämän käyttäjän tiedot, jos salasana kirjoitetaan väärin liian monta kertaa."</string> <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Valvo väärien salasanojen määrää ruudun lukitusta avattaessa ja lukitse puhelin tai poista kaikki tämän käyttäjän tiedot, jos salasana kirjoitetaan väärin liian monta kertaa."</string> - <string name="policylab_resetPassword" msgid="4934707632423915395">"Muuta näytön lukitus"</string> - <string name="policydesc_resetPassword" msgid="1278323891710619128">"Muuttaa näytön lukituksen"</string> + <string name="policylab_resetPassword" msgid="4934707632423915395">"Muuttaa näytön lukituksen"</string> + <string name="policydesc_resetPassword" msgid="1278323891710619128">"Muuttaa näytön lukituksen."</string> <string name="policylab_forceLock" msgid="2274085384704248431">"Lukita ruudun"</string> - <string name="policydesc_forceLock" msgid="1141797588403827138">"Hallinnoi, milloin ja miten ruutu lukittuu."</string> + <string name="policydesc_forceLock" msgid="1141797588403827138">"Hallinnoida, milloin ja miten näyttö lukittuu."</string> <string name="policylab_wipeData" msgid="3910545446758639713">"Pyyhkiä kaikki tiedot"</string> <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Tyhjennä tablet-laitteen tiedot varoituksetta palauttamalla tehdasasetukset."</string> <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Palauta tehdasasetukset ja poista television tiedot ilman varoitusta."</string> @@ -1294,7 +1294,7 @@ <string name="data_usage_mobile_limit_snoozed_title" msgid="4941346653729943789">"Mobiilitiedonsiirtoraja ylitetty"</string> <string name="data_usage_wifi_limit_snoozed_title" msgid="8743856006384825974">"Wi-Fi-tiedonsiirtoraja ylitetty"</string> <string name="data_usage_limit_snoozed_body" msgid="7035490278298441767">"<xliff:g id="SIZE">%s</xliff:g> yli asetetun rajan"</string> - <string name="data_usage_restricted_title" msgid="5965157361036321914">"Rajoitettu taustatietojen käyttö"</string> + <string name="data_usage_restricted_title" msgid="5965157361036321914">"Rajoitettu taustadatan käyttö"</string> <string name="data_usage_restricted_body" msgid="469866376337242726">"Poista rajoitus napauttamalla."</string> <string name="ssl_certificate" msgid="6510040486049237639">"Suojausvarmenne"</string> <string name="ssl_certificate_is_valid" msgid="6825263250774569373">"Varmenne on voimassa."</string> diff --git a/core/res/res/values-fr-rCA/strings.xml b/core/res/res/values-fr-rCA/strings.xml index 24c0df56e8ec..6ecd0fc27aec 100644 --- a/core/res/res/values-fr-rCA/strings.xml +++ b/core/res/res/values-fr-rCA/strings.xml @@ -251,7 +251,7 @@ <string name="permgrouplab_sms" msgid="228308803364967808">"Messagerie texte"</string> <string name="permgroupdesc_sms" msgid="4656988620100940350">"envoyer et afficher des messages texte"</string> <string name="permgrouplab_storage" msgid="1971118770546336966">"Stockage"</string> - <string name="permgroupdesc_storage" msgid="637758554581589203">"accéder à des photos, à des contenus multimédias et à des fichiers sur votre appareil"</string> + <string name="permgroupdesc_storage" msgid="637758554581589203">"accéder aux photos, aux contenus multimédias et aux fichiers sur votre appareil"</string> <string name="permgrouplab_microphone" msgid="171539900250043464">"Microphone"</string> <string name="permgroupdesc_microphone" msgid="4988812113943554584">"enregistrer des fichiers audio"</string> <string name="permgrouplab_camera" msgid="4820372495894586615">"Appareil photo"</string> @@ -548,8 +548,8 @@ <item msgid="8901098336658710359">"Domicile"</item> <item msgid="869923650527136615">"Mobile"</item> <item msgid="7897544654242874543">"Travail"</item> - <item msgid="1103601433382158155">"Télécopieur professionnel"</item> - <item msgid="1735177144948329370">"Télécopieur personnel"</item> + <item msgid="1103601433382158155">"Téléc. bureau"</item> + <item msgid="1735177144948329370">"Téléc. domicile"</item> <item msgid="603878674477207394">"Téléavertisseur"</item> <item msgid="1650824275177931637">"Autre"</item> <item msgid="9192514806975898961">"Personnaliser"</item> @@ -591,8 +591,8 @@ <string name="phoneTypeHome" msgid="2570923463033985887">"Domicile"</string> <string name="phoneTypeMobile" msgid="6501463557754751037">"Mobile"</string> <string name="phoneTypeWork" msgid="8863939667059911633">"Travail"</string> - <string name="phoneTypeFaxWork" msgid="3517792160008890912">"Télécopieur professionnel"</string> - <string name="phoneTypeFaxHome" msgid="2067265972322971467">"Télécopieur personnel"</string> + <string name="phoneTypeFaxWork" msgid="3517792160008890912">"Téléc. travail"</string> + <string name="phoneTypeFaxHome" msgid="2067265972322971467">"Téléc. domicile"</string> <string name="phoneTypePager" msgid="7582359955394921732">"Téléavertisseur"</string> <string name="phoneTypeOther" msgid="1544425847868765990">"Autre"</string> <string name="phoneTypeCallback" msgid="2712175203065678206">"Rappel"</string> diff --git a/core/res/res/values-fr/strings.xml b/core/res/res/values-fr/strings.xml index dc87af9d0369..cdd622fbd2f9 100644 --- a/core/res/res/values-fr/strings.xml +++ b/core/res/res/values-fr/strings.xml @@ -597,15 +597,15 @@ <string name="phoneTypeOther" msgid="1544425847868765990">"Autre"</string> <string name="phoneTypeCallback" msgid="2712175203065678206">"Rappel"</string> <string name="phoneTypeCar" msgid="8738360689616716982">"Voiture"</string> - <string name="phoneTypeCompanyMain" msgid="540434356461478916">"Entreprise (principal)"</string> + <string name="phoneTypeCompanyMain" msgid="540434356461478916">"Accueil entreprise"</string> <string name="phoneTypeIsdn" msgid="8022453193171370337">"RNIS"</string> <string name="phoneTypeMain" msgid="6766137010628326916">"Principal"</string> <string name="phoneTypeOtherFax" msgid="8587657145072446565">"Autre télécopie"</string> <string name="phoneTypeRadio" msgid="4093738079908667513">"Radio"</string> <string name="phoneTypeTelex" msgid="3367879952476250512">"Télex"</string> - <string name="phoneTypeTtyTdd" msgid="8606514378585000044">"TTY/TTD (malentendants)"</string> - <string name="phoneTypeWorkMobile" msgid="1311426989184065709">"Mobile (professionnel)"</string> - <string name="phoneTypeWorkPager" msgid="649938731231157056">"Téléavertisseur (professionnel)"</string> + <string name="phoneTypeTtyTdd" msgid="8606514378585000044">"TTY/TTD"</string> + <string name="phoneTypeWorkMobile" msgid="1311426989184065709">"Mobile prof."</string> + <string name="phoneTypeWorkPager" msgid="649938731231157056">"Bipeur prof."</string> <string name="phoneTypeAssistant" msgid="5596772636128562884">"Assistant"</string> <string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string> <string name="eventTypeCustom" msgid="7837586198458073404">"Personnalisé"</string> @@ -679,7 +679,7 @@ <string name="lockscreen_pattern_wrong" msgid="4317955014948108794">"Veuillez réessayer."</string> <string name="lockscreen_password_wrong" msgid="5737815393253165301">"Veuillez réessayer."</string> <string name="faceunlock_multiple_failures" msgid="754137583022792429">"Nombre maximal autorisé de tentatives Face Unlock atteint."</string> - <string name="lockscreen_missing_sim_message_short" msgid="5099439277819215399">"Aucune carte SIM"</string> + <string name="lockscreen_missing_sim_message_short" msgid="5099439277819215399">"Pas de carte SIM"</string> <string name="lockscreen_missing_sim_message" product="tablet" msgid="151659196095791474">"Aucune carte SIM n\'est insérée dans la tablette."</string> <string name="lockscreen_missing_sim_message" product="tv" msgid="1943633865476989599">"Carte SIM introuvable dans le téléviseur."</string> <string name="lockscreen_missing_sim_message" product="default" msgid="2186920585695169078">"Aucune carte SIM n\'est insérée dans le téléphone."</string> @@ -694,7 +694,7 @@ <string name="lockscreen_transport_stop_description" msgid="5907083260651210034">"Arrêter"</string> <string name="lockscreen_transport_rew_description" msgid="6944412838651990410">"Retour arrière"</string> <string name="lockscreen_transport_ffw_description" msgid="42987149870928985">"Avance rapide"</string> - <string name="emergency_calls_only" msgid="6733978304386365407">"Appels d\'urgence uniquement"</string> + <string name="emergency_calls_only" msgid="6733978304386365407">"Urgences seulement"</string> <string name="lockscreen_network_locked_message" msgid="143389224986028501">"Réseau verrouillé"</string> <string name="lockscreen_sim_puk_locked_message" msgid="7441797339976230">"La carte SIM est verrouillée par clé PUK."</string> <string name="lockscreen_sim_puk_locked_instructions" msgid="8127916255245181063">"Veuillez consulter le guide utilisateur ou contacter le service client."</string> @@ -1523,7 +1523,7 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Mis à jour par votre administrateur"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Supprimé par votre administrateur"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Pour améliorer l\'autonomie de la batterie, l\'économiseur de batterie réduit les performances et désactive le vibreur, les services de localisation et la plupart des données en arrière-plan. Les messageries électroniques ou autres applications utilisant la synchronisation pourraient ne pas se mettre à jour, sauf si vous les ouvrez.\n\nL\'économiseur de batterie s\'éteint automatiquement lorsque l\'appareil est en charge."</string> - <string name="data_saver_description" msgid="6015391409098303235">"Pour réduire la consommation des données, l\'économiseur de données empêche certaines applications d\'envoyer ou de recevoir des données en arrière-plan. Ainsi, une application que vous utilisez actuellement peut accéder à des données, mais moins souvent. Par exemple, les images peuvent ne pas s\'afficher tant que vous n\'appuyez pas dessus."</string> + <string name="data_saver_description" msgid="6015391409098303235">"Pour réduire la consommation des données, l\'économiseur de données empêche certaines applications d\'envoyer ou de recevoir des données en arrière-plan. Ainsi, une application que vous utilisez actuellement peut accéder à des données, mais moins souvent. Par exemple, il se peut que les images ne s\'affichent pas tant que vous n\'appuyez pas dessus."</string> <string name="data_saver_enable_title" msgid="4674073932722787417">"Activer sauvegarde données ?"</string> <string name="data_saver_enable_button" msgid="7147735965247211818">"Activer"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> diff --git a/core/res/res/values-gl-rES/strings.xml b/core/res/res/values-gl-rES/strings.xml index cf04177b5d1f..5317a84d12ba 100644 --- a/core/res/res/values-gl-rES/strings.xml +++ b/core/res/res/values-gl-rES/strings.xml @@ -164,7 +164,7 @@ <string name="contentServiceSync" msgid="8353523060269335667">"Sincronizar"</string> <string name="contentServiceSyncNotificationTitle" msgid="397743349191901458">"Sincronizar"</string> <string name="contentServiceTooManyDeletesNotificationDesc" msgid="8100981435080696431">"Demasiados elementos de <xliff:g id="CONTENT_TYPE">%s</xliff:g> eliminados."</string> - <string name="low_memory" product="tablet" msgid="6494019234102154896">"O almacenamento do tablet está cheo. Elimina algúns ficheiros para liberar espazo."</string> + <string name="low_memory" product="tablet" msgid="6494019234102154896">"O almacenamento da tableta está cheo. Elimina algúns ficheiros para liberar espazo."</string> <string name="low_memory" product="watch" msgid="4415914910770005166">"O almacenamento do reloxo está cheo. Elimina algúns ficheiros para liberar espazo."</string> <string name="low_memory" product="tv" msgid="516619861191025923">"O almacenamento da televisión está cheo. Elimina algúns ficheiros para liberar espazo."</string> <string name="low_memory" product="default" msgid="3475999286680000541">"O almacenamento do teléfono está cheo. Elimina algúns ficheiros para liberar espazo."</string> @@ -182,7 +182,7 @@ <string name="factory_reset_warning" msgid="5423253125642394387">"Borrarase o teu dispositivo"</string> <string name="factory_reset_message" msgid="4905025204141900666">"Non se pode utilizar a aplicación de administración porque lle faltan compoñentes ou están danados. Agora borrarase o teu dispositivo. Ponte en contacto co teu administrador para obter asistencia."</string> <string name="me" msgid="6545696007631404292">"Eu"</string> - <string name="power_dialog" product="tablet" msgid="8545351420865202853">"Opcións do tablet"</string> + <string name="power_dialog" product="tablet" msgid="8545351420865202853">"Opcións da tableta"</string> <string name="power_dialog" product="tv" msgid="6153888706430556356">"Opcións da televisión"</string> <string name="power_dialog" product="default" msgid="1319919075463988638">"Opcións do teléfono"</string> <string name="silent_mode" msgid="7167703389802618663">"Modo de silencio"</string> @@ -200,7 +200,7 @@ <string name="reboot_to_reset_title" msgid="4142355915340627490">"Restablecemento dos datos de fábrica"</string> <string name="reboot_to_reset_message" msgid="2432077491101416345">"Reiniciando..."</string> <string name="shutdown_progress" msgid="2281079257329981203">"Apagando…"</string> - <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Apagarase o tablet."</string> + <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Apagarase a tableta."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"A televisión apagarase."</string> <string name="shutdown_confirm" product="watch" msgid="3490275567476369184">"O reloxo apagarase."</string> <string name="shutdown_confirm" product="default" msgid="649792175242821353">"Apagarase o teléfono."</string> @@ -209,7 +209,7 @@ <string name="reboot_safemode_confirm" msgid="55293944502784668">"Queres reiniciar no modo seguro? Esta acción desactivará todas as aplicacións de terceiros que instalaches. Estas restableceranse cando reinicies de novo."</string> <string name="recent_tasks_title" msgid="3691764623638127888">"Recentes"</string> <string name="no_recent_tasks" msgid="8794906658732193473">"Ningunha aplicación recente."</string> - <string name="global_actions" product="tablet" msgid="408477140088053665">"Opcións de tablet"</string> + <string name="global_actions" product="tablet" msgid="408477140088053665">"Opcións de tableta"</string> <string name="global_actions" product="tv" msgid="7240386462508182976">"Opcións da televisión"</string> <string name="global_actions" product="default" msgid="2406416831541615258">"Opcións de teléfono"</string> <string name="global_action_lock" msgid="2844945191792119712">"Bloqueo da pantalla"</string> @@ -249,9 +249,9 @@ <string name="permgrouplab_calendar" msgid="5863508437783683902">"Calendario"</string> <string name="permgroupdesc_calendar" msgid="3889615280211184106">"acceder ao teu calendario"</string> <string name="permgrouplab_sms" msgid="228308803364967808">"SMS"</string> - <string name="permgroupdesc_sms" msgid="4656988620100940350">"envía e consulta mensaxes de SMS"</string> + <string name="permgroupdesc_sms" msgid="4656988620100940350">"envíar e consultar mensaxes de SMS"</string> <string name="permgrouplab_storage" msgid="1971118770546336966">"Almacenamento"</string> - <string name="permgroupdesc_storage" msgid="637758554581589203">"accede a fotos, contido multimedia e ficheiros no teu dispositivo"</string> + <string name="permgroupdesc_storage" msgid="637758554581589203">"acceder a fotos, contido multimedia e ficheiros no teu dispositivo"</string> <string name="permgrouplab_microphone" msgid="171539900250043464">"Micrófono"</string> <string name="permgroupdesc_microphone" msgid="4988812113943554584">"gravar audio"</string> <string name="permgrouplab_camera" msgid="4820372495894586615">"Cámara"</string> @@ -295,7 +295,7 @@ <string name="permlab_sendSms" msgid="7544599214260982981">"enviar e consultar mensaxes de SMS"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Permite á aplicación enviar mensaxes SMS. É posible que esta acción implique custos inesperados. É posible que as aplicacións maliciosas che custen diñeiro debido ao envío de mensaxes sen a túa confirmación."</string> <string name="permlab_readSms" msgid="8745086572213270480">"ler as túas mensaxes de texto (SMS ou MMS)"</string> - <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Permite á aplicación ler as mensaxes SMS que están almacenadas no teu tablet ou tarxeta SIM. Isto permite á aplicación ler todas as mensaxes SMS, independentemente do seu contido ou confidencialidade."</string> + <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Permite á aplicación ler as mensaxes SMS que están almacenadas na túa tableta ou tarxeta SIM. Isto permite á aplicación ler todas as mensaxes SMS, independentemente do seu contido ou confidencialidade."</string> <string name="permdesc_readSms" product="tv" msgid="5102425513647038535">"Permite que a aplicación consulte mensaxes SMS almacenadas na televisión ou na tarxeta SIM. A aplicación pode utilizar este permiso para ler todas as túas mensaxes SMS, independentemente do contido ou nivel de confidencialidade."</string> <string name="permdesc_readSms" product="default" msgid="3695967533457240550">"Permite á aplicación ler as mensaxes SMS que están almacenadas no teu teléfono ou tarxeta SIM. Isto permite á aplicación ler todas as mensaxes SMS, independentemente do seu contido ou confidencialidade."</string> <string name="permlab_receiveWapPush" msgid="5991398711936590410">"recibir mensaxes de texto (WAP)"</string> @@ -313,7 +313,7 @@ <string name="permlab_systemAlertWindow" msgid="3543347980839518613">"superpoñerse a outras aplicacións"</string> <string name="permdesc_systemAlertWindow" msgid="8584678381972820118">"Permite á aplicación debuxar sobre outras aplicacións ou partes da interface de usuario. É posible que interfiran co teu uso da interface de calquera aplicación ou que cambien o que cres que estás vendo noutras aplicacións."</string> <string name="permlab_persistentActivity" msgid="8841113627955563938">"facer que a aplicación se execute sempre"</string> - <string name="permdesc_persistentActivity" product="tablet" msgid="8525189272329086137">"Permite á aplicación converter partes súas como persistentes na memoria. Esta acción pode limitar a cantidade memoria dispoñible para outras aplicacións e reducir a velocidade de funcionamento do tablet."</string> + <string name="permdesc_persistentActivity" product="tablet" msgid="8525189272329086137">"Permite á aplicación converter partes súas como persistentes na memoria. Esta acción pode limitar a cantidade memoria dispoñible para outras aplicacións e reducir a velocidade de funcionamento da tableta."</string> <string name="permdesc_persistentActivity" product="tv" msgid="5086862529499103587">"Permite que a aplicación faga que algunhas das súas partes se manteñan na memoria. Esta acción pode limitar a cantidade de memoria dispoñible para outras aplicacións e reducir a velocidade da televisión."</string> <string name="permdesc_persistentActivity" product="default" msgid="4384760047508278272">"Permite á aplicación converter partes súas como persistentes na memoria. Esta acción pode limitar a cantidade memoria dispoñible para outras aplicacións e reducir a velocidade de funcionamento do teléfono."</string> <string name="permlab_getPackageSize" msgid="7472921768357981986">"medir o espazo de almacenamento da aplicación"</string> @@ -321,37 +321,37 @@ <string name="permlab_writeSettings" msgid="2226195290955224730">"modificar a configuración do sistema"</string> <string name="permdesc_writeSettings" msgid="7775723441558907181">"Permite á aplicación modificar os datos da configuración do sistema. É posible que aplicacións maliciosas danen a configuración do sistema."</string> <string name="permlab_receiveBootCompleted" msgid="5312965565987800025">"executarse no inicio"</string> - <string name="permdesc_receiveBootCompleted" product="tablet" msgid="7390304664116880704">"Permite á aplicación executarse unha vez o sistema se inicie completamente. Isto pode provocar que o tablet tarde máis tempo en iniciarse e permitir á aplicación reducir a velocidade xeral do teléfono ao manterse sempre en execución."</string> - <string name="permdesc_receiveBootCompleted" product="tv" msgid="4525890122209673621">"Permite que a aplicación se execute automaticamente unha vez que o sistema se inicie por completo. Con esta acción é posible que a televisión tarde máis en iniciarse e que a execución continua da aplicación reduza o rendemento xeral do tablet."</string> + <string name="permdesc_receiveBootCompleted" product="tablet" msgid="7390304664116880704">"Permite á aplicación executarse unha vez o sistema se inicie completamente. Isto pode provocar que a tableta tarde máis tempo en iniciarse e permitir á aplicación reducir a velocidade xeral do teléfono ao manterse sempre en execución."</string> + <string name="permdesc_receiveBootCompleted" product="tv" msgid="4525890122209673621">"Permite que a aplicación se execute automaticamente unha vez que o sistema se inicie por completo. Con esta acción é posible que a televisión tarde máis en iniciarse e que a execución continua da aplicación reduza o rendemento xeral da tableta."</string> <string name="permdesc_receiveBootCompleted" product="default" msgid="513950589102617504">"Permite á aplicación executarse unha vez o sistema se inicie completamente. Isto pode provocar que o teléfono tarde máis tempo en iniciarse e permitir á aplicación reducir a velocidade xeral do teléfono ao manterse sempre en execución."</string> <string name="permlab_broadcastSticky" msgid="7919126372606881614">"enviar difusión persistente"</string> - <string name="permdesc_broadcastSticky" product="tablet" msgid="7749760494399915651">"Permite á aplicación enviar difusións permanentes que continúan unha vez finalizada a difusión. Un uso excesivo pode provocar que o tablet funcione con lentitude ou de forma inestable debido á necesidade de utilizar demasiada memoria."</string> + <string name="permdesc_broadcastSticky" product="tablet" msgid="7749760494399915651">"Permite á aplicación enviar difusións permanentes que continúan unha vez finalizada a difusión. Un uso excesivo pode provocar que a tableta funcione con lentitude ou de forma inestable debido á necesidade de utilizar demasiada memoria."</string> <string name="permdesc_broadcastSticky" product="tv" msgid="6839285697565389467">"Permite que a aplicación envíe emisións permanentes, que continúan unha vez finalizada a emisión. O uso excesivo pode volver a televisión máis lenta ou inestable, facendo que utilice moita memoria."</string> <string name="permdesc_broadcastSticky" product="default" msgid="2825803764232445091">"Permite á aplicación enviar difusións permanentes que continúan unha vez finalizada a difusión. Un uso excesivo pode provocar que o teléfono funcione con lentitude ou de forma inestable debido á necesidade de utilizar demasiada memoria."</string> <string name="permlab_readContacts" msgid="8348481131899886131">"ler os teus contactos"</string> - <string name="permdesc_readContacts" product="tablet" msgid="5294866856941149639">"Permite á aplicación ler datos acerca dos teus contactos almacenados no tablet, incluída a frecuencia coa que os chamaches, lles enviaches un correo electrónico ou te comunicaches con individuos específicos doutras formas. Con este permiso as aplicacións poden gardar os teus datos de contacto e as aplicacións maliciosas poden compartir os datos de contacto sen o teu coñecemento."</string> + <string name="permdesc_readContacts" product="tablet" msgid="5294866856941149639">"Permite á aplicación ler datos acerca dos teus contactos almacenados na tableta, incluída a frecuencia coa que os chamaches, lles enviaches un correo electrónico ou te comunicaches con individuos específicos doutras formas. Con este permiso as aplicacións poden gardar os teus datos de contacto e as aplicacións maliciosas poden compartir os datos de contacto sen o teu coñecemento."</string> <string name="permdesc_readContacts" product="tv" msgid="1839238344654834087">"Permite que a aplicación consulte información sobre os contactos almacenados na televisión, incluída a frecuencia coa que os chamaches, lles enviaches un correo electrónico ou te comunicaches con eles doutra forma. Con este permiso a aplicación pode gardar os datos de contacto. As aplicacións maliciosas poden compartir datos de contacto sen o teu consentimento."</string> <string name="permdesc_readContacts" product="default" msgid="8440654152457300662">"Permite á aplicación ler datos acerca dos teus contactos almacenados no teléfono, incluída a frecuencia coa que os chamaches, lles enviaches un correo electrónico ou te comunicaches con individuos específicos doutras formas. Con este permiso as aplicacións poden gardar os teus datos de contacto e as aplicacións maliciosas poden compartir os datos de contacto sen o teu coñecemento."</string> <string name="permlab_writeContacts" msgid="5107492086416793544">"modificar os teus contactos"</string> - <string name="permdesc_writeContacts" product="tablet" msgid="897243932521953602">"Permite á aplicación modificar os datos acerca dos teus contactos almacenados no tablet, incluído a frecuencia coa que os chamaches, lles enviaches un correo electrónico ou te comunicaches con contactos específicos doutras formas. Con este permiso as aplicacións poden eliminar datos de contactos."</string> + <string name="permdesc_writeContacts" product="tablet" msgid="897243932521953602">"Permite á aplicación modificar os datos acerca dos teus contactos almacenados na tableta, incluído a frecuencia coa que os chamaches, lles enviaches un correo electrónico ou te comunicaches con contactos específicos doutras formas. Con este permiso as aplicacións poden eliminar datos de contactos."</string> <string name="permdesc_writeContacts" product="tv" msgid="5438230957000018959">"Permite que a aplicación modifique datos sobre contactos almacenados na televisión, incluída a frecuencia coa que os chamaches, lles enviaches un correo electrónico ou te comunicaches con eles doutra forma. Con este permiso a aplicación pode eliminar os datos de contactos."</string> <string name="permdesc_writeContacts" product="default" msgid="589869224625163558">"Permite á aplicación modificar os datos acerca dos teus contactos almacenados no teléfono, incluída a frecuencia coa que chamaches, enviaches correos electrónicos ou te comunicaches doutras maneiras con contactos específicos. Con este permiso as aplicacións poden eliminar datos de contactos."</string> <string name="permlab_readCallLog" msgid="3478133184624102739">"ler rexistro de chamadas"</string> - <string name="permdesc_readCallLog" product="tablet" msgid="3700645184870760285">"Permite á aplicación ler o rexistro de chamadas do tablet, incluídos os datos acerca das chamadas entrantes e saíntes. Con este permiso as aplicacións poden gardar os datos do teu rexistro de chamadas e as aplicacións maliciosas poden compartir os datos do rexistro de chamadas sen o teu coñecemento."</string> + <string name="permdesc_readCallLog" product="tablet" msgid="3700645184870760285">"Permite á aplicación ler o rexistro de chamadas da tableta, incluídos os datos acerca das chamadas entrantes e saíntes. Con este permiso as aplicacións poden gardar os datos do teu rexistro de chamadas e as aplicacións maliciosas poden compartir os datos do rexistro de chamadas sen o teu coñecemento."</string> <string name="permdesc_readCallLog" product="tv" msgid="5611770887047387926">"Permite que a aplicación consulte o rexistro de chamadas da televisión, incluídos os datos sobre chamadas entrantes e saíntes. Con este permiso a aplicación pode gardar os datos do rexistro de chamadas. As aplicacións maliciosas poden compartir datos do rexistro de chamadas sen o teu consentimento."</string> <string name="permdesc_readCallLog" product="default" msgid="5777725796813217244">"Permite á aplicación ler o rexistro de chamadas do teléfono, incluídos os datos acerca das chamadas entrantes e saíntes. Con este permiso as aplicacións poden gardar os datos do teu rexistro de chamadas e as aplicacións maliciosas poden compartir os datos do rexistro de chamadas sen o teu coñecemento."</string> <string name="permlab_writeCallLog" msgid="8552045664743499354">"escribir no rexistro de chamadas"</string> - <string name="permdesc_writeCallLog" product="tablet" msgid="6661806062274119245">"Permite á aplicación modificar o rexistro de chamadas do tablet, incluídos os datos acerca de chamadas entrantes e saíntes. É posible que aplicacións maliciosas utilicen esta acción para borrar ou modificar o teu rexistro de chamadas."</string> + <string name="permdesc_writeCallLog" product="tablet" msgid="6661806062274119245">"Permite á aplicación modificar o rexistro de chamadas da tableta, incluídos os datos acerca de chamadas entrantes e saíntes. É posible que aplicacións maliciosas utilicen esta acción para borrar ou modificar o teu rexistro de chamadas."</string> <string name="permdesc_writeCallLog" product="tv" msgid="4225034892248398019">"Permite que a aplicación modifique o rexistro de chamadas da televisión, incluídos os datos sobre chamadas entrantes e saíntes. As aplicacións maliciosas poden utilizar este permiso para borrar ou modificar o rexistro de chamadas."</string> <string name="permdesc_writeCallLog" product="default" msgid="683941736352787842">"Permite á aplicación modificar o rexistro de chamadas do teléfono, incluídos os datos acerca de chamadas entrantes e saíntes. É posible que aplicacións maliciosas utilicen esta acción para borrar ou modificar o teu rexistro de chamadas."</string> <string name="permlab_bodySensors" msgid="4683341291818520277">"acceder a sensores do corpo (como monitores de ritmo cardíaco)"</string> <string name="permdesc_bodySensors" product="default" msgid="4380015021754180431">"Permite que a aplicación acceda aos datos dos sensores que controlan o teu estado físico, como o ritmo cardíaco."</string> <string name="permlab_readCalendar" msgid="5972727560257612398">"ler os eventos do calendario e a información confidencial"</string> - <string name="permdesc_readCalendar" product="tablet" msgid="4216462049057658723">"Permite á aplicación ler todos os eventos do calendario que están almacenados no tablet, incluídos os pertencentes aos teus amigos ou compañeiros de traballo. É posible que esta acción permita á aplicación compartir ou gardar os datos do teu calendario, independentemente da confidencialidade."</string> + <string name="permdesc_readCalendar" product="tablet" msgid="4216462049057658723">"Permite á aplicación ler todos os eventos do calendario que están almacenados na tableta, incluídos os pertencentes aos teus amigos ou compañeiros de traballo. É posible que esta acción permita á aplicación compartir ou gardar os datos do teu calendario, independentemente da confidencialidade."</string> <string name="permdesc_readCalendar" product="tv" msgid="3191352452242394196">"Permite que a aplicación consulte todos os eventos do calendario almacenados na televisión, incluídos os de amigos e compañeiros de traballo. A aplicación pode utilizar este permiso para compartir ou gardar datos do calendario, sen ter en conta o nivel de privacidade ou confidencialidade."</string> <string name="permdesc_readCalendar" product="default" msgid="7434548682470851583">"Permite á aplicación ler todos os eventos do calendario que están almacenados no teléfono, incluídos os pertencentes aos teus amigos ou compañeiros de traballo. É posible que esta acción permita á aplicación compartir ou gardar os datos do teu calendario, independentemente da confidencialidade."</string> <string name="permlab_writeCalendar" msgid="8438874755193825647">"engadir ou modificar eventos do calendario e enviar correo electrónico aos invitados sen que o saiban os propietarios"</string> - <string name="permdesc_writeCalendar" product="tablet" msgid="6679035520113668528">"Permite á aplicación engadir, eliminar e cambiar eventos que podes modificar no teu tablet, incluídos os de amigos ou compañeiros de traballo. É posible que esta acción permita á aplicación enviar mensaxes que parecen proceder de propietarios de calendarios ou modificar eventos sen o coñecemento dos propietarios."</string> + <string name="permdesc_writeCalendar" product="tablet" msgid="6679035520113668528">"Permite á aplicación engadir, eliminar e cambiar eventos que podes modificar na túa tableta, incluídos os de amigos ou compañeiros de traballo. É posible que esta acción permita á aplicación enviar mensaxes que parecen proceder de propietarios de calendarios ou modificar eventos sen o coñecemento dos propietarios."</string> <string name="permdesc_writeCalendar" product="tv" msgid="1273290605500902507">"Permite que a aplicación engada, elimine e cambie eventos que se poden modificar na televisión, incluídos os de amigos e compañeiros de traballo. A aplicación pode utilizar este permiso para enviar mensaxes que poidan proceder de propietarios dun calendario ou para modificar eventos sen coñecemento dos propietarios."</string> <string name="permdesc_writeCalendar" product="default" msgid="2324469496327249376">"Permite á aplicación engadir, eliminar e cambiar eventos que podes modificar no teu teléfono, incluídos os de amigos ou compañeiros de traballo. É posible que esta acción permita á aplicación enviar mensaxes que parecen proceder de propietarios de calendarios ou modificar eventos sen o coñecemento dos propietarios."</string> <string name="permlab_accessLocationExtraCommands" msgid="2836308076720553837">"acceder a comandos adicionais do provedor de situación"</string> @@ -376,14 +376,14 @@ <string name="permdesc_accessImsCallService" msgid="8992884015198298775">"Permite que a aplicación use o servizo de IMS para facer chamadas sen a túa intervención."</string> <string name="permlab_readPhoneState" msgid="9178228524507610486">"ler o estado e a identidade do teléfono"</string> <string name="permdesc_readPhoneState" msgid="1639212771826125528">"Permite á aplicación acceder ás funcións de teléfono do dispositivo. Con este permiso a aplicación pode determinar o número de teléfono e os ID do dispositivo, se unha chamada está activa e o número remoto conectado mediante unha chamada."</string> - <string name="permlab_wakeLock" product="tablet" msgid="1531731435011495015">"evitar que o tablet entre en modo de inactividade"</string> + <string name="permlab_wakeLock" product="tablet" msgid="1531731435011495015">"evitar que a tableta entre en modo de inactividade"</string> <string name="permlab_wakeLock" product="tv" msgid="2601193288949154131">"evitar que a televisión entre en modo de suspensión"</string> <string name="permlab_wakeLock" product="default" msgid="573480187941496130">"evitar que o teléfono entre en modo de suspensión"</string> - <string name="permdesc_wakeLock" product="tablet" msgid="7311319824400447868">"Permite á aplicación evitar que o tablet acceda ao modo de suspensión."</string> + <string name="permdesc_wakeLock" product="tablet" msgid="7311319824400447868">"Permite á aplicación evitar que a tableta acceda ao modo de suspensión."</string> <string name="permdesc_wakeLock" product="tv" msgid="3208534859208996974">"Permite que a aplicación impida que a televisión entre en modo de suspensión."</string> <string name="permdesc_wakeLock" product="default" msgid="8559100677372928754">"Permite á aplicación evitar que o teléfono acceda ao modo de suspensión."</string> <string name="permlab_transmitIr" msgid="7545858504238530105">"transmitir infravermellos"</string> - <string name="permdesc_transmitIr" product="tablet" msgid="5358308854306529170">"Permite á aplicación utilizar o transmisor de infravermellos do tablet."</string> + <string name="permdesc_transmitIr" product="tablet" msgid="5358308854306529170">"Permite á aplicación utilizar o transmisor de infravermellos da tableta."</string> <string name="permdesc_transmitIr" product="tv" msgid="3926790828514867101">"Permite que a aplicación utilice o transmisor de infravermellos da televisión."</string> <string name="permdesc_transmitIr" product="default" msgid="7957763745020300725">"Permite á aplicación utilizar o transmisor de infravermellos do teléfono."</string> <string name="permlab_setWallpaper" msgid="6627192333373465143">"establecer o fondo de pantalla"</string> @@ -391,11 +391,11 @@ <string name="permlab_setWallpaperHints" msgid="3278608165977736538">"definir o tamaño do fondo de pantalla"</string> <string name="permdesc_setWallpaperHints" msgid="8235784384223730091">"Permite á aplicación definir a optimización do tamaño do fondo de pantalla do sistema."</string> <string name="permlab_setTimeZone" msgid="2945079801013077340">"establecer a zona horaria"</string> - <string name="permdesc_setTimeZone" product="tablet" msgid="1676983712315827645">"Permite á aplicación cambiar a zona horaria do tablet."</string> + <string name="permdesc_setTimeZone" product="tablet" msgid="1676983712315827645">"Permite á aplicación cambiar a zona horaria da tableta."</string> <string name="permdesc_setTimeZone" product="tv" msgid="888864653946175955">"Permite que a aplicación cambie a zona horaria da televisión."</string> <string name="permdesc_setTimeZone" product="default" msgid="4499943488436633398">"Permite á aplicación cambiar a zona horaria do teléfono."</string> <string name="permlab_getAccounts" msgid="1086795467760122114">"encontrar contas no dispositivo"</string> - <string name="permdesc_getAccounts" product="tablet" msgid="2741496534769660027">"Permite á aplicación obter a lista de contas coñecidas polo tablet. É posible que aquí se inclúan as contas creadas por aplicacións que tes instaladas."</string> + <string name="permdesc_getAccounts" product="tablet" msgid="2741496534769660027">"Permite á aplicación obter a lista de contas coñecidas pola tableta. É posible que aquí se inclúan contas creadas por aplicacións que teñas instaladas."</string> <string name="permdesc_getAccounts" product="tv" msgid="4190633395633907543">"Permite que a aplicación obteña a lista de contas recoñecidas pola televisión. Pode incluír as contas creadas polas aplicacións que instalaches."</string> <string name="permdesc_getAccounts" product="default" msgid="3448316822451807382">"Permite á aplicación obter a lista de contas coñecidas polo teléfono. É posible que aquí se inclúan as contas creadas por aplicacións que tes instaladas."</string> <string name="permlab_accessNetworkState" msgid="4951027964348974773">"ver conexións de rede"</string> @@ -411,21 +411,21 @@ <string name="permlab_changeWifiState" msgid="6550641188749128035">"conectar e desconectar da wifi"</string> <string name="permdesc_changeWifiState" msgid="7137950297386127533">"Permite á aplicación conectarse e desconectarse de puntos de acceso á wifi e realizar cambios na configuración do dispositivo das redes wifi."</string> <string name="permlab_changeWifiMulticastState" msgid="1368253871483254784">"permitir a recepción multidifusión Wi-Fi"</string> - <string name="permdesc_changeWifiMulticastState" product="tablet" msgid="7969774021256336548">"Permite á aplicación recibir paquetes enviados a todos os dispositivos a través dunha rede wifi utilizando enderezos de multidifusión, non só ao teu tablet. Utiliza máis enerxía que o modo que non inclúe a multidifusión."</string> + <string name="permdesc_changeWifiMulticastState" product="tablet" msgid="7969774021256336548">"Permite á aplicación recibir paquetes enviados a todos os dispositivos a través dunha rede wifi utilizando enderezos de multidifusión, non só á túa tableta. Utiliza máis enerxía que o modo que non inclúe a multidifusión."</string> <string name="permdesc_changeWifiMulticastState" product="tv" msgid="9031975661145014160">"Permite que a aplicación reciba paquetes enviados a todos os dispositivos dunha rede wifi a través de enderezos de multidifusión, non só á túa televisión. Utiliza máis enerxía que o modo sen multidifusión."</string> <string name="permdesc_changeWifiMulticastState" product="default" msgid="6851949706025349926">"Permite á aplicación recibir paquetes enviados a todos os dispositivos a través dunha rede wifi utilizando enderezos de multidifusión, non só o teu teléfono. Utiliza máis enerxía que o modo que non inclúe a multidifusión."</string> <string name="permlab_bluetoothAdmin" msgid="6006967373935926659">"acceder á configuración de Bluetooth"</string> - <string name="permdesc_bluetoothAdmin" product="tablet" msgid="6921177471748882137">"Permite á aplicación configurar o tablet Bluetooth local e descubrir e sincronizar con dispositivos remotos."</string> + <string name="permdesc_bluetoothAdmin" product="tablet" msgid="6921177471748882137">"Permite á aplicación configurar a tableta Bluetooth local e descubrir e sincronizar con dispositivos remotos."</string> <string name="permdesc_bluetoothAdmin" product="tv" msgid="3373125682645601429">"Permite que a aplicación configure a televisión Bluetooth local, busque dispositivos remotos e se sincronice con eles."</string> <string name="permdesc_bluetoothAdmin" product="default" msgid="8931682159331542137">"Permite á aplicación configurar o teléfono Bluetooth local e descubrir e sincronizar con dispositivos remotos."</string> <string name="permlab_accessWimaxState" msgid="4195907010610205703">"conectar e desconectar de WiMAX"</string> <string name="permdesc_accessWimaxState" msgid="6360102877261978887">"Permite á aplicación determinar se WiMAX está activado e obter información acerca das redes WiMAX que están conectadas."</string> <string name="permlab_changeWimaxState" msgid="340465839241528618">"cambiar estado de WiMAX"</string> - <string name="permdesc_changeWimaxState" product="tablet" msgid="3156456504084201805">"Permite á aplicación conectar e desconectar o tablet de redes WiMAX."</string> + <string name="permdesc_changeWimaxState" product="tablet" msgid="3156456504084201805">"Permite á aplicación conectar e desconectar a tableta de redes WiMAX."</string> <string name="permdesc_changeWimaxState" product="tv" msgid="6022307083934827718">"Permite que a aplicación conecte ou desconecte a televisión de redes WiMAX."</string> <string name="permdesc_changeWimaxState" product="default" msgid="697025043004923798">"Permite á aplicación conectar e desconectar o teléfono de redes WiMAX."</string> <string name="permlab_bluetooth" msgid="6127769336339276828">"sincronizar con dispositivos Bluetooth"</string> - <string name="permdesc_bluetooth" product="tablet" msgid="3480722181852438628">"Permite á aplicación ver a configuración do Bluetooth no tablet e efectuar e aceptar conexións con dispositivos sincronizados."</string> + <string name="permdesc_bluetooth" product="tablet" msgid="3480722181852438628">"Permite á aplicación ver a configuración do Bluetooth na tableta e efectuar e aceptar conexións con dispositivos sincronizados."</string> <string name="permdesc_bluetooth" product="tv" msgid="3974124940101104206">"Permite que a aplicación consulte a configuración de Bluetooth na televisión e estableza e acepte conexións con dispositivos sincronizados."</string> <string name="permdesc_bluetooth" product="default" msgid="3207106324452312739">"Permite á aplicación ver a configuración do Bluetooth no teléfono e efectuar e aceptar conexións con dispositivos sincronizados."</string> <string name="permlab_nfc" msgid="4423351274757876953">"controlar Near Field Communication"</string> @@ -516,10 +516,10 @@ <string name="policylab_limitPassword" msgid="4497420728857585791">"Establecer as normas de contrasinal"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Controla a lonxitude e os caracteres permitidos nos contrasinais e nos PIN de bloqueo da pantalla."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Supervisar os intentos de desbloqueo da pantalla"</string> - <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Supervisa o número de contrasinais incorrectos escritos ao desbloquear a pantalla e bloquea o tablet ou borra todos os datos do tablet se se escriben demasiados contrasinais incorrectos."</string> + <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Supervisa o número de contrasinais incorrectos escritos ao desbloquear a pantalla e bloquea a tableta ou borra todos os datos da tableta se se escriben demasiados contrasinais incorrectos."</string> <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Controla o número de contrasinais incorrectos introducidos ao desbloquear a pantalla e bloquea a televisión ou borra todos os seus datos se se introducen demasiados contrasinais incorrectos."</string> <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Supervisa o número de contrasinais incorrectos escritos ao desbloquear a pantalla e bloquea o teléfono ou borra todos os datos do teléfono se se escriben demasiados contrasinais incorrectos."</string> - <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Supervisar o número de contrasinais incorrectos escritos ao desbloquear a pantalla e bloquear o tablet ou borrar todos os datos do usuario se se escriben demasiados contrasinais incorrectos."</string> + <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Supervisar o número de contrasinais incorrectos escritos ao desbloquear a pantalla e bloquear a tableta ou borrar todos os datos do usuario se se escriben demasiados contrasinais incorrectos."</string> <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Supervisar o número de contrasinais incorrectos escritos ao desbloquear a pantalla e bloquear a televisión ou borrar todos os datos do usuario se se escriben demasiados contrasinais incorrectos."</string> <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Supervisar o número de contrasinais incorrectos escritos ao desbloquear a pantalla e bloquear o teléfono ou borrar todos os datos do usuario se se escriben demasiados contrasinais incorrectos."</string> <string name="policylab_resetPassword" msgid="4934707632423915395">"Cambiar o bloqueo da pantalla"</string> @@ -527,11 +527,11 @@ <string name="policylab_forceLock" msgid="2274085384704248431">"Bloquear a pantalla"</string> <string name="policydesc_forceLock" msgid="1141797588403827138">"Controlar como e cando se bloquea a pantalla."</string> <string name="policylab_wipeData" msgid="3910545446758639713">"Borrar todos os datos"</string> - <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Borrar os datos do tablet sen previo aviso mediante a realización dun restablecemento dos datos de fábrica."</string> + <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Borrar os datos da tableta sen previo aviso mediante a realización dun restablecemento dos datos de fábrica."</string> <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Borra os datos da televisión sen previo aviso a través do restablecemento dos valores de fábrica."</string> <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Borrar os datos do teléfono sen previo aviso mediante a realización dun restablecemento dos datos de fábrica."</string> <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Borrar os datos do usuario"</string> - <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Borra os datos deste usuario neste tablet sen previo aviso."</string> + <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Borra os datos deste usuario nesta tableta sen previo aviso."</string> <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Borra os datos deste usuario nesta televisión sen previo aviso."</string> <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Borra os datos deste usuario neste teléfono sen previo aviso."</string> <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Establecer o proxy global do dispositivo"</string> @@ -680,7 +680,7 @@ <string name="lockscreen_password_wrong" msgid="5737815393253165301">"Téntao de novo"</string> <string name="faceunlock_multiple_failures" msgid="754137583022792429">"Superouse o número máximo de intentos de desbloqueo facial"</string> <string name="lockscreen_missing_sim_message_short" msgid="5099439277819215399">"Non hai ningunha tarxeta SIM"</string> - <string name="lockscreen_missing_sim_message" product="tablet" msgid="151659196095791474">"Non hai ningunha tarxeta SIM no tablet."</string> + <string name="lockscreen_missing_sim_message" product="tablet" msgid="151659196095791474">"Non hai ningunha tarxeta SIM na tableta."</string> <string name="lockscreen_missing_sim_message" product="tv" msgid="1943633865476989599">"Ningunha tarxeta SIM na televisión."</string> <string name="lockscreen_missing_sim_message" product="default" msgid="2186920585695169078">"Non hai ningunha tarxeta SIM no teléfono."</string> <string name="lockscreen_missing_sim_instructions" msgid="5372787138023272615">"Insire unha tarxeta SIM."</string> @@ -703,13 +703,13 @@ <string name="lockscreen_too_many_failed_attempts_dialog_message" msgid="6481623830344107222">"Debuxaches incorrectamente o padrón de desbloqueo <xliff:g id="NUMBER_0">%1$d</xliff:g> veces. \n\nTéntao de novo en <xliff:g id="NUMBER_1">%2$d</xliff:g> segundos."</string> <string name="lockscreen_too_many_failed_password_attempts_dialog_message" msgid="2725973286239344555">"Introduciches o contrasinal incorrectamente <xliff:g id="NUMBER_0">%1$d</xliff:g> veces. \n\nTéntao de novo en <xliff:g id="NUMBER_1">%2$d</xliff:g> segundos."</string> <string name="lockscreen_too_many_failed_pin_attempts_dialog_message" msgid="6216672706545696955">"Introduciches o PIN incorrectamente <xliff:g id="NUMBER_0">%1$d</xliff:g> veces. \n\nTéntao de novo en <xliff:g id="NUMBER_1">%2$d</xliff:g> segundos."</string> - <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="9191611984625460820">"Debuxaches o padrón de desbloqueo <xliff:g id="NUMBER_0">%1$d</xliff:g> veces de forma incorrecta. Se realizas <xliff:g id="NUMBER_1">%2$d</xliff:g> intentos incorrectos máis, terás que desbloquear o tablet cos datos de inicio de sesión de Google.\n\n Téntao de novo en <xliff:g id="NUMBER_2">%3$d</xliff:g> segundos."</string> + <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="9191611984625460820">"Debuxaches o padrón de desbloqueo <xliff:g id="NUMBER_0">%1$d</xliff:g> veces de forma incorrecta. Se realizas <xliff:g id="NUMBER_1">%2$d</xliff:g> intentos incorrectos máis, terás que desbloquear a tableta cos datos de inicio de sesión de Google.\n\n Téntao de novo en <xliff:g id="NUMBER_2">%3$d</xliff:g> segundos."</string> <string name="lockscreen_failed_attempts_almost_glogin" product="tv" msgid="5316664559603394684">"Debuxaches o padrón de desbloqueo <xliff:g id="NUMBER_0">%1$d</xliff:g> veces de forma incorrecta. Se realizas <xliff:g id="NUMBER_1">%2$d</xliff:g> intentos incorrectos máis, terás que desbloquear a televisión cos datos de inicio de sesión de Google.\n\n Téntao de novo en <xliff:g id="NUMBER_2">%3$d</xliff:g> segundos."</string> <string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="2590227559763762751">"Debuxaches o padrón de desbloqueo <xliff:g id="NUMBER_0">%1$d</xliff:g> veces de forma incorrecta. Se realizas <xliff:g id="NUMBER_1">%2$d</xliff:g> intentos incorrectos máis, terás que desbloquear o teléfono cos datos de inicio de sesión de Google.\n\n Téntao de novo en <xliff:g id="NUMBER_2">%3$d</xliff:g> segundos."</string> - <string name="lockscreen_failed_attempts_almost_at_wipe" product="tablet" msgid="6128106399745755604">"Tentaches desbloquear o tablet <xliff:g id="NUMBER_0">%1$d</xliff:g> veces sen conseguilo. Se se realizan <xliff:g id="NUMBER_1">%2$d</xliff:g> intentos máis sen logralo, restablecerase a configuración de fábrica predeterminada e perderanse todos os datos de usuario."</string> + <string name="lockscreen_failed_attempts_almost_at_wipe" product="tablet" msgid="6128106399745755604">"Tentaches desbloquear a tableta <xliff:g id="NUMBER_0">%1$d</xliff:g> veces sen conseguilo. Se se realizan <xliff:g id="NUMBER_1">%2$d</xliff:g> intentos máis sen logralo, restablecerase a configuración de fábrica predeterminada e perderanse todos os datos de usuario."</string> <string name="lockscreen_failed_attempts_almost_at_wipe" product="tv" msgid="950408382418270260">"Tentaches desbloquear a televisión <xliff:g id="NUMBER_0">%1$d</xliff:g> veces de forma incorrecta. Se realizas <xliff:g id="NUMBER_1">%2$d</xliff:g> intentos incorrectos máis, restableceranse os valores de fábrica do aparello e perderanse todos os datos de usuario."</string> <string name="lockscreen_failed_attempts_almost_at_wipe" product="default" msgid="8603565142156826565">"Tentaches desbloquear o teléfono <xliff:g id="NUMBER_0">%1$d</xliff:g> veces sen conseguilo. Se se realizan <xliff:g id="NUMBER_1">%2$d</xliff:g> intentos máis sen logralo, restablecerase a configuración de fábrica predeterminada e perderanse todos os datos do usuario."</string> - <string name="lockscreen_failed_attempts_now_wiping" product="tablet" msgid="280873516493934365">"Tentaches desbloquear o tablet <xliff:g id="NUMBER">%d</xliff:g> veces sen conseguilo. Restablecerase a configuración de fábrica predeterminada."</string> + <string name="lockscreen_failed_attempts_now_wiping" product="tablet" msgid="280873516493934365">"Tentaches desbloquear a tableta <xliff:g id="NUMBER">%d</xliff:g> veces sen conseguilo. Restablecerase a configuración de fábrica predeterminada."</string> <string name="lockscreen_failed_attempts_now_wiping" product="tv" msgid="3195755534096192191">"Tentaches desbloquear a televisión <xliff:g id="NUMBER">%d</xliff:g> veces de forma incorrecta. Agora restableceranse os valores de fábrica do aparello."</string> <string name="lockscreen_failed_attempts_now_wiping" product="default" msgid="3025504721764922246">"Tentaches desbloquear o teléfono <xliff:g id="NUMBER">%d</xliff:g> veces sen conseguilo. Restablecerase a configuración de fábrica predeterminada."</string> <string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"Téntao de novo en <xliff:g id="NUMBER">%d</xliff:g> segundos."</string> @@ -793,7 +793,7 @@ <string name="permlab_readHistoryBookmarks" msgid="3775265775405106983">"ler os favoritos e o historial da web"</string> <string name="permdesc_readHistoryBookmarks" msgid="8462378226600439658">"Permite á aplicación ler o historial de todos os URL visitados polo navegador e todos os favoritos do navegador. Nota: É posible que este permiso non sexa executado por navegadores de terceiros ou outras aplicacións con funcionalidades de navegación web."</string> <string name="permlab_writeHistoryBookmarks" msgid="3714785165273314490">"escribir nos favoritos e no historial da web"</string> - <string name="permdesc_writeHistoryBookmarks" product="tablet" msgid="6825527469145760922">"Permite á aplicación modificar o historial ou os favoritos do navegador que están almacenados no teu tablet. É posible que esta acción permita á aplicación borrar ou modificar os datos do navegador. Nota: É posible que este permiso non sexa executado por navegadores de terceiros ou outras aplicacións con funcionalidades de navegación web."</string> + <string name="permdesc_writeHistoryBookmarks" product="tablet" msgid="6825527469145760922">"Permite á aplicación modificar o historial ou os favoritos do navegador que están almacenados na túa tableta. É posible que esta acción permita á aplicación borrar ou modificar os datos do navegador. Nota: É posible que este permiso non sexa executado por navegadores de terceiros ou outras aplicacións con funcionalidades de navegación web."</string> <string name="permdesc_writeHistoryBookmarks" product="tv" msgid="7007393823197766548">"Permite que a aplicación modifique o historial ou os marcadores do navegador almacenados na televisión. A aplicación pode utilizar este permiso para borrar ou modificar os datos do navegador. Nota: Este permiso non o poden utilizar navegadores externos nin outras aplicacións que teñan funcións de navegación pola web."</string> <string name="permdesc_writeHistoryBookmarks" product="default" msgid="8497389531014185509">"Permite á aplicación modificar o historial ou os favoritos do navegador que están almacenados no teu teléfono. É posible que esta acción permita á aplicación borrar ou modificar os datos do navegador. Nota: É posible que este permiso non sexa executado por navegadores de terceiros ou outras aplicacións con funcionalidades de navegación web."</string> <string name="permlab_setAlarm" msgid="1379294556362091814">"definir unha alarma"</string> @@ -821,7 +821,7 @@ <string name="searchview_description_submit" msgid="2688450133297983542">"Enviar consulta"</string> <string name="searchview_description_voice" msgid="2453203695674994440">"Busca de voz"</string> <string name="enable_explore_by_touch_warning_title" msgid="7460694070309730149">"Activar a exploración táctil?"</string> - <string name="enable_explore_by_touch_warning_message" product="tablet" msgid="8655887539089910577">"<xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g> quere activar a exploración táctil. Cando a exploración táctil estea activada, poderás escoitar ou ver descricións do contido seleccionado ou realizar xestos para interactuar co tablet."</string> + <string name="enable_explore_by_touch_warning_message" product="tablet" msgid="8655887539089910577">"<xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g> quere activar a exploración táctil. Cando a exploración táctil estea activada, poderás escoitar ou ver descricións do contido seleccionado ou realizar xestos para interactuar coa tableta."</string> <string name="enable_explore_by_touch_warning_message" product="default" msgid="2708199672852373195">"<xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g> quere activar a exploración táctil. Cando a exploración táctil estea activada, poderás escoitar ou ver descricións do contido seleccionado ou realizar xestos para interactuar co teléfono."</string> <string name="oneMonthDurationPast" msgid="7396384508953779925">"Hai 1 mes"</string> <string name="beforeOneMonthDurationPast" msgid="909134546836499826">"Hai máis de 1 mes"</string> @@ -1059,7 +1059,7 @@ <string name="wifi_p2p_to_message" msgid="248968974522044099">"Para:"</string> <string name="wifi_p2p_enter_pin_message" msgid="5920929550367828970">"Escribe o PIN obrigatorio:"</string> <string name="wifi_p2p_show_pin_message" msgid="8530563323880921094">"PIN:"</string> - <string name="wifi_p2p_frequency_conflict_message" product="tablet" msgid="8012981257742232475">"O tablet desconectarase temporalmente da Wi-Fi mentres está conectado con <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string> + <string name="wifi_p2p_frequency_conflict_message" product="tablet" msgid="8012981257742232475">"A tableta desconectarase temporalmente da wifi mentres está conectada a <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string> <string name="wifi_p2p_frequency_conflict_message" product="tv" msgid="3087858235069421128">"A televisión desconectarase da wifi temporalmente mentres estea conectada a <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string> <string name="wifi_p2p_frequency_conflict_message" product="default" msgid="7363907213787469151">"O teléfono desconectarase temporalmente da wifi mentres está conectado con <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string> <string name="select_character" msgid="3365550120617701745">"Inserir carácter"</string> @@ -1322,7 +1322,7 @@ <string name="activity_resolver_use_always" msgid="8017770747801494933">"Sempre"</string> <string name="activity_resolver_use_once" msgid="2404644797149173758">"Só unha vez"</string> <string name="activity_resolver_work_profiles_support" msgid="185598180676883455">"%1$s non admite o perfil de traballo"</string> - <string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"Tablet"</string> + <string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"Tableta"</string> <string name="default_audio_route_name" product="tv" msgid="9158088547603019321">"Televisión"</string> <string name="default_audio_route_name" product="default" msgid="4239291273420140123">"Teléfono"</string> <string name="default_audio_route_name_headphones" msgid="8119971843803439110">"Auriculares"</string> @@ -1376,13 +1376,13 @@ <string name="kg_too_many_failed_pin_attempts_dialog_message" msgid="8276745642049502550">"Introduciches o PIN incorrectamente <xliff:g id="NUMBER_0">%1$d</xliff:g> veces. \n\nTéntao de novo en <xliff:g id="NUMBER_1">%2$d</xliff:g> segundos."</string> <string name="kg_too_many_failed_password_attempts_dialog_message" msgid="7813713389422226531">"Introduciches o contrasinal incorrectamente <xliff:g id="NUMBER_0">%1$d</xliff:g> veces. \n\nTéntao de novo en <xliff:g id="NUMBER_1">%2$d</xliff:g> segundos."</string> <string name="kg_too_many_failed_pattern_attempts_dialog_message" msgid="74089475965050805">"Debuxaches incorrectamente o padrón de desbloqueo <xliff:g id="NUMBER_0">%1$d</xliff:g> veces. \n\nTéntao de novo en <xliff:g id="NUMBER_1">%2$d</xliff:g> segundos."</string> - <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="1575557200627128949">"Tentaches desbloquear o tablet <xliff:g id="NUMBER_0">%1$d</xliff:g> veces sen conseguilo. Se se realizan <xliff:g id="NUMBER_1">%2$d</xliff:g> intentos máis sen logralo, restablecerase á configuración de fábrica predeterminada e perderanse todos os datos do usuario."</string> + <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="1575557200627128949">"Tentaches desbloquear a tableta <xliff:g id="NUMBER_0">%1$d</xliff:g> veces sen conseguilo. Se se realizan <xliff:g id="NUMBER_1">%2$d</xliff:g> intentos máis sen logralo, restablecerase á configuración de fábrica predeterminada e perderanse todos os datos do usuario."</string> <string name="kg_failed_attempts_almost_at_wipe" product="tv" msgid="5621231220154419413">"Tentaches desbloquear a televisión <xliff:g id="NUMBER_0">%1$d</xliff:g> veces de forma incorrecta. Se realizas <xliff:g id="NUMBER_1">%2$d</xliff:g> intentos incorrectos máis, restableceranse os valores de fábrica do aparello e perderanse todos os datos de usuario."</string> <string name="kg_failed_attempts_almost_at_wipe" product="default" msgid="4051015943038199910">"Tentaches desbloquear o teléfono <xliff:g id="NUMBER_0">%1$d</xliff:g> veces sen conseguilo. Se se realizan <xliff:g id="NUMBER_1">%2$d</xliff:g> intentos máis sen logralo, restablecerase a configuración de fábrica predeterminada e perderanse todos os datos do usuario."</string> - <string name="kg_failed_attempts_now_wiping" product="tablet" msgid="2072996269148483637">"Tentouse desbloquear o tablet <xliff:g id="NUMBER">%d</xliff:g> veces sen conseguilo. Agora, restablecerase á configuración de fábrica predeterminada."</string> + <string name="kg_failed_attempts_now_wiping" product="tablet" msgid="2072996269148483637">"Tentouse desbloquear a tableta <xliff:g id="NUMBER">%d</xliff:g> veces sen conseguilo. Agora, restablecerase á configuración de fábrica predeterminada."</string> <string name="kg_failed_attempts_now_wiping" product="tv" msgid="4987878286750741463">"Tentaches desbloquear a televisión <xliff:g id="NUMBER">%d</xliff:g> veces de forma incorrecta. Agora restableceranse os valores de fábrica do aparello."</string> <string name="kg_failed_attempts_now_wiping" product="default" msgid="4817627474419471518">"Tentaches desbloquear o teléfono <xliff:g id="NUMBER">%d</xliff:g> veces sen conseguilo. Agora, restablecerase á configuración de fábrica predeterminada."</string> - <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="3253575572118914370">"Debuxaches o padrón de desbloqueo incorrectamente <xliff:g id="NUMBER_0">%1$d</xliff:g> veces. Se realizas <xliff:g id="NUMBER_1">%2$d</xliff:g> intentos incorrectos máis, terás que desbloquear o tablet a través dunha unha conta de correo electrónico.\n\n Téntao de novo dentro de <xliff:g id="NUMBER_2">%3$d</xliff:g> segundos."</string> + <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="3253575572118914370">"Debuxaches o padrón de desbloqueo incorrectamente <xliff:g id="NUMBER_0">%1$d</xliff:g> veces. Se realizas <xliff:g id="NUMBER_1">%2$d</xliff:g> intentos incorrectos máis, terás que desbloquear a tableta a través dunha unha conta de correo electrónico.\n\n Téntao de novo dentro de <xliff:g id="NUMBER_2">%3$d</xliff:g> segundos."</string> <string name="kg_failed_attempts_almost_at_login" product="tv" msgid="4224651132862313471">"Debuxaches o padrón de desbloqueo <xliff:g id="NUMBER_0">%1$d</xliff:g> veces de forma incorrecta. Se realizas <xliff:g id="NUMBER_1">%2$d</xliff:g> intentos incorrectos máis, terás que desbloquear a televisión cunha conta de correo electrónico.\n\n Téntao de novo en <xliff:g id="NUMBER_2">%3$d</xliff:g> segundos."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="1437638152015574839">"Debuxaches o padrón de desbloqueo incorrectamente <xliff:g id="NUMBER_0">%1$d</xliff:g> veces. Se realizas <xliff:g id="NUMBER_1">%2$d</xliff:g> intentos incorrectos máis, terás que desbloquear o teléfono a través dunha conta de correo electrónico.\n\n Téntao de novo dentro de <xliff:g id="NUMBER_2">%3$d</xliff:g> segundos."</string> <string name="kg_text_message_separator" product="default" msgid="4160700433287233771">" — "</string> diff --git a/core/res/res/values-gu-rIN-watch/strings.xml b/core/res/res/values-gu-rIN-watch/strings.xml index 6320fcc1abca..85aea3104bef 100644 --- a/core/res/res/values-gu-rIN-watch/strings.xml +++ b/core/res/res/values-gu-rIN-watch/strings.xml @@ -20,6 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="android_upgrading_apk" msgid="1090732262010398759">"<xliff:g id="NUMBER_1">%2$d</xliff:g> માંથી <xliff:g id="NUMBER_0">%1$d</xliff:g> એપ્લિકેશન."</string> + <string name="android_upgrading_apk" msgid="1090732262010398759">"<xliff:g id="NUMBER_1">%2$d</xliff:g> માંથી <xliff:g id="NUMBER_0">%1$d</xliff:g> ઍપ્લિકેશન."</string> <string name="permgrouplab_sensors" msgid="202675452368612754">"સેન્સર્સ"</string> </resources> diff --git a/core/res/res/values-gu-rIN/strings.xml b/core/res/res/values-gu-rIN/strings.xml index c3eadd63d4e3..c069c15d81aa 100644 --- a/core/res/res/values-gu-rIN/strings.xml +++ b/core/res/res/values-gu-rIN/strings.xml @@ -144,7 +144,7 @@ <string name="cfTemplateRegisteredTime" msgid="6781621964320635172">"<xliff:g id="BEARER_SERVICE_CODE">{0}</xliff:g>: ફોરવર્ડ કર્યો નથી"</string> <string name="fcComplete" msgid="3118848230966886575">"સુવિધા કોડ પૂર્ણ."</string> <string name="fcError" msgid="3327560126588500777">"કનેક્શન સમસ્યા અથવા અમાન્ય સુવિધા કોડ."</string> - <string name="httpErrorOk" msgid="1191919378083472204">"ઑકે"</string> + <string name="httpErrorOk" msgid="1191919378083472204">"ઓકે"</string> <string name="httpError" msgid="7956392511146698522">"નેટવર્ક ભૂલ હતી."</string> <string name="httpErrorLookup" msgid="4711687456111963163">"URL શોધી શકાયું નથી."</string> <string name="httpErrorUnsupportedAuthScheme" msgid="6299980280442076799">"સાઇટ પ્રમાણીકરણ સ્કીમ સમર્થિત નથી."</string> @@ -177,11 +177,11 @@ <string name="ssl_ca_cert_noti_managed" msgid="4030263497686867141">"<xliff:g id="MANAGING_DOMAIN">%s</xliff:g> દ્વારા"</string> <string name="work_profile_deleted" msgid="5005572078641980632">"કાર્ય પ્રોફાઇલ કાઢી નાખી"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"ખૂટતી એડમિન એપ્લિકેશનને કારણે કાર્ય પ્રોફાઇલ કાઢી નાખી."</string> - <string name="work_profile_deleted_details" msgid="226615743462361248">"કાર્ય પ્રોફાઇલ વ્યવસ્થાપક એપ્લિકેશન કાં તો ખૂટે છે અથવા દૂષિત છે. પરિણામે, તમારી કાર્ય પ્રોફાઇલ અને સંબંધિત ડેટા કાઢી નાખવામાં આવ્યો છે. સહાયતા માટે તમારા વ્યવસ્થાપકનો સંપર્ક કરો."</string> + <string name="work_profile_deleted_details" msgid="226615743462361248">"કાર્ય પ્રોફાઇલ વ્યવસ્થાપક ઍપ્લિકેશન કાં તો ખૂટે છે અથવા દૂષિત છે. પરિણામે, તમારી કાર્ય પ્રોફાઇલ અને સંબંધિત ડેટા કાઢી નાખવામાં આવ્યો છે. સહાયતા માટે તમારા વ્યવસ્થાપકનો સંપર્ક કરો."</string> <string name="work_profile_deleted_description_dpm_wipe" msgid="6019770344820507579">"આ ઉપકરણ પર તમારી કાર્ય પ્રોફાઇલ હવે ઉપલબ્ધ નથી."</string> <string name="factory_reset_warning" msgid="5423253125642394387">"તમારું ઉપકરણ કાઢી નાખવામાં આવશે"</string> <string name="factory_reset_message" msgid="4905025204141900666">"એડમિન એપ્લિકેશનમાં ઘટકો ખૂટે છે અથવા દૂષિત છે અને વાપરી શકાશે નહીં. તમારું ઉપકરણ હવે કાઢી નાખવામાં આવશે. સહાયતા માટે તમારા વ્યવસ્થાપકનો સંપર્ક કરો."</string> - <string name="me" msgid="6545696007631404292">"મારા"</string> + <string name="me" msgid="6545696007631404292">"હું"</string> <string name="power_dialog" product="tablet" msgid="8545351420865202853">"ટેબ્લેટ વિકલ્પો"</string> <string name="power_dialog" product="tv" msgid="6153888706430556356">"TV વિકલ્પો"</string> <string name="power_dialog" product="default" msgid="1319919075463988638">"ફોન વિકલ્પો"</string> @@ -208,7 +208,7 @@ <string name="reboot_safemode_title" msgid="7054509914500140361">"સુરક્ષિત મોડ પર રીબૂટ કરો"</string> <string name="reboot_safemode_confirm" msgid="55293944502784668">"શું તમે સલામત મોડમાં રીબૂટ કરવા માગો છો? આ તમે ઇન્સ્ટોલ કરેલ તમામ તૃતીય પક્ષ એપ્લિકેશન્સને અક્ષમ કરશે. જ્યારે તમે રીબૂટ કરશો ત્યારે તે પુનઃસ્થાપિત કરવામાં આવશે."</string> <string name="recent_tasks_title" msgid="3691764623638127888">"તાજેતરનું"</string> - <string name="no_recent_tasks" msgid="8794906658732193473">"તાજેતરની કોઈ એપ્લિકેશનો નથી."</string> + <string name="no_recent_tasks" msgid="8794906658732193473">"તાજેતરની કોઈ ઍપ્લિકેશનો નથી."</string> <string name="global_actions" product="tablet" msgid="408477140088053665">"ટેબ્લેટ વિકલ્પો"</string> <string name="global_actions" product="tv" msgid="7240386462508182976">"TV વિકલ્પો"</string> <string name="global_actions" product="default" msgid="2406416831541615258">"ફોન વિકલ્પો"</string> @@ -243,19 +243,19 @@ <string name="user_owner_label" msgid="1119010402169916617">"વ્યક્તિગત પર સ્વિચ કરો"</string> <string name="managed_profile_label" msgid="5289992269827577857">"કાર્ય પર સ્વિચ કરો"</string> <string name="permgrouplab_contacts" msgid="3657758145679177612">"સંપર્કો"</string> - <string name="permgroupdesc_contacts" msgid="6951499528303668046">"તમારા સંપર્કોને ઍક્સેસ કરો"</string> + <string name="permgroupdesc_contacts" msgid="6951499528303668046">"તમારા સંપર્કોને ઍક્સેસ કરવાની"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"સ્થાન"</string> <string name="permgroupdesc_location" msgid="1346617465127855033">"આ ઉપકરણના સ્થાનને ઍક્સેસ કરવાની"</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"કેલેન્ડર"</string> <string name="permgroupdesc_calendar" msgid="3889615280211184106">"તમારા કેલેન્ડરને ઍક્સેસ કરવાની"</string> <string name="permgrouplab_sms" msgid="228308803364967808">"SMS"</string> - <string name="permgroupdesc_sms" msgid="4656988620100940350">"SMS સંદેશા મોકલો અને જોવાની"</string> + <string name="permgroupdesc_sms" msgid="4656988620100940350">"SMS સંદેશા મોકલવાની અને જોવાની"</string> <string name="permgrouplab_storage" msgid="1971118770546336966">"સ્ટોરેજ"</string> <string name="permgroupdesc_storage" msgid="637758554581589203">"તમારા ઉપકરણ પર ફોટા, મીડિયા અને ફાઇલો ઍક્સેસ કરવાની"</string> <string name="permgrouplab_microphone" msgid="171539900250043464">"માઇક્રોફોન"</string> - <string name="permgroupdesc_microphone" msgid="4988812113943554584">"ઑડિઓ રેકોર્ડ કરો"</string> + <string name="permgroupdesc_microphone" msgid="4988812113943554584">"ઑડિઓ રેકોર્ડ કરવાની"</string> <string name="permgrouplab_camera" msgid="4820372495894586615">"કૅમેરો"</string> - <string name="permgroupdesc_camera" msgid="3250611594678347720">"ચિત્રો લો અને વિડિઓ રેકોર્ડ કરો"</string> + <string name="permgroupdesc_camera" msgid="3250611594678347720">"ચિત્રો લેવાની અને વિડિઓ રેકોર્ડ કરવાની"</string> <string name="permgrouplab_phone" msgid="5229115638567440675">"ફોન"</string> <string name="permgroupdesc_phone" msgid="6234224354060641055">"ફોન કૉલ કરો તથા સંચાલિત કરો"</string> <string name="permgrouplab_sensors" msgid="416037179223226722">"બોડી સેન્સર્સ"</string> @@ -265,7 +265,7 @@ <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"ટચ કરીને અન્વેષણ કરો સક્ષમ કરો"</string> <string name="capability_desc_canRequestTouchExploration" msgid="7543249041581408313">"ટૅપ કરેલ આઇટમ્સ મોટેથી બોલવામાં આવશે અને હાવભાવની મદદથી સ્ક્રીનનું અન્વેષણ કરી શકાય છે."</string> <string name="capability_title_canRequestEnhancedWebAccessibility" msgid="1739881766522594073">"વિસ્તૃત વેબ ઍક્સેસિબિલિટી ચાલુ કરો"</string> - <string name="capability_desc_canRequestEnhancedWebAccessibility" msgid="7881063961507511765">"એપ્લિકેશન સામગ્રીને વધુ ઍક્સેસિબલ બનાવવા માટે સ્ક્રિપ્ટ્સ ઇન્સ્ટોલ કરી શકાય છે."</string> + <string name="capability_desc_canRequestEnhancedWebAccessibility" msgid="7881063961507511765">"ઍપ્લિકેશન સામગ્રીને વધુ ઍક્સેસિબલ બનાવવા માટે સ્ક્રિપ્ટ્સ ઇન્સ્ટોલ કરી શકાય છે."</string> <string name="capability_title_canRequestFilterKeyEvents" msgid="2103440391902412174">"તમે લખો તે ટેક્સ્ટનું અવલોકન કરો"</string> <string name="capability_desc_canRequestFilterKeyEvents" msgid="7463135292204152818">"ક્રેડિટ કાર્ડ નંબર્સ અને પાસવર્ડ્સ જેવો વ્યક્તિગત ડેટા શામેલ છે."</string> <string name="capability_title_canControlMagnification" msgid="3593493281059424855">"પ્રદર્શન વિસ્તૃતિકરણ નિયંત્રિત કરો"</string> @@ -285,41 +285,41 @@ <string name="permlab_processOutgoingCalls" msgid="3906007831192990946">"આઉટગોઇંગ કૉલ્સને ફરીથી રૂટ કરો"</string> <string name="permdesc_processOutgoingCalls" msgid="5156385005547315876">"એપ્લિકેશનને આઉટગોઇંગ કૉલ દરમિયાન કૉલને એક અલગ નંબર પર રીડાયરેક્ટ કરવા અથવા કૉલને સંપૂર્ણપણે છોડી દેવાનાં વિકલ્પ સાથે ડાયલ થઈ રહેલા નંબરને જોવાની મંજૂરી આપે છે."</string> <string name="permlab_receiveSms" msgid="8673471768947895082">"ટેક્સ્ટ સંદેશા (SMS) પ્રાપ્ત કરો"</string> - <string name="permdesc_receiveSms" msgid="6424387754228766939">"એપ્લિકેશનને SMS સંદેશા પ્રાપ્ત કરવાની અને તેના પર પ્રક્રિયા કરવાની મંજૂરી આપે છે. આનો અર્થ એ કે એપ્લિકેશન તમને દર્શાવ્યા વિના તમારા ઉપકરણ પર મોકલેલ સંદેશાઓનું નિરીક્ષણ કરી શકે છે અથવા કાઢી નાખી શકે છે."</string> + <string name="permdesc_receiveSms" msgid="6424387754228766939">"ઍપ્લિકેશનને SMS સંદેશા પ્રાપ્ત કરવાની અને તેના પર પ્રક્રિયા કરવાની મંજૂરી આપે છે. આનો અર્થ એ કે ઍપ્લિકેશન તમને દર્શાવ્યા વિના તમારા ઉપકરણ પર મોકલેલ સંદેશાઓનું નિરીક્ષણ કરી શકે છે અથવા કાઢી નાખી શકે છે."</string> <string name="permlab_receiveMms" msgid="1821317344668257098">"ટેક્સ્ટ સંદેશા (MMS) પ્રાપ્ત કરો"</string> - <string name="permdesc_receiveMms" msgid="533019437263212260">"એપ્લિકેશનને MMS સંદેશા પ્રાપ્ત કરવાની અને તેના પર પ્રક્રિયા કરવાની મંજૂરી આપે છે. આનો અર્થ એ કે એપ્લિકેશન તમને દર્શાવ્યા વિના તમારા ઉપકરણ પર મોકલેલ સંદેશાઓનું નિરીક્ષણ કરી શકે છે અથવા કાઢી નાખી શકે છે."</string> + <string name="permdesc_receiveMms" msgid="533019437263212260">"ઍપ્લિકેશનને MMS સંદેશા પ્રાપ્ત કરવાની અને તેના પર પ્રક્રિયા કરવાની મંજૂરી આપે છે. આનો અર્થ એ કે ઍપ્લિકેશન તમને દર્શાવ્યા વિના તમારા ઉપકરણ પર મોકલેલ સંદેશાઓનું નિરીક્ષણ કરી શકે છે અથવા કાઢી નાખી શકે છે."</string> <string name="permlab_readCellBroadcasts" msgid="1598328843619646166">"સેલ બ્રોડકાસ્ટ સંદેશા વાંચો"</string> - <string name="permdesc_readCellBroadcasts" msgid="6361972776080458979">"એપ્લિકેશનને તમારા ઉપકરણ દ્વારા પ્રાપ્ત થયેલ સેલ બ્રોડકાસ્ટ સંદેશાને વાંચવાની મંજૂરી આપે છે. સેલ બ્રોડકાસ્ટ ચેતવણીઓ તમને કટોકટીની સ્થિતિઓ અંગે ચેતવવા માટે કેટલાક સ્થાનોમાં વિતરિત થાય છે. જ્યારે કટોકટીનો સેલ બ્રોડકાસ્ટ પ્રાપ્ત થાય ત્યારે દુર્ભાવનાપૂર્ણ એપ્લિકેશનો તમારા ઉપકરણના પ્રદર્શન અથવા ઓપરેશનમાં હસ્તક્ષેપ કરી શકે છે."</string> + <string name="permdesc_readCellBroadcasts" msgid="6361972776080458979">"એપ્લિકેશનને તમારા ઉપકરણ દ્વારા પ્રાપ્ત થયેલ સેલ બ્રોડકાસ્ટ સંદેશાને વાંચવાની મંજૂરી આપે છે. સેલ બ્રોડકાસ્ટ ચેતવણીઓ તમને કટોકટીની સ્થિતિઓ અંગે ચેતવવા માટે કેટલાક સ્થાનોમાં વિતરિત થાય છે. જ્યારે કટોકટીનો સેલ બ્રોડકાસ્ટ પ્રાપ્ત થાય ત્યારે દુર્ભાવનાપૂર્ણ ઍપ્લિકેશનો તમારા ઉપકરણના પ્રદર્શન અથવા ઓપરેશનમાં હસ્તક્ષેપ કરી શકે છે."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"સબ્સ્ક્રાઇબ કરેલ ફીડ્સ વાંચો"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"એપ્લિકેશનને હાલમાં સમન્વયિત ફીડ્સ વિશે વિગતો મેળવવાની મંજૂરી આપે છે."</string> <string name="permlab_sendSms" msgid="7544599214260982981">"SMS સંદેશા મોકલો અને જુઓ"</string> - <string name="permdesc_sendSms" msgid="7094729298204937667">"એપ્લિકેશનને SMS સંદેશા મોકલવાની મંજૂરી આપે છે. આના પરિણામે અનપેક્ષિત શુલ્ક લાગી શકે છે. દુર્ભાવનાપૂર્ણ એપ્લિકેશનો તમારી પુષ્ટિ વિના સંદેશા મોકલીને તમારા નાણા ખર્ચાવી શકે છે."</string> + <string name="permdesc_sendSms" msgid="7094729298204937667">"એપ્લિકેશનને SMS સંદેશા મોકલવાની મંજૂરી આપે છે. આના પરિણામે અનપેક્ષિત શુલ્ક લાગી શકે છે. દુર્ભાવનાપૂર્ણ ઍપ્લિકેશનો તમારી પુષ્ટિ વિના સંદેશા મોકલીને તમારા નાણા ખર્ચાવી શકે છે."</string> <string name="permlab_readSms" msgid="8745086572213270480">"તમારા ટેક્સ્ટ સંદેશા (SMS અથવા MMS) વાંચો"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"એપ્લિકેશનને તમારા ટેબ્લેટ અથવા SIM કાર્ડ પર સંગ્રહિત SMS સંદેશા વાંચવાની મંજૂરી આપે છે. આ એપ્લિકેશનને તમામ SMS સંદેશા વાંચવાની મંજૂરી આપે છે પછી ભલે સામગ્રી અથવા ગોપનીયતા કોઈપણ હોય."</string> <string name="permdesc_readSms" product="tv" msgid="5102425513647038535">"એપ્લિકેશનને તમારા ટીવી અથવા SIM કાર્ડ પર સંગ્રહિત SMS સંદેશા વાંચવાની મંજૂરી આપે છે. આ એપ્લિકેશનને તમામ SMS સંદેશા વાંચવાની મંજૂરી આપે છે પછી ભલે સામગ્રી અથવા ગોપનીયતા કોઈપણ હોય."</string> <string name="permdesc_readSms" product="default" msgid="3695967533457240550">"એપ્લિકેશનને તમારા ફોન અથવા SIM કાર્ડ પર સંગ્રહિત SMS સંદેશા વાંચવાની મંજૂરી આપે છે. આ એપ્લિકેશનને તમામ SMS સંદેશા વાંચવાની મંજૂરી આપે છે પછી ભલે સામગ્રી અથવા ગોપનીયતા કોઈપણ હોય."</string> <string name="permlab_receiveWapPush" msgid="5991398711936590410">"ટેક્સ્ટ સંદેશા (WAP) પ્રાપ્ત કરો"</string> <string name="permdesc_receiveWapPush" msgid="748232190220583385">"એપ્લિકેશનને WAP સંદેશા પ્રાપ્ત કરવાની અને તેના પર પ્રક્રિયા કરવાની મંજૂરી આપે છે. આ પરવાનગીમાં તમને દર્શાવ્યા વિના તમને મોકલેલ સંદેશાઓનું નિરીક્ષણ કરવાની અને કાઢી નાખવાની ક્ષમતાનો સમાવેશ થાય છે."</string> - <string name="permlab_getTasks" msgid="6466095396623933906">"ચાલુ એપ્લિકેશનો પુનઃપ્રાપ્ત કરો"</string> + <string name="permlab_getTasks" msgid="6466095396623933906">"ચાલુ ઍપ્લિકેશનો પુનઃપ્રાપ્ત કરો"</string> <string name="permdesc_getTasks" msgid="7454215995847658102">"એપ્લિકેશનને વર્તમાનમાં અને તાજેતરમાં ચાલી રહેલ કાર્યો વિશેની વિગતવાર માહિતી પુનઃપ્રાપ્ત કરવાની મંજૂરી આપે છે. આ એપ્લિકેશનને ઉપકરણ પર કઈ એપ્લિકેશન્સનો ઉપયોગ થાય છે તેના વિશેની માહિતી શોધવાની મંજૂરી આપી શકે છે."</string> <string name="permlab_manageProfileAndDeviceOwners" msgid="7918181259098220004">"પ્રોફાઇલ અને ઉપકરણ માલિકોને સંચાલિત કરો"</string> <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"એપ્લિકેશન્સને પ્રોફાઇલ માલિકો અને ઉપકરણ માલિકો સેટ કરવાની મંજૂરી આપે છે."</string> <string name="permlab_reorderTasks" msgid="2018575526934422779">"ચાલુ એપ્લિકેશન્સને ફરી ગોઠવો"</string> - <string name="permdesc_reorderTasks" msgid="7734217754877439351">"એપ્લિકેશનને અગ્રભૂમિ અને પૃષ્ટભૂમિમાં કાર્યો ખસેડવાની મંજૂરી આપે છે. તમારા ઇનપુટ વિના એપ્લિકેશન આ કરી શકે છે."</string> + <string name="permdesc_reorderTasks" msgid="7734217754877439351">"ઍપ્લિકેશનને અગ્રભૂમિ અને પૃષ્ટભૂમિમાં કાર્યો ખસેડવાની મંજૂરી આપે છે. તમારા ઇનપુટ વિના ઍપ્લિકેશન આ કરી શકે છે."</string> <string name="permlab_enableCarMode" msgid="5684504058192921098">"કાર મોડ સક્ષમ કરો"</string> <string name="permdesc_enableCarMode" msgid="4853187425751419467">"એપ્લિકેશનને કાર મોડ સક્ષમ કરવાની મંજૂરી આપે છે."</string> - <string name="permlab_killBackgroundProcesses" msgid="3914026687420177202">"અન્ય એપ્લિકેશનો બંધ કરો"</string> - <string name="permdesc_killBackgroundProcesses" msgid="4593353235959733119">"એપ્લિકેશનને અન્ય એપ્લિકેશનોની પૃષ્ઠભૂમિ પ્રક્રિયા સમાપ્ત કરવાની મંજૂરી આપે છે. આનાથી અન્ય એપ્લિકેશનો ચાલવાથી બંધ થઈ શકે છે."</string> - <string name="permlab_systemAlertWindow" msgid="3543347980839518613">"અન્ય એપ્લિકેશનો પર ડ્રો કરો"</string> + <string name="permlab_killBackgroundProcesses" msgid="3914026687420177202">"અન્ય ઍપ્લિકેશનો બંધ કરો"</string> + <string name="permdesc_killBackgroundProcesses" msgid="4593353235959733119">"એપ્લિકેશનને અન્ય ઍપ્લિકેશનોની પૃષ્ઠભૂમિ પ્રક્રિયા સમાપ્ત કરવાની મંજૂરી આપે છે. આનાથી અન્ય ઍપ્લિકેશનો ચાલવાથી બંધ થઈ શકે છે."</string> + <string name="permlab_systemAlertWindow" msgid="3543347980839518613">"અન્ય ઍપ્લિકેશનો પર ડ્રો કરો"</string> <string name="permdesc_systemAlertWindow" msgid="8584678381972820118">"એપ્લિકેશનને વપરાશકર્તા ઇન્ટરફેસના ભાગો અથવા અન્ય એપ્લિકેશન્સની ટોચ પર ડ્રો કરવાની મંજૂરી આપે છે. તે કોઈપણ એપ્લિકેશનના તમારા ઉપયોગમાં હસ્તક્ષેપ કરી શકે છે અથવા તે બદલો જે તમને લાગે છે કે તમે અન્ય એપ્લિકેશન્સમાં જોઈ રહ્યાં છો."</string> <string name="permlab_persistentActivity" msgid="8841113627955563938">"એપ્લિકેશનને હંમેશા શરૂ રાખો"</string> - <string name="permdesc_persistentActivity" product="tablet" msgid="8525189272329086137">"એપ્લિકેશનને મેમરીમાં પોતાના ભાગ સતત બનાવવાની મંજૂરી આપે છે. આ ટેબ્લેટને ધીમું કરીને અન્ય એપ્લિકેશનો પર ઉપલબ્ધ મેમરીને સીમિત કરી શકે છે."</string> - <string name="permdesc_persistentActivity" product="tv" msgid="5086862529499103587">"એપ્લિકેશનને મેમરીમાં પોતાના ભાગ સતત બનાવવાની મંજૂરી આપે છે. આ ટીવીને ધીમું કરીને અન્ય એપ્લિકેશનો પર ઉપલબ્ધ મેમરીને સીમિત કરી શકે છે."</string> - <string name="permdesc_persistentActivity" product="default" msgid="4384760047508278272">"એપ્લિકેશનને મેમરીમાં પોતાના ભાગ સતત બનાવવાની મંજૂરી આપે છે. આ ફોનને ધીમો કરીને અન્ય એપ્લિકેશનો પર ઉપલબ્ધ મેમરીને સીમિત કરી શકે છે."</string> - <string name="permlab_getPackageSize" msgid="7472921768357981986">"એપ્લિકેશન સંગ્રહ સ્થાન માપો"</string> + <string name="permdesc_persistentActivity" product="tablet" msgid="8525189272329086137">"એપ્લિકેશનને મેમરીમાં પોતાના ભાગ સતત બનાવવાની મંજૂરી આપે છે. આ ટેબ્લેટને ધીમું કરીને અન્ય ઍપ્લિકેશનો પર ઉપલબ્ધ મેમરીને સીમિત કરી શકે છે."</string> + <string name="permdesc_persistentActivity" product="tv" msgid="5086862529499103587">"એપ્લિકેશનને મેમરીમાં પોતાના ભાગ સતત બનાવવાની મંજૂરી આપે છે. આ ટીવીને ધીમું કરીને અન્ય ઍપ્લિકેશનો પર ઉપલબ્ધ મેમરીને સીમિત કરી શકે છે."</string> + <string name="permdesc_persistentActivity" product="default" msgid="4384760047508278272">"એપ્લિકેશનને મેમરીમાં પોતાના ભાગ સતત બનાવવાની મંજૂરી આપે છે. આ ફોનને ધીમો કરીને અન્ય ઍપ્લિકેશનો પર ઉપલબ્ધ મેમરીને સીમિત કરી શકે છે."</string> + <string name="permlab_getPackageSize" msgid="7472921768357981986">"ઍપ્લિકેશન સંગ્રહ સ્થાન માપો"</string> <string name="permdesc_getPackageSize" msgid="3921068154420738296">"એપ્લિકેશનને તેનો કોડ, ડેટા અને કેશ કદ પુનઃપ્રાપ્ત કરવાની મંજૂરી આપે છે."</string> <string name="permlab_writeSettings" msgid="2226195290955224730">"સિસ્ટમ સેટિંગ્સ સંશોધિત કરો"</string> - <string name="permdesc_writeSettings" msgid="7775723441558907181">"એપ્લિકેશનને તમારા સિસ્ટમના સેટિંગ્સ ડેટાને સંશોધિત કરવાની મંજૂરી આપે છે. દુર્ભાવનાપૂર્ણ એપ્લિકેશનો તમારા સિસ્ટમની ગોઠવણીને દૂષિત કરી શકે છે."</string> + <string name="permdesc_writeSettings" msgid="7775723441558907181">"એપ્લિકેશનને તમારા સિસ્ટમના સેટિંગ્સ ડેટાને સંશોધિત કરવાની મંજૂરી આપે છે. દુર્ભાવનાપૂર્ણ ઍપ્લિકેશનો તમારા સિસ્ટમની ગોઠવણીને દૂષિત કરી શકે છે."</string> <string name="permlab_receiveBootCompleted" msgid="5312965565987800025">"સ્ટાર્ટઅપ પર શરૂ કરો"</string> <string name="permdesc_receiveBootCompleted" product="tablet" msgid="7390304664116880704">"એપ્લિકેશનને સિસ્ટમ બૂટ થવાનું સમાપ્ત કરી લે કે તરત જ પોતાની જાતે પ્રારંભ થવાની મંજૂરી આપે છે. આનાથી ટેબ્લેટને પ્રારંભ થવામાં વધુ લાંબો સમય લાગી શકે છે અને એપ્લિકેશનને હંમેશા ચાલુ રહીને ટેબ્લેટને એકંદર ધીમું કરવાની મંજૂરી આપી શકે છે."</string> <string name="permdesc_receiveBootCompleted" product="tv" msgid="4525890122209673621">"એપ્લિકેશનને સિસ્ટમ બૂટ થવાનું સમાપ્ત કરી લે કે તરત જ પોતાની જાતે પ્રારંભ થવાની મંજૂરી આપે છે. આનાથી ટીવીને પ્રારંભ થવામાં વધુ સમય લાગી શકે છે અને એપ્લિકેશનને હંમેશા ચાલુ રહીને ટીવીને એકંદર ધીમું કરવાની મંજૂરી આપી શકે છે."</string> @@ -329,21 +329,21 @@ <string name="permdesc_broadcastSticky" product="tv" msgid="6839285697565389467">"એપ્લિકેશનને સ્ટિકી બ્રોડકાસ્ટ્સ મોકલવાની મંજૂરી આપે છે, જે બ્રોડકાસ્ટ સમાપ્ત થયા પછી પણ રહે છે. અતિરિક્ત ઉપયોગ ટીવીને વધુ પડતી મેમરીનો ઉપયોગ કરવાને કારણે તેને ધીમું અથવા અસ્થિર બનાવી શકે છે."</string> <string name="permdesc_broadcastSticky" product="default" msgid="2825803764232445091">"એપ્લિકેશનને સ્ટિકી બ્રોડકાસ્ટ્સ મોકલવાની મંજૂરી આપે છે, જે બ્રોડકાસ્ટ્સ સમાપ્ત થયા પછી પણ રહે છે. અતિરિક્ત ઉપયોગ ફોનને વધુ પડતી મેમરીનો ઉપયોગ કરવાને કારણે તેને ધીમું અથવા અસ્થિર બનાવી શકે છે."</string> <string name="permlab_readContacts" msgid="8348481131899886131">"તમારા સંપર્કો વાંચો"</string> - <string name="permdesc_readContacts" product="tablet" msgid="5294866856941149639">"એપ્લિકેશનને તમે કઈ આવૃત્તિ પર કૉલ કર્યો, ઇમેઇલ કરી અથવા વિશિષ્ટ વ્યક્તિઓ સાથે અન્ય રીતે સંચાર કર્યો તે સહિત તમારા ટેબ્લેટ પર સંગ્રહિત તમારા સંપર્કો વિશેનો ડેટા વાંચવાની મંજૂરી આપે છે. આ પરવાનગી એપ્લિકેશનોને તમારો સંપર્ક ડેટા સાચવવાની મંજૂરી આપે છે અને દુર્ભાવનાપૂર્ણ એપ્લિકેશનો તમારી જાણ વગર સંપર્ક ડેટાને શેર કરી શકે છે."</string> - <string name="permdesc_readContacts" product="tv" msgid="1839238344654834087">"એપ્લિકેશનને તમે કઈ આવૃત્તિ પર કૉલ કર્યો, ઇમેઇલ કરી અથવા વિશિષ્ટ વ્યક્તિઓ સાથે અન્ય રીતે સંચાર કર્યો તે સહિત તમારા TV પર સંગ્રહિત તમારા સંપર્કો વિશેનો ડેટા વાંચવાની મંજૂરી આપે છે. આ પરવાનગી એપ્લિકેશનોને તમારો સંપર્ક ડેટા સાચવવાની મંજૂરી આપે છે અને દુર્ભાવનાપૂર્ણ એપ્લિકેશનો તમારી જાણ વગર સંપર્ક ડેટાને શેર કરી શકે છે."</string> - <string name="permdesc_readContacts" product="default" msgid="8440654152457300662">"એપ્લિકેશનને તમે કઈ આવૃત્તિ પર કૉલ કર્યો, ઇમેઇલ કરી અથવા વિશિષ્ટ વ્યક્તિઓ સાથે અન્ય રીતે સંચાર કર્યો તે સહિત તમારા ફોન પર સંગ્રહિત તમારા સંપર્કો વિશેનો ડેટા વાંચવાની મંજૂરી આપે છે. આ પરવાનગી એપ્લિકેશનોને તમારો સંપર્ક ડેટા સાચવવાની મંજૂરી આપે છે અને દુર્ભાવનાપૂર્ણ એપ્લિકેશનો તમારી જાણ વગર સંપર્ક ડેટાને શેર કરી શકે છે."</string> + <string name="permdesc_readContacts" product="tablet" msgid="5294866856941149639">"એપ્લિકેશનને તમે કઈ આવૃત્તિ પર કૉલ કર્યો, ઇમેઇલ કરી અથવા વિશિષ્ટ વ્યક્તિઓ સાથે અન્ય રીતે સંચાર કર્યો તે સહિત તમારા ટેબ્લેટ પર સંગ્રહિત તમારા સંપર્કો વિશેનો ડેટા વાંચવાની મંજૂરી આપે છે. આ પરવાનગી ઍપ્લિકેશનોને તમારો સંપર્ક ડેટા સાચવવાની મંજૂરી આપે છે અને દુર્ભાવનાપૂર્ણ ઍપ્લિકેશનો તમારી જાણ વગર સંપર્ક ડેટાને શેર કરી શકે છે."</string> + <string name="permdesc_readContacts" product="tv" msgid="1839238344654834087">"એપ્લિકેશનને તમે કઈ આવૃત્તિ પર કૉલ કર્યો, ઇમેઇલ કરી અથવા વિશિષ્ટ વ્યક્તિઓ સાથે અન્ય રીતે સંચાર કર્યો તે સહિત તમારા TV પર સંગ્રહિત તમારા સંપર્કો વિશેનો ડેટા વાંચવાની મંજૂરી આપે છે. આ પરવાનગી ઍપ્લિકેશનોને તમારો સંપર્ક ડેટા સાચવવાની મંજૂરી આપે છે અને દુર્ભાવનાપૂર્ણ ઍપ્લિકેશનો તમારી જાણ વગર સંપર્ક ડેટાને શેર કરી શકે છે."</string> + <string name="permdesc_readContacts" product="default" msgid="8440654152457300662">"એપ્લિકેશનને તમે કઈ આવૃત્તિ પર કૉલ કર્યો, ઇમેઇલ કરી અથવા વિશિષ્ટ વ્યક્તિઓ સાથે અન્ય રીતે સંચાર કર્યો તે સહિત તમારા ફોન પર સંગ્રહિત તમારા સંપર્કો વિશેનો ડેટા વાંચવાની મંજૂરી આપે છે. આ પરવાનગી ઍપ્લિકેશનોને તમારો સંપર્ક ડેટા સાચવવાની મંજૂરી આપે છે અને દુર્ભાવનાપૂર્ણ ઍપ્લિકેશનો તમારી જાણ વગર સંપર્ક ડેટાને શેર કરી શકે છે."</string> <string name="permlab_writeContacts" msgid="5107492086416793544">"તમારા સંપર્કો સંશોધિત કરો"</string> <string name="permdesc_writeContacts" product="tablet" msgid="897243932521953602">"એપ્લિકેશનને તમે કઈ આવૃત્તિ પર કૉલ કર્યો, ઇમેઇલ કરી અથવા વિશિષ્ટ સંપર્કો સાથે અન્ય રીતે સંચાર કર્યો તે સહિત તમારા ટેબ્લેટ પર સંગ્રહિત તમારા સંપર્કો વિશેનો ડેટા સંશોધિત કરવાની મંજૂરી આપે છે. આ પરવાનગી એપ્લિકેશન્સને સંપર્ક ડેટા કાઢી નાખવાની મંજૂરી આપે છે."</string> <string name="permdesc_writeContacts" product="tv" msgid="5438230957000018959">"એપ્લિકેશનને તમે કઈ આવૃત્તિ પર કૉલ કર્યો, ઇમેઇલ કરી અથવા વિશિષ્ટ વ્યક્તિઓ સાથે અન્ય રીતે સંચાર કર્યો તે સહિત તમારા ટીવી પર સંગ્રહિત તમારા સંપર્કો વિશેનો ડેટા સંશોધિત કરવાની મંજૂરી આપે છે. આ પરવાનગી એપ્લિકેશન્સને સંપર્ક ડેટા કાઢી નાખવાની મંજૂરી આપે છે."</string> <string name="permdesc_writeContacts" product="default" msgid="589869224625163558">"એપ્લિકેશનને તમે કઈ આવૃત્તિ પર કૉલ કર્યો, ઇમેઇલ કરી અથવા વિશિષ્ટ સંપર્કો સાથે અન્ય રીતે સંચાર કર્યો તે સહિત તમારા ફોન પર સંગ્રહિત તમારા સંપર્કો વિશેનો ડેટા સંશોધિત કરવાની મંજૂરી આપે છે. આ પરવાનગી એપ્લિકેશન્સને સંપર્ક ડેટા કાઢી નાખવાની મંજૂરી આપે છે."</string> <string name="permlab_readCallLog" msgid="3478133184624102739">"કૉલ લૉગ વાંચો"</string> - <string name="permdesc_readCallLog" product="tablet" msgid="3700645184870760285">"એપ્લિકેશનને ઇનકમિંગ અને આઉટગોઇંગ કૉલ્સ વિશેનાં ડેટા સહિત, તમારા ટેબ્લેટના કૉલ લૉગને વાંચવાની મંજૂરી આપે છે. આ પરવાનગી એપ્લિકેશનોને તમારો કૉલ લૉગ ડેટા સાચવવાની મંજૂરી આપે છે અને દુર્ભાવનાપૂર્ણ એપ્લિકેશનો તમારી જાણ વગર કૉલ લૉગ ડેટાને શેર કરી શકે છે."</string> - <string name="permdesc_readCallLog" product="tv" msgid="5611770887047387926">"એપ્લિકેશનને ઇનકમિંગ અને આઉટગોઇંગ કૉલ્સ વિશેનાં ડેટા સહિત, તમારા TV ના કૉલ લૉગને વાંચવાની મંજૂરી આપે છે. આ પરવાનગી એપ્લિકેશનોને તમારો કૉલ લૉગ ડેટા સાચવવાની મંજૂરી આપે છે અને દુર્ભાવનાપૂર્ણ એપ્લિકેશનો તમારી જાણ વગર કૉલ લૉગ ડેટાને શેર કરી શકે છે."</string> - <string name="permdesc_readCallLog" product="default" msgid="5777725796813217244">"એપ્લિકેશનને ઇનકમિંગ અને આઉટગોઇંગ કૉલ્સ વિશેનાં ડેટા સહિત, તમારા ફોનના કૉલ લૉગને વાંચવાની મંજૂરી આપે છે. આ પરવાનગી એપ્લિકેશનોને તમારો કૉલ લૉગ ડેટા સાચવવાની મંજૂરી આપે છે અને દુર્ભાવનાપૂર્ણ એપ્લિકેશનો તમારી જાણ વગર કૉલ લૉગ ડેટાને શેર કરી શકે છે."</string> + <string name="permdesc_readCallLog" product="tablet" msgid="3700645184870760285">"એપ્લિકેશનને ઇનકમિંગ અને આઉટગોઇંગ કૉલ્સ વિશેનાં ડેટા સહિત, તમારા ટેબ્લેટના કૉલ લૉગને વાંચવાની મંજૂરી આપે છે. આ પરવાનગી ઍપ્લિકેશનોને તમારો કૉલ લૉગ ડેટા સાચવવાની મંજૂરી આપે છે અને દુર્ભાવનાપૂર્ણ ઍપ્લિકેશનો તમારી જાણ વગર કૉલ લૉગ ડેટાને શેર કરી શકે છે."</string> + <string name="permdesc_readCallLog" product="tv" msgid="5611770887047387926">"એપ્લિકેશનને ઇનકમિંગ અને આઉટગોઇંગ કૉલ્સ વિશેનાં ડેટા સહિત, તમારા TV ના કૉલ લૉગને વાંચવાની મંજૂરી આપે છે. આ પરવાનગી ઍપ્લિકેશનોને તમારો કૉલ લૉગ ડેટા સાચવવાની મંજૂરી આપે છે અને દુર્ભાવનાપૂર્ણ ઍપ્લિકેશનો તમારી જાણ વગર કૉલ લૉગ ડેટાને શેર કરી શકે છે."</string> + <string name="permdesc_readCallLog" product="default" msgid="5777725796813217244">"એપ્લિકેશનને ઇનકમિંગ અને આઉટગોઇંગ કૉલ્સ વિશેનાં ડેટા સહિત, તમારા ફોનના કૉલ લૉગને વાંચવાની મંજૂરી આપે છે. આ પરવાનગી ઍપ્લિકેશનોને તમારો કૉલ લૉગ ડેટા સાચવવાની મંજૂરી આપે છે અને દુર્ભાવનાપૂર્ણ ઍપ્લિકેશનો તમારી જાણ વગર કૉલ લૉગ ડેટાને શેર કરી શકે છે."</string> <string name="permlab_writeCallLog" msgid="8552045664743499354">"કૉલ લૉગ લખો"</string> - <string name="permdesc_writeCallLog" product="tablet" msgid="6661806062274119245">"એપ્લિકેશનને ઇનકમિંગ અને આઉટગોઇંગ કૉલ્સ વિશેનાં ડેટા સહિત, તમારા ટેબ્લેટના કૉલ લૉગને સંશોધિત કરવાની મંજૂરી આપે છે. દુર્ભાવનાપૂર્ણ એપ્લિકેશનો આનો ઉપયોગ તમારા કૉલ લૉગને કાઢી નાખવા અથવા સંશોધિત માટે કરી શકે છે."</string> - <string name="permdesc_writeCallLog" product="tv" msgid="4225034892248398019">"એપ્લિકેશનને ઇનકમિંગ અને આઉટગોઇંગ કૉલ્સ વિશેનાં ડેટા સહિત, તમારા TV ના કૉલ લૉગને સંશોધિત કરવાની મંજૂરી આપે છે. દુર્ભાવનાપૂર્ણ એપ્લિકેશનો આનો ઉપયોગ તમારા કૉલ લૉગને કાઢી નાખવા અથવા સંશોધિત માટે કરી શકે છે."</string> - <string name="permdesc_writeCallLog" product="default" msgid="683941736352787842">"એપ્લિકેશનને ઇનકમિંગ અને આઉટગોઇંગ કૉલ્સ વિશેનાં ડેટા સહિત, તમારા ફોનના કૉલ લૉગને સંશોધિત કરવાની મંજૂરી આપે છે. દુર્ભાવનાપૂર્ણ એપ્લિકેશનો આનો ઉપયોગ તમારા કૉલ લૉગને કાઢી નાખવા અથવા સંશોધિત માટે કરી શકે છે."</string> + <string name="permdesc_writeCallLog" product="tablet" msgid="6661806062274119245">"એપ્લિકેશનને ઇનકમિંગ અને આઉટગોઇંગ કૉલ્સ વિશેનાં ડેટા સહિત, તમારા ટેબ્લેટના કૉલ લૉગને સંશોધિત કરવાની મંજૂરી આપે છે. દુર્ભાવનાપૂર્ણ ઍપ્લિકેશનો આનો ઉપયોગ તમારા કૉલ લૉગને કાઢી નાખવા અથવા સંશોધિત માટે કરી શકે છે."</string> + <string name="permdesc_writeCallLog" product="tv" msgid="4225034892248398019">"એપ્લિકેશનને ઇનકમિંગ અને આઉટગોઇંગ કૉલ્સ વિશેનાં ડેટા સહિત, તમારા TV ના કૉલ લૉગને સંશોધિત કરવાની મંજૂરી આપે છે. દુર્ભાવનાપૂર્ણ ઍપ્લિકેશનો આનો ઉપયોગ તમારા કૉલ લૉગને કાઢી નાખવા અથવા સંશોધિત માટે કરી શકે છે."</string> + <string name="permdesc_writeCallLog" product="default" msgid="683941736352787842">"એપ્લિકેશનને ઇનકમિંગ અને આઉટગોઇંગ કૉલ્સ વિશેનાં ડેટા સહિત, તમારા ફોનના કૉલ લૉગને સંશોધિત કરવાની મંજૂરી આપે છે. દુર્ભાવનાપૂર્ણ ઍપ્લિકેશનો આનો ઉપયોગ તમારા કૉલ લૉગને કાઢી નાખવા અથવા સંશોધિત માટે કરી શકે છે."</string> <string name="permlab_bodySensors" msgid="4683341291818520277">"બૉડીસેન્સર્સ ઍક્સેસ(જેમકે હ્રદય ગતી મૉનિટર)"</string> <string name="permdesc_bodySensors" product="default" msgid="4380015021754180431">"એપ્લિકેશનને તમારી હૃદય ગતિ જેવી તમારી શારીરિક સ્થિતિને મૉનિટર કરતાં સેન્સર્સથી ડેટા ઍક્સેસ કરવાની મંજૂરી આપે છે."</string> <string name="permlab_readCalendar" msgid="5972727560257612398">"કેલેન્ડર ઇવેન્ટ્સ વત્તા ગોપનીયતા માહિતી વાંચો"</string> @@ -357,12 +357,12 @@ <string name="permlab_accessLocationExtraCommands" msgid="2836308076720553837">"વધારાના સ્થાન પ્રદાતા આદેશોને ઍક્સેસ કરો"</string> <string name="permdesc_accessLocationExtraCommands" msgid="6078307221056649927">"એપ્લિકેશનને વધારાના સ્થાન પ્રદાતા આદેશોને ઍક્સેસ કરવાની મંજૂરી આપે છે. આ એપ્લિકેશનને GPS અથવા અન્ય સ્થાન સ્રોતોના ઓપરેશનમાં દખલ કરવાની મંજૂરી આપી શકે છે."</string> <string name="permlab_accessFineLocation" msgid="251034415460950944">"નિશ્ચિત સ્થાન ઍક્સેસ કરો (GPS અને નેટવર્ક-આધારિત)"</string> - <string name="permdesc_accessFineLocation" msgid="5295047563564981250">"એપ્લિકેશનને ગ્લોબલ પોઝિશનિંગ સિસ્ટમ (GPS) અથવા સ્થાન સેલ ટાવર્સ અને Wi-Fi જેવા નેટવર્ક સ્થાન સ્રોતોનો ઉપયોગ કરીને તમારું ચોક્કસ સ્થાન મેળવવાની મંજૂરી આપે છે. એપ્લિકેશન દ્વારા તેમનો ઉપયોગ કરવા માટે તમારા ઉપકરણ પર આ સ્થાન સેવાઓ ચાલુ અને ઉપલબ્ધ હોવી આવશ્યક છે. એપ્લિકેશનો તમે ક્યાં છો તે નિર્ધારિત કરવા માટે આનો ઉપયોગ કરી શકે છે અને અતિરિક્ત બૅટરી પાવરનો ઉપયોગ કરી શકે છે."</string> + <string name="permdesc_accessFineLocation" msgid="5295047563564981250">"ઍપ્લિકેશનને ગ્લોબલ પોઝિશનિંગ સિસ્ટમ (GPS) અથવા સ્થાન સેલ ટાવર્સ અને Wi-Fi જેવા નેટવર્ક સ્થાન સ્રોતોનો ઉપયોગ કરીને તમારું ચોક્કસ સ્થાન મેળવવાની મંજૂરી આપે છે. ઍપ્લિકેશન દ્વારા તેમનો ઉપયોગ કરવા માટે તમારા ઉપકરણ પર આ સ્થાન સેવાઓ ચાલુ અને ઉપલબ્ધ હોવી આવશ્યક છે. ઍપ્લિકેશનો તમે ક્યાં છો તે નિર્ધારિત કરવા માટે આનો ઉપયોગ કરી શકે છે અને અતિરિક્ત બૅટરી પાવરનો ઉપયોગ કરી શકે છે."</string> <string name="permlab_accessCoarseLocation" msgid="7715277613928539434">"અંદાજિત સ્થાન ઍક્સેસ કરો (નેટવર્ક-આધારિત)"</string> - <string name="permdesc_accessCoarseLocation" msgid="2538200184373302295">"એપ્લિકેશનને તમારું અંદાજિત સ્થાન મેળવવાની મંજૂરી આપે છે. આ સ્થાન સેલ ટાવર્સ અને Wi-Fi જેવા નેટવર્ક સ્થાન સ્રોતોનો ઉપયોગ કરીને સ્થાન સેવાઓ દ્વારા મેળવવામાં આવે છે. એપ્લિકેશન દ્વારા તેમનો ઉપયોગ કરવા માટે તમારા ઉપકરણ પર આ સ્થાન સેવાઓ ચાલુ અને ઉપલબ્ધ હોવી આવશ્યક છે. એપ્લિકેશનો તમે અંદાજે ક્યાં છો તે નિર્ધારિત કરવા માટે આનો ઉપયોગ કરી શકે છે."</string> + <string name="permdesc_accessCoarseLocation" msgid="2538200184373302295">"ઍપ્લિકેશનને તમારું અંદાજિત સ્થાન મેળવવાની મંજૂરી આપે છે. આ સ્થાન સેલ ટાવર્સ અને Wi-Fi જેવા નેટવર્ક સ્થાન સ્રોતોનો ઉપયોગ કરીને સ્થાન સેવાઓ દ્વારા મેળવવામાં આવે છે. ઍપ્લિકેશન દ્વારા તેમનો ઉપયોગ કરવા માટે તમારા ઉપકરણ પર આ સ્થાન સેવાઓ ચાલુ અને ઉપલબ્ધ હોવી આવશ્યક છે. ઍપ્લિકેશનો તમે અંદાજે ક્યાં છો તે નિર્ધારિત કરવા માટે આનો ઉપયોગ કરી શકે છે."</string> <string name="permlab_modifyAudioSettings" msgid="6095859937069146086">"તમારી ઑડિઓ સેટિંગ્સ બદલો"</string> <string name="permdesc_modifyAudioSettings" msgid="3522565366806248517">"એપ્લિકેશનને વૈશ્વિક ઑડિઓ સેટિંગ્સને સંશોધિત કરવાની મંજૂરી આપે છે, જેમ કે વોલ્યુમ અને આઉટપુટ માટે કયા સ્પીકરનો ઉપયોગ કરવો."</string> - <string name="permlab_recordAudio" msgid="3876049771427466323">"ઑડિઓ રેકોર્ડ કરો"</string> + <string name="permlab_recordAudio" msgid="3876049771427466323">"ઑડિઓ રેકોર્ડ કરવાની"</string> <string name="permdesc_recordAudio" msgid="4906839301087980680">"એપ્લિકેશનને માઇક્રોફોન વડે ઑડિઓ રેકોર્ડ કરવાની મંજૂરી આપે છે. આ પરવાનગી એપ્લિકેશનને તમારી પુષ્ટિ વિના કોઈપણ સમયે ઑડિઓ રેકોર્ડ કરવાની મંજૂરી આપે છે."</string> <string name="permlab_sim_communication" msgid="2935852302216852065">"SIM ને આદેશો મોકલો"</string> <string name="permdesc_sim_communication" msgid="5725159654279639498">"એપ્લિકેશનને SIM પરા આદેશો મોકલવાની મંજૂરી આપે છે. આ ખૂબ જ ખતરનાક છે."</string> @@ -371,7 +371,7 @@ <string name="permlab_vibrate" msgid="7696427026057705834">"વાઇબ્રેશન નિયંત્રિત કરો"</string> <string name="permdesc_vibrate" msgid="6284989245902300945">"એપ્લિકેશનને વાઇબ્રેટરને નિયંત્રિત કરવાની મંજૂરી આપે છે."</string> <string name="permlab_callPhone" msgid="3925836347681847954">"સીધા જ ફોન નંબર્સ પર કૉલ કરો"</string> - <string name="permdesc_callPhone" msgid="3740797576113760827">"એપ્લિકેશનને તમારા હસ્તક્ષેપ વિના ફોન નંબર્સ પર કૉલ કરવાની મંજૂરી આપે છે. આ અનપેક્ષિત શુલ્ક અથવા કૉલ્સમાં પરિણમી શકે છે. નોંધો કે આ એપ્લિકેશનને કટોકટીના નંબર્સ પર કૉલ કરવાની મંજૂરી આપતું નથી. દુર્ભાવનાપૂર્ણ એપ્લિકેશનો તમારી પુષ્ટિ વિના કૉલ્સ કરીને તમારા પૈસા ખર્ચ કરી શકે છે."</string> + <string name="permdesc_callPhone" msgid="3740797576113760827">"એપ્લિકેશનને તમારા હસ્તક્ષેપ વિના ફોન નંબર્સ પર કૉલ કરવાની મંજૂરી આપે છે. આ અનપેક્ષિત શુલ્ક અથવા કૉલ્સમાં પરિણમી શકે છે. નોંધો કે આ એપ્લિકેશનને કટોકટીના નંબર્સ પર કૉલ કરવાની મંજૂરી આપતું નથી. દુર્ભાવનાપૂર્ણ ઍપ્લિકેશનો તમારી પુષ્ટિ વિના કૉલ્સ કરીને તમારા પૈસા ખર્ચ કરી શકે છે."</string> <string name="permlab_accessImsCallService" msgid="3574943847181793918">"IMS કૉલ સેવા ઍક્સેસ કરો"</string> <string name="permdesc_accessImsCallService" msgid="8992884015198298775">"તમારા હસ્તક્ષેપ વગર કૉલ્સ કરવા માટે IMS સેવાનો ઉપયોગ કરવાની એપ્લિકેશનને મંજૂરી આપે છે."</string> <string name="permlab_readPhoneState" msgid="9178228524507610486">"ફોન સ્થિતિ અને ઓળખ વાંચો"</string> @@ -395,13 +395,13 @@ <string name="permdesc_setTimeZone" product="tv" msgid="888864653946175955">"એપ્લિકેશનને ટીવીનો સમય ઝોન બદલવાની મંજૂરી આપે છે."</string> <string name="permdesc_setTimeZone" product="default" msgid="4499943488436633398">"એપ્લિકેશનને ફોનનો સમય ઝોન બદલવાની મંજૂરી આપે છે."</string> <string name="permlab_getAccounts" msgid="1086795467760122114">"ઉપકરણ પર એકાઉન્ટ્સ શોધો"</string> - <string name="permdesc_getAccounts" product="tablet" msgid="2741496534769660027">"એપ્લિકેશનને ટેબ્લેટ દ્વારા પરિચિત એકાઉન્ટ્સની સૂચિ મેળવવાની મંજૂરી આપે છે. આમાં તમે ઇન્સ્ટોલ કરેલ એપ્લિકેશનો દ્વારા બનાવેલ કોઈપણ એકાઉન્ટ્સ શામેલ હોઈ શકે છે."</string> - <string name="permdesc_getAccounts" product="tv" msgid="4190633395633907543">"એપ્લિકેશનને ટીવી દ્વારા પરિચિત એકાઉન્ટ્સની સૂચિ મેળવવાની મંજૂરી આપે છે. આમાં તમે ઇન્સ્ટોલ કરેલ એપ્લિકેશનો દ્વારા બનાવેલ કોઈપણ એકાઉન્ટ્સ શામેલ હોઈ શકે છે."</string> - <string name="permdesc_getAccounts" product="default" msgid="3448316822451807382">"એપ્લિકેશનને ફોન દ્વારા પરિચિત એકાઉન્ટ્સની સૂચિ મેળવવાની મંજૂરી આપે છે. આમાં તમે ઇન્સ્ટોલ કરેલ એપ્લિકેશનો દ્વારા બનાવેલ કોઈપણ એકાઉન્ટ્સ શામેલ હોઈ શકે છે."</string> + <string name="permdesc_getAccounts" product="tablet" msgid="2741496534769660027">"એપ્લિકેશનને ટેબ્લેટ દ્વારા પરિચિત એકાઉન્ટ્સની સૂચિ મેળવવાની મંજૂરી આપે છે. આમાં તમે ઇન્સ્ટોલ કરેલ ઍપ્લિકેશનો દ્વારા બનાવેલ કોઈપણ એકાઉન્ટ્સ શામેલ હોઈ શકે છે."</string> + <string name="permdesc_getAccounts" product="tv" msgid="4190633395633907543">"એપ્લિકેશનને ટીવી દ્વારા પરિચિત એકાઉન્ટ્સની સૂચિ મેળવવાની મંજૂરી આપે છે. આમાં તમે ઇન્સ્ટોલ કરેલ ઍપ્લિકેશનો દ્વારા બનાવેલ કોઈપણ એકાઉન્ટ્સ શામેલ હોઈ શકે છે."</string> + <string name="permdesc_getAccounts" product="default" msgid="3448316822451807382">"એપ્લિકેશનને ફોન દ્વારા પરિચિત એકાઉન્ટ્સની સૂચિ મેળવવાની મંજૂરી આપે છે. આમાં તમે ઇન્સ્ટોલ કરેલ ઍપ્લિકેશનો દ્વારા બનાવેલ કોઈપણ એકાઉન્ટ્સ શામેલ હોઈ શકે છે."</string> <string name="permlab_accessNetworkState" msgid="4951027964348974773">"નેટવર્ક કનેક્શન્સ જુઓ"</string> <string name="permdesc_accessNetworkState" msgid="8318964424675960975">"એપ્લિકેશનને નેટવર્ક કનેક્શન્સ વિશેની માહિતી જોવાની મંજૂરી આપે છે જેમ કે કયા નેટવર્ક્સ અસ્તિત્વમાં છે અને કનેક્ટ થયેલ છે."</string> <string name="permlab_createNetworkSockets" msgid="7934516631384168107">"પૂર્ણ નેટવર્ક ઍક્સેસ મેળવો"</string> - <string name="permdesc_createNetworkSockets" msgid="3403062187779724185">"એપ્લિકેશનને નેટવર્ક સૉકેટ્સ બનાવવાની અને કસ્ટમ નેટવર્ક પ્રોટોકોલ્સના ઉપયોગની મંજૂરી આપે છે. બ્રાઉઝર અને એપ્લિકેશનો ઇન્ટરનેટ પર ડેટા મોકલવાના સાધનો પૂરા પાડે છે, તેથી ઇન્ટરનેટ પર ડેટા મોકલવા માટે આ પરવાનગી જરૂરી નથી."</string> + <string name="permdesc_createNetworkSockets" msgid="3403062187779724185">"એપ્લિકેશનને નેટવર્ક સૉકેટ્સ બનાવવાની અને કસ્ટમ નેટવર્ક પ્રોટોકોલ્સના ઉપયોગની મંજૂરી આપે છે. બ્રાઉઝર અને ઍપ્લિકેશનો ઇન્ટરનેટ પર ડેટા મોકલવાના સાધનો પૂરા પાડે છે, તેથી ઇન્ટરનેટ પર ડેટા મોકલવા માટે આ પરવાનગી જરૂરી નથી."</string> <string name="permlab_changeNetworkState" msgid="958884291454327309">"નેટવર્ક કનેક્ટિવિટી બદલો"</string> <string name="permdesc_changeNetworkState" msgid="6789123912476416214">"એપ્લિકેશનને નેટવર્ક કનેક્ટિવિટીની સ્થિતિ બદલવાની મંજૂરી આપે છે."</string> <string name="permlab_changeTetherState" msgid="5952584964373017960">"ટિથર કરેલ કનેક્ટિવિટી બદલો"</string> @@ -454,7 +454,7 @@ </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"ફિંગરપ્રિન્ટ આયકન"</string> <string name="permlab_readSyncSettings" msgid="6201810008230503052">"સમન્વયન સેટિંગ્સ વાંચો"</string> - <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"એપ્લિકેશનને એકાઉન્ટ માટે સમન્વયન સેટિંગ્સને વાંચવાની મંજૂરી આપે છે. ઉદાહરણ તરીકે, આ એકાઉન્ટ સાથે લોકો એપ્લિકેશન સમન્વયિત થઈ છે કે કેમ તે નિર્ધારિત કરી શકે છે."</string> + <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"ઍપ્લિકેશનને એકાઉન્ટ માટે સમન્વયન સેટિંગ્સને વાંચવાની મંજૂરી આપે છે. ઉદાહરણ તરીકે, આ એકાઉન્ટ સાથે લોકો ઍપ્લિકેશન સમન્વયિત થઈ છે કે કેમ તે નિર્ધારિત કરી શકે છે."</string> <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"સમન્વયન ચાલુ અને બંધ ટોગલ કરો"</string> <string name="permdesc_writeSyncSettings" msgid="8956262591306369868">"એપ્લિકેશનને એકાઉન્ટ માટે સમન્વયન સેટિંગ્સ સંશોધિત કરવાની મંજૂરી આપે છે. ઉદાહરણ તરીકે, આનો ઉપયોગ એકાઉન્ટ સાથે લોકો એપ્લિકેશનના સમન્વયનને સક્ષમ કરવા માટે થઈ શકે છે."</string> <string name="permlab_readSyncStats" msgid="7396577451360202448">"સમન્વયન આંકડા વાંચો"</string> @@ -482,35 +482,35 @@ <string name="permlab_control_incall_experience" msgid="9061024437607777619">"કૉલમાં વપરાશકર્તા અનુભવ પ્રદાન કરો"</string> <string name="permdesc_control_incall_experience" msgid="915159066039828124">"એપ્લિકેશનને કૉલમાં વપરાશકર્તા અનુભવ પ્રદાન કરવાની મંજૂરી આપે છે."</string> <string name="permlab_readNetworkUsageHistory" msgid="7862593283611493232">"ઐતિહાસિક નેટવર્ક ઉપયોગ વાંચો"</string> - <string name="permdesc_readNetworkUsageHistory" msgid="7689060749819126472">"એપ્લિકેશનને ચોક્કસ નેટવર્ક્સ અને એપ્લિકેશનો માટે ઐતિહાસિક નેટવર્ક વપરાશ વાંચવાની મંજૂરી આપે છે."</string> + <string name="permdesc_readNetworkUsageHistory" msgid="7689060749819126472">"એપ્લિકેશનને ચોક્કસ નેટવર્ક્સ અને ઍપ્લિકેશનો માટે ઐતિહાસિક નેટવર્ક વપરાશ વાંચવાની મંજૂરી આપે છે."</string> <string name="permlab_manageNetworkPolicy" msgid="2562053592339859990">"નેટવર્ક નીતિ સંચાલિત કરો"</string> - <string name="permdesc_manageNetworkPolicy" msgid="7537586771559370668">"એપ્લિકેશનને નેટવર્ક નીતિઓ સંચાલિત કરવાની અને એપ્લિકેશન-વિશિષ્ટ નિયમો નિર્ધારિત કરવાની મંજૂરી આપે છે."</string> + <string name="permdesc_manageNetworkPolicy" msgid="7537586771559370668">"ઍપ્લિકેશનને નેટવર્ક નીતિઓ સંચાલિત કરવાની અને ઍપ્લિકેશન-વિશિષ્ટ નિયમો નિર્ધારિત કરવાની મંજૂરી આપે છે."</string> <string name="permlab_modifyNetworkAccounting" msgid="5088217309088729650">"નેટવર્ક વપરાશ એકાઉન્ટિંગ સંશોધિત કરો"</string> - <string name="permdesc_modifyNetworkAccounting" msgid="5443412866746198123">"એપ્લિકેશનને કેવી રીતે એપ્લિકેશનો સામે નેટવર્ક વપરાશ ગણવામાં આવે છે તે સંશોધિત કરવાની મંજૂરી આપે છે. સામાન્ય એપ્લિકેશનો દ્વારા ઉપયોગમાં લેવા માટે નથી."</string> + <string name="permdesc_modifyNetworkAccounting" msgid="5443412866746198123">"એપ્લિકેશનને કેવી રીતે ઍપ્લિકેશનો સામે નેટવર્ક વપરાશ ગણવામાં આવે છે તે સંશોધિત કરવાની મંજૂરી આપે છે. સામાન્ય ઍપ્લિકેશનો દ્વારા ઉપયોગમાં લેવા માટે નથી."</string> <string name="permlab_accessNotifications" msgid="7673416487873432268">"ઍક્સેસ સૂચનાઓ"</string> - <string name="permdesc_accessNotifications" msgid="458457742683431387">"એપ્લિકેશનને અન્ય એપ્લિકેશનો દ્વારા પોસ્ટ કરાયેલ સૂચનાઓ સહિત તેને પુનઃપ્રાપ્ત કરવા, પરીક્ષણ કરવા અને સાફ કરવાની મંજૂરી આપે છે. "</string> + <string name="permdesc_accessNotifications" msgid="458457742683431387">"એપ્લિકેશનને અન્ય ઍપ્લિકેશનો દ્વારા પોસ્ટ કરાયેલ સૂચનાઓ સહિત તેને પુનઃપ્રાપ્ત કરવા, પરીક્ષણ કરવા અને સાફ કરવાની મંજૂરી આપે છે. "</string> <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"નોટિફિકેશન લિસનર સેવાથી પ્રતિબદ્ધ થાઓ"</string> - <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"ધારકને નોટિફિકેશન લિસનર સેવાના ઉચ્ચ-સ્તર ઇન્ટરફેસથી પ્રતિબદ્ધ થવાની મંજૂરી આપે છે. સામાન્ય એપ્લિકેશનો માટે ક્યારેય જરૂરી હોતું નથી."</string> + <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"ધારકને નોટિફિકેશન લિસનર સેવાના ઉચ્ચ-સ્તર ઇન્ટરફેસથી પ્રતિબદ્ધ થવાની મંજૂરી આપે છે. સામાન્ય ઍપ્લિકેશનો માટે ક્યારેય જરૂરી હોતું નથી."</string> <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"શરત પ્રદાતા સેવાથી પ્રતિબદ્ધ થાઓ"</string> - <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"ધારકને શરત પ્રદાતા સેવાના ઉચ્ચ-સ્તર ઇન્ટરફેસથી પ્રતિબદ્ધ થવાની મંજૂરી આપે છે. સામાન્ય એપ્લિકેશનો માટે ક્યારેય જરૂરી હોતું નથી."</string> + <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"ધારકને શરત પ્રદાતા સેવાના ઉચ્ચ-સ્તર ઇન્ટરફેસથી પ્રતિબદ્ધ થવાની મંજૂરી આપે છે. સામાન્ય ઍપ્લિકેશનો માટે ક્યારેય જરૂરી હોતું નથી."</string> <string name="permlab_bindDreamService" msgid="4153646965978563462">"ડ્રીમ સેવાથી પ્રતિબદ્ધ થાઓ"</string> - <string name="permdesc_bindDreamService" msgid="7325825272223347863">"ધારકને ડ્રીમ સેવાના ઉચ્ચ-સ્તર ઇન્ટરફેસથી પ્રતિબદ્ધ થવાની મંજૂરી આપે છે. સામાન્ય એપ્લિકેશનો માટે ક્યારેય જરૂરી હોતું નથી."</string> + <string name="permdesc_bindDreamService" msgid="7325825272223347863">"ધારકને ડ્રીમ સેવાના ઉચ્ચ-સ્તર ઇન્ટરફેસથી પ્રતિબદ્ધ થવાની મંજૂરી આપે છે. સામાન્ય ઍપ્લિકેશનો માટે ક્યારેય જરૂરી હોતું નથી."</string> <string name="permlab_invokeCarrierSetup" msgid="3699600833975117478">"કેરિઅર-પ્રદત્ત ગોઠવણી એપ્લિકેશનની વિનંતી કરો"</string> - <string name="permdesc_invokeCarrierSetup" msgid="4159549152529111920">"ધારકને કેરીઅરે પ્રદાન કરેલ ગોઠવણી એપ્લિકેશનની વિનંતી કરવાની મંજૂરી આપે છે. સામાન્ય એપ્લિકેશનો માટે ક્યારેય જરૂરી હોતું નથી."</string> + <string name="permdesc_invokeCarrierSetup" msgid="4159549152529111920">"ધારકને કેરીઅરે પ્રદાન કરેલ ગોઠવણી એપ્લિકેશનની વિનંતી કરવાની મંજૂરી આપે છે. સામાન્ય ઍપ્લિકેશનો માટે ક્યારેય જરૂરી હોતું નથી."</string> <string name="permlab_accessNetworkConditions" msgid="8206077447838909516">"નેટવર્ક સ્થિતિ પર અવલોકનોને સાંભળો"</string> - <string name="permdesc_accessNetworkConditions" msgid="6899102075825272211">"એપ્લિકેશનને નેટવર્ક સ્થિતિ પરના અવલોકનોને સાંભળવાની મંજૂરી આપે છે. સામાન્ય એપ્લિકેશનો માટે ક્યારેય જરૂરી હોતું નથી."</string> + <string name="permdesc_accessNetworkConditions" msgid="6899102075825272211">"એપ્લિકેશનને નેટવર્ક સ્થિતિ પરના અવલોકનોને સાંભળવાની મંજૂરી આપે છે. સામાન્ય ઍપ્લિકેશનો માટે ક્યારેય જરૂરી હોતું નથી."</string> <string name="permlab_setInputCalibration" msgid="4902620118878467615">"ઇનપુટ ઉપકરણ કેલિબ્રેશન બદલો"</string> - <string name="permdesc_setInputCalibration" msgid="4527511047549456929">"એપ્લિકેશનને ટચ સ્ક્રીનના કેલિબ્રેશન પેરામીટર્સને સંશોધિત કરવાની મંજૂરી આપે છે. સામાન્ય એપ્લિકેશનો માટે ક્યારેય જરૂરી હોતું નથી."</string> + <string name="permdesc_setInputCalibration" msgid="4527511047549456929">"એપ્લિકેશનને ટચ સ્ક્રીનના કેલિબ્રેશન પેરામીટર્સને સંશોધિત કરવાની મંજૂરી આપે છે. સામાન્ય ઍપ્લિકેશનો માટે ક્યારેય જરૂરી હોતું નથી."</string> <string name="permlab_accessDrmCertificates" msgid="7436886640723203615">"DRM પ્રમાણપત્રોને ઍક્સેસ કરો"</string> - <string name="permdesc_accessDrmCertificates" msgid="8073288354426159089">"એપ્લિકેશનને DRM પ્રમાણપત્રોની જોગવાઈ કરવાની અને તેનો ઉપયોગ કરવાની મંજૂરી આપે છે. સામાન્ય એપ્લિકેશનો માટે ક્યારેય જરૂરી હોતું નથી."</string> + <string name="permdesc_accessDrmCertificates" msgid="8073288354426159089">"એપ્લિકેશનને DRM પ્રમાણપત્રોની જોગવાઈ કરવાની અને તેનો ઉપયોગ કરવાની મંજૂરી આપે છે. સામાન્ય ઍપ્લિકેશનો માટે ક્યારેય જરૂરી હોતું નથી."</string> <string name="permlab_handoverStatus" msgid="7820353257219300883">"Android બીમ ટ્રાન્સફર સ્થિતિ પ્રાપ્ત કરો"</string> <string name="permdesc_handoverStatus" msgid="4788144087245714948">"એપ્લિકેશનને Android બીમ ટ્રાંસ્ફર્સ વિશે માહિતી પ્રાપ્ત કરવાની મંજૂરી આપે છે"</string> <string name="permlab_removeDrmCertificates" msgid="7044888287209892751">"DRM પ્રમાણપત્રો દૂર કરો"</string> - <string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"એપ્લિકેશનને DRM પ્રમાણપત્રો દૂર કરવાની મંજૂરી આપે છે. સામાન્ય એપ્લિકેશનો માટે ક્યારેય જરૂરી હોતું નથી."</string> + <string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"એપ્લિકેશનને DRM પ્રમાણપત્રો દૂર કરવાની મંજૂરી આપે છે. સામાન્ય ઍપ્લિકેશનો માટે ક્યારેય જરૂરી હોતું નથી."</string> <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"કેરીઅર મેસેજિંગ સેવાથી પ્રતિબદ્ધ થાઓ"</string> - <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"ધારકને કેરીઅર મેસેજિંગ સેવાના ઉચ્ચ-સ્તર ઇન્ટરફેસથી પ્રતિબદ્ધ થવાની મંજૂરી આપે છે. સામાન્ય એપ્લિકેશનો માટે ક્યારેય જરૂરી હોતું નથી."</string> + <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"ધારકને કેરીઅર મેસેજિંગ સેવાના ઉચ્ચ-સ્તર ઇન્ટરફેસથી પ્રતિબદ્ધ થવાની મંજૂરી આપે છે. સામાન્ય ઍપ્લિકેશનો માટે ક્યારેય જરૂરી હોતું નથી."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"કેરીઅર સેવાઓથી પ્રતિબદ્ધ થાઓ"</string> - <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"ધારકને કેરીઅર સેવાઓ સાથે પ્રતિબદ્ધ થવાની મંજૂરી આપે છે. સામાન્ય એપ્લિકેશનો માટે ક્યારેય જરૂરી હોતું નથી."</string> + <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"ધારકને કેરીઅર સેવાઓ સાથે પ્રતિબદ્ધ થવાની મંજૂરી આપે છે. સામાન્ય ઍપ્લિકેશનો માટે ક્યારેય જરૂરી હોતું નથી."</string> <string name="permlab_access_notification_policy" msgid="4247510821662059671">"ખલેલ પાડશો નહીં ઍક્સેસ કરો"</string> <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"એપ્લિકેશનને ખલેલ પાડશો નહીં ગોઠવણી વાંચવા અને લખવાની મંજૂરી આપે છે."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"પાસવર્ડ નિયમો સેટ કરો"</string> @@ -539,7 +539,7 @@ <string name="policylab_expirePassword" msgid="5610055012328825874">"સ્ક્રીન લૉક પાસવર્ડ સમાપ્તિ સેટ કરો"</string> <string name="policydesc_expirePassword" msgid="5367525762204416046">"કેટલીવાર સ્ક્રીન લૉક પાસવર્ડ, PIN અથવા નમૂનો બદલવો આવશ્યક છે તેને બદલો."</string> <string name="policylab_encryptedStorage" msgid="8901326199909132915">"સંગ્રહ એન્ક્રિપ્શન સેટ કરો"</string> - <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"જરૂરી છે કે સંગ્રહિત એપ્લિકેશન એન્ક્રિપ્ટ થાય."</string> + <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"જરૂરી છે કે સંગ્રહિત ઍપ્લિકેશન એન્ક્રિપ્ટ થાય."</string> <string name="policylab_disableCamera" msgid="6395301023152297826">"કૅમેરા અક્ષમ કરો"</string> <string name="policydesc_disableCamera" msgid="2306349042834754597">"તમામ ઉપકરણ કૅમેરાનો ઉપયોગ અટકાવો."</string> <string name="policylab_disableKeyguardFeatures" msgid="8552277871075367771">"અમુક સ્ક્રીનલૉક સુવિધા અક્ષમ કરો"</string> @@ -657,7 +657,7 @@ <string name="sipAddressTypeHome" msgid="6093598181069359295">"ઘર"</string> <string name="sipAddressTypeWork" msgid="6920725730797099047">"કાર્યાલય"</string> <string name="sipAddressTypeOther" msgid="4408436162950119849">"અન્ય"</string> - <string name="quick_contacts_not_available" msgid="746098007828579688">"આ સંપર્ક જોવા માટે કોઈ એપ્લિકેશન મળી નથી."</string> + <string name="quick_contacts_not_available" msgid="746098007828579688">"આ સંપર્ક જોવા માટે કોઈ ઍપ્લિકેશન મળી નથી."</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"PIN કોડ લખો"</string> <string name="keyguard_password_enter_puk_code" msgid="4800725266925845333">"PUK અને નવો PIN કોડ લખો"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1341112146710087048">"PUK કોડ"</string> @@ -791,17 +791,17 @@ <string name="autofill_area" msgid="3547409050889952423">"ક્ષેત્ર"</string> <string name="autofill_emirate" msgid="2893880978835698818">"એમિરાત"</string> <string name="permlab_readHistoryBookmarks" msgid="3775265775405106983">"તમારા વેબ બુકમાર્ક્સ અને ઇતિહાસને વાંચો"</string> - <string name="permdesc_readHistoryBookmarks" msgid="8462378226600439658">"એપ્લિકેશનને બ્રાઉઝરે મુલાકાત લીધેલ તમામ URL અને બ્રાઉઝરના તમામ બુકમાર્ક્સ વાંચવાની મંજૂરી આપે છે. નોંધ: આ પરવાનગી તૃતીય-પક્ષ બ્રાઉઝર્સ અથવા વેબ બ્રાઉઝિંગ ક્ષમતાઓ સાથેની અન્ય એપ્લિકેશનો દ્વારા લાગુ કરી શકાશે નહીં."</string> + <string name="permdesc_readHistoryBookmarks" msgid="8462378226600439658">"એપ્લિકેશનને બ્રાઉઝરે મુલાકાત લીધેલ તમામ URL અને બ્રાઉઝરના તમામ બુકમાર્ક્સ વાંચવાની મંજૂરી આપે છે. નોંધ: આ પરવાનગી તૃતીય-પક્ષ બ્રાઉઝર્સ અથવા વેબ બ્રાઉઝિંગ ક્ષમતાઓ સાથેની અન્ય ઍપ્લિકેશનો દ્વારા લાગુ કરી શકાશે નહીં."</string> <string name="permlab_writeHistoryBookmarks" msgid="3714785165273314490">"વેબ બુકમાર્ક્સ અને ઇતિહાસ લખો"</string> - <string name="permdesc_writeHistoryBookmarks" product="tablet" msgid="6825527469145760922">"એપ્લિકેશનને તમારા ટેબ્લેટ પર સંગ્રહિત બ્રાઉઝરના ઇતિહાસ અથવા બુકમાર્ક્સને સંશોધિત કરવાની મંજૂરી આપે છે. આ એપ્લિકેશનને બ્રાઉઝર ડેટા કાઢી નાખવા કે સંશોધિત કરવાની મંજૂરી આપી શકે છે. નોંધ: આ પરવાનગી તૃતીય-પક્ષ બ્રાઉઝર્સ અથવા વેબ બ્રાઉઝિંગ ક્ષમતાઓ સાથેની અન્ય એપ્લિકેશનો દ્વારા લાગુ કરી શકાશે નહીં."</string> - <string name="permdesc_writeHistoryBookmarks" product="tv" msgid="7007393823197766548">"એપ્લિકેશનને તમારા ટીવી પર સંગ્રહિત બ્રાઉઝરના ઇતિહાસ અથવા બુકમાર્ક્સને સંશોધિત કરવાની મંજૂરી આપે છે. આ એપ્લિકેશનને બ્રાઉઝર ડેટા કાઢી નાખવા કે સંશોધિત કરવાની મંજૂરી આપી શકે છે. નોંધ: આ પરવાનગી તૃતીય-પક્ષ બ્રાઉઝર્સ અથવા વેબ બ્રાઉઝિંગ ક્ષમતાઓ સાથેની અન્ય એપ્લિકેશનો દ્વારા લાગુ કરી શકાશે નહીં."</string> - <string name="permdesc_writeHistoryBookmarks" product="default" msgid="8497389531014185509">"એપ્લિકેશનને તમારા ફોન પર સંગ્રહિત બ્રાઉઝરના ઇતિહાસ અથવા બુકમાર્ક્સને સંશોધિત કરવાની મંજૂરી આપે છે. આ એપ્લિકેશનને બ્રાઉઝર ડેટા કાઢી નાખવા કે સંશોધિત કરવાની મંજૂરી આપી શકે છે. નોંધ: આ પરવાનગી તૃતીય-પક્ષ બ્રાઉઝર્સ અથવા વેબ બ્રાઉઝિંગ ક્ષમતાઓ સાથેની અન્ય એપ્લિકેશનો દ્વારા લાગુ કરી શકાશે નહીં."</string> + <string name="permdesc_writeHistoryBookmarks" product="tablet" msgid="6825527469145760922">"એપ્લિકેશનને તમારા ટેબ્લેટ પર સંગ્રહિત બ્રાઉઝરના ઇતિહાસ અથવા બુકમાર્ક્સને સંશોધિત કરવાની મંજૂરી આપે છે. આ એપ્લિકેશનને બ્રાઉઝર ડેટા કાઢી નાખવા કે સંશોધિત કરવાની મંજૂરી આપી શકે છે. નોંધ: આ પરવાનગી તૃતીય-પક્ષ બ્રાઉઝર્સ અથવા વેબ બ્રાઉઝિંગ ક્ષમતાઓ સાથેની અન્ય ઍપ્લિકેશનો દ્વારા લાગુ કરી શકાશે નહીં."</string> + <string name="permdesc_writeHistoryBookmarks" product="tv" msgid="7007393823197766548">"એપ્લિકેશનને તમારા ટીવી પર સંગ્રહિત બ્રાઉઝરના ઇતિહાસ અથવા બુકમાર્ક્સને સંશોધિત કરવાની મંજૂરી આપે છે. આ એપ્લિકેશનને બ્રાઉઝર ડેટા કાઢી નાખવા કે સંશોધિત કરવાની મંજૂરી આપી શકે છે. નોંધ: આ પરવાનગી તૃતીય-પક્ષ બ્રાઉઝર્સ અથવા વેબ બ્રાઉઝિંગ ક્ષમતાઓ સાથેની અન્ય ઍપ્લિકેશનો દ્વારા લાગુ કરી શકાશે નહીં."</string> + <string name="permdesc_writeHistoryBookmarks" product="default" msgid="8497389531014185509">"એપ્લિકેશનને તમારા ફોન પર સંગ્રહિત બ્રાઉઝરના ઇતિહાસ અથવા બુકમાર્ક્સને સંશોધિત કરવાની મંજૂરી આપે છે. આ એપ્લિકેશનને બ્રાઉઝર ડેટા કાઢી નાખવા કે સંશોધિત કરવાની મંજૂરી આપી શકે છે. નોંધ: આ પરવાનગી તૃતીય-પક્ષ બ્રાઉઝર્સ અથવા વેબ બ્રાઉઝિંગ ક્ષમતાઓ સાથેની અન્ય ઍપ્લિકેશનો દ્વારા લાગુ કરી શકાશે નહીં."</string> <string name="permlab_setAlarm" msgid="1379294556362091814">"એલાર્મ સેટ કરો"</string> - <string name="permdesc_setAlarm" msgid="316392039157473848">"એપ્લિકેશનને ઇન્સ્ટોલ કરેલ અલાર્મ ઘડિયાળ એપ્લિકેશનમાં અલાર્મ સેટ કરવાની મંજૂરી આપે છે. કેટલીક અલાર્મ ઘડિયાળ એપ્લિકેશનો, આ સુવિધા લાગુ કરી શકતી નથી."</string> + <string name="permdesc_setAlarm" msgid="316392039157473848">"એપ્લિકેશનને ઇન્સ્ટોલ કરેલ અલાર્મ ઘડિયાળ એપ્લિકેશનમાં અલાર્મ સેટ કરવાની મંજૂરી આપે છે. કેટલીક અલાર્મ ઘડિયાળ ઍપ્લિકેશનો, આ સુવિધા લાગુ કરી શકતી નથી."</string> <string name="permlab_addVoicemail" msgid="5525660026090959044">"વૉઇસમેઇલ ઉમેરો"</string> <string name="permdesc_addVoicemail" msgid="6604508651428252437">"એપ્લિકેશનને તમારા વૉઇસમેઇલ ઇનબોક્સ પર સંદેશા ઉમેરવાની મંજૂરી આપે છે."</string> <string name="permlab_writeGeolocationPermissions" msgid="5962224158955273932">"બ્રાઉઝરની ભૌગોલિક સ્થાન પરવાનગીઓ સંશોધિત કરો"</string> - <string name="permdesc_writeGeolocationPermissions" msgid="1083743234522638747">"એપ્લિકેશનને બ્રાઉઝરની ભૌગોલિક સ્થાનની પરવાનગીઓને સંશોધિત કરવાની મંજૂરી આપે છે. દુર્ભાવનાપૂર્ણ એપ્લિકેશનો આનો ઉપયોગ સ્વચ્છંદી વેબ સાઇટ્સ પર સ્થાન માહિતી મોકલવા માટે કરી શકે છે."</string> + <string name="permdesc_writeGeolocationPermissions" msgid="1083743234522638747">"એપ્લિકેશનને બ્રાઉઝરની ભૌગોલિક સ્થાનની પરવાનગીઓને સંશોધિત કરવાની મંજૂરી આપે છે. દુર્ભાવનાપૂર્ણ ઍપ્લિકેશનો આનો ઉપયોગ સ્વચ્છંદી વેબ સાઇટ્સ પર સ્થાન માહિતી મોકલવા માટે કરી શકે છે."</string> <string name="save_password_message" msgid="767344687139195790">"શું તમે ઇચ્છો છો કે બ્રાઉઝર આ પાસવર્ડ યાદ રાખે?"</string> <string name="save_password_notnow" msgid="6389675316706699758">"હમણાં નહીં"</string> <string name="save_password_remember" msgid="6491879678996749466">"યાદ રાખો"</string> @@ -894,7 +894,7 @@ <string name="VideoView_error_title" msgid="3534509135438353077">"વિડિઓમાં સમસ્યા"</string> <string name="VideoView_error_text_invalid_progressive_playback" msgid="3186670335938670444">"આ ઉપકરણ પર સ્ટ્રીમ કરવા માટે આ વિડિઓ માન્ય નથી."</string> <string name="VideoView_error_text_unknown" msgid="3450439155187810085">"આ વિડિઓ ચલાવી શકતાં નથી."</string> - <string name="VideoView_error_button" msgid="2822238215100679592">"ઑકે"</string> + <string name="VideoView_error_button" msgid="2822238215100679592">"ઓકે"</string> <string name="relative_time" msgid="1818557177829411417">"<xliff:g id="DATE">%1$s</xliff:g>, <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="noon" msgid="7245353528818587908">"બપોરે"</string> <string name="Noon" msgid="3342127745230013127">"બપોરે"</string> @@ -922,10 +922,10 @@ <string name="low_internal_storage_view_text" msgid="6640505817617414371">"કેટલાક સિસ્ટમ કાર્યો કામ કરી શકશે નહીં"</string> <string name="low_internal_storage_view_text_no_boot" msgid="6935190099204693424">"સિસ્ટમ માટે પર્યાપ્ત સ્ટોરેજ નથી. ખાતરી કરો કે તમારી પાસે 250MB ખાલી સ્થાન છે અને ફરીથી પ્રારંભ કરો."</string> <string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> ચાલી રહી છે"</string> - <string name="app_running_notification_text" msgid="1197581823314971177">"વધુ માહિતી માટે અથવા એપ્લિકેશન રોકવા માટે ટૅપ કરો."</string> - <string name="ok" msgid="5970060430562524910">"ઑકે"</string> + <string name="app_running_notification_text" msgid="1197581823314971177">"વધુ માહિતી માટે અથવા ઍપ્લિકેશન રોકવા માટે ટૅપ કરો."</string> + <string name="ok" msgid="5970060430562524910">"ઓકે"</string> <string name="cancel" msgid="6442560571259935130">"રદ કરો"</string> - <string name="yes" msgid="5362982303337969312">"ઑકે"</string> + <string name="yes" msgid="5362982303337969312">"ઓકે"</string> <string name="no" msgid="5141531044935541497">"રદ કરો"</string> <string name="dialog_alert_title" msgid="2049658708609043103">"ધ્યાન આપો"</string> <string name="loading" msgid="7933681260296021180">"લોડ કરી રહ્યું છે…"</string> @@ -946,7 +946,7 @@ <string name="whichSendToApplication" msgid="8272422260066642057">"આનો ઉપયોગ કરીને મોકલો"</string> <string name="whichSendToApplicationNamed" msgid="7768387871529295325">"%1$s નો ઉપયોગ કરીને મોકલો"</string> <string name="whichSendToApplicationLabel" msgid="8878962419005813500">"મોકલો"</string> - <string name="whichHomeApplication" msgid="4307587691506919691">"હોમ એપ્લિકેશન પસંદ કરો"</string> + <string name="whichHomeApplication" msgid="4307587691506919691">"હોમ ઍપ્લિકેશન પસંદ કરો"</string> <string name="whichHomeApplicationNamed" msgid="4493438593214760979">"હોમ તરીકે %1$s નો ઉપયોગ કરો"</string> <string name="whichHomeApplicationLabel" msgid="809529747002918649">"છબી કૅપ્ચર કરો"</string> <string name="whichImageCaptureApplication" msgid="3680261417470652882">"આની સાથે છબી કૅપ્ચર કરો"</string> @@ -954,10 +954,10 @@ <string name="whichImageCaptureApplicationLabel" msgid="6390303445371527066">"છબી કૅપ્ચર કરો"</string> <string name="alwaysUse" msgid="4583018368000610438">"આ ક્રિયા માટે ડિફોલ્ટ તરીકે ઉપયોગમાં લો."</string> <string name="use_a_different_app" msgid="8134926230585710243">"અલગ એપ્લિકેશનનો ઉપયોગ કરો"</string> - <string name="clearDefaultHintMsg" msgid="3252584689512077257">"સિસ્ટમ સેટિંગ્સ > એપ્લિકેશનો > ડાઉનલોડ કરેલમાં ડિફોલ્ટ સાફ કરો."</string> + <string name="clearDefaultHintMsg" msgid="3252584689512077257">"સિસ્ટમ સેટિંગ્સ > ઍપ્લિકેશનો > ડાઉનલોડ કરેલમાં ડિફોલ્ટ સાફ કરો."</string> <string name="chooseActivity" msgid="7486876147751803333">"એક ક્રિયા પસંદ કરો"</string> - <string name="chooseUsbActivity" msgid="6894748416073583509">"USB ઉપકરણ માટે એપ્લિકેશન પસંદ કરો"</string> - <string name="noApplications" msgid="2991814273936504689">"કોઈ એપ્લિકેશન આ ક્રિયા કરી શકતી નથી."</string> + <string name="chooseUsbActivity" msgid="6894748416073583509">"USB ઉપકરણ માટે ઍપ્લિકેશન પસંદ કરો"</string> + <string name="noApplications" msgid="2991814273936504689">"કોઈ ઍપ્લિકેશન આ ક્રિયા કરી શકતી નથી."</string> <string name="aerr_application" msgid="250320989337856518">"<xliff:g id="APPLICATION">%1$s</xliff:g> બંધ થઈ ગઈ છે"</string> <string name="aerr_process" msgid="6201597323218674729">"<xliff:g id="PROCESS">%1$s</xliff:g> બંધ થઈ ગઈ છે"</string> <string name="aerr_application_repeated" msgid="3146328699537439573">"<xliff:g id="APPLICATION">%1$s</xliff:g> રોકાઈ રહી છે"</string> @@ -974,33 +974,33 @@ <string name="anr_activity_process" msgid="1622382268908620314">"<xliff:g id="ACTIVITY">%1$s</xliff:g> પ્રતિસાદ આપી રહી નથી"</string> <string name="anr_application_process" msgid="6417199034861140083">"<xliff:g id="APPLICATION">%1$s</xliff:g> પ્રતિસાદ આપી રહી નથી"</string> <string name="anr_process" msgid="6156880875555921105">"<xliff:g id="PROCESS">%1$s</xliff:g> પ્રક્રિયા પ્રતિસાદ આપી રહી નથી"</string> - <string name="force_close" msgid="8346072094521265605">"ઑકે"</string> + <string name="force_close" msgid="8346072094521265605">"ઓકે"</string> <string name="report" msgid="4060218260984795706">"જાણ કરો"</string> <string name="wait" msgid="7147118217226317732">"રાહ જુઓ"</string> <string name="webpage_unresponsive" msgid="3272758351138122503">"પૃષ્ઠ બિનપ્રતિસાદી બની ગયું છે.\n\nશું તમે તેને બંધ કરવા માગો છો?"</string> - <string name="launch_warning_title" msgid="1547997780506713581">"એપ્લિકેશન રીડાયરેક્ટ કરી"</string> + <string name="launch_warning_title" msgid="1547997780506713581">"ઍપ્લિકેશન રીડાયરેક્ટ કરી"</string> <string name="launch_warning_replace" msgid="6202498949970281412">"<xliff:g id="APP_NAME">%1$s</xliff:g> હવે ચાલી રહ્યું છે."</string> <string name="launch_warning_original" msgid="188102023021668683">"<xliff:g id="APP_NAME">%1$s</xliff:g> મૂળરૂપે લોંચ થઈ હતી."</string> <string name="screen_compat_mode_scale" msgid="3202955667675944499">"સ્કેલ"</string> <string name="screen_compat_mode_show" msgid="4013878876486655892">"હંમેશા બતાવો"</string> - <string name="screen_compat_mode_hint" msgid="1064524084543304459">"આને સિસ્ટમ સેટિંગ્સ > એપ્લિકેશનો > ડાઉનલોડ કરેલમાં ફરીથી સક્ષમ કરો."</string> - <string name="smv_application" msgid="3307209192155442829">"<xliff:g id="APPLICATION">%1$s</xliff:g> એપ્લિકેશન (<xliff:g id="PROCESS">%2$s</xliff:g> પ્રક્રિયા)એ તેની સ્વ-લાગુ કરેલ StrictMode નીતિનું ઉલ્લંઘન કર્યું છે."</string> + <string name="screen_compat_mode_hint" msgid="1064524084543304459">"આને સિસ્ટમ સેટિંગ્સ > ઍપ્લિકેશનો > ડાઉનલોડ કરેલમાં ફરીથી સક્ષમ કરો."</string> + <string name="smv_application" msgid="3307209192155442829">"<xliff:g id="APPLICATION">%1$s</xliff:g> ઍપ્લિકેશન (<xliff:g id="PROCESS">%2$s</xliff:g> પ્રક્રિયા)એ તેની સ્વ-લાગુ કરેલ StrictMode નીતિનું ઉલ્લંઘન કર્યું છે."</string> <string name="smv_process" msgid="5120397012047462446">"<xliff:g id="PROCESS">%1$s</xliff:g> પ્રક્રિયાએ તેની સ્વ-લાગુ કરેલ StrictMode નીતિનું ઉલ્લંઘન કર્યું છે."</string> <string name="android_upgrading_title" msgid="1584192285441405746">"Android અપગ્રેડ થઈ રહ્યું છે..."</string> <string name="android_start_title" msgid="8418054686415318207">"Android પ્રારંભ થઈ રહ્યું છે…"</string> <string name="android_upgrading_fstrim" msgid="8036718871534640010">"સંગ્રહ ઓપ્ટિમાઇઝ કરી રહ્યું છે."</string> <string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android અપગ્રેડ થઈ રહ્યું છે"</string> <string name="android_upgrading_notification_body" msgid="5761201379457064286">"અપગ્રેડ સમાપ્ત ન થાય ત્યાં સુધી કેટલીક ઍપ્લિકેશનો કદાચ યોગ્ય રીતે કામ ન કરે"</string> - <string name="android_upgrading_apk" msgid="7904042682111526169">"<xliff:g id="NUMBER_1">%2$d</xliff:g> માંથી <xliff:g id="NUMBER_0">%1$d</xliff:g> એપ્લિકેશન ઓપ્ટિમાઇઝ કરી રહ્યું છે."</string> + <string name="android_upgrading_apk" msgid="7904042682111526169">"<xliff:g id="NUMBER_1">%2$d</xliff:g> માંથી <xliff:g id="NUMBER_0">%1$d</xliff:g> ઍપ્લિકેશન ઓપ્ટિમાઇઝ કરી રહ્યું છે."</string> <string name="android_preparing_apk" msgid="8162599310274079154">"<xliff:g id="APPNAME">%1$s</xliff:g> તૈયાર કરી રહ્યું છે."</string> - <string name="android_upgrading_starting_apps" msgid="451464516346926713">"એપ્લિકેશનો શરૂ કરી રહ્યાં છે."</string> + <string name="android_upgrading_starting_apps" msgid="451464516346926713">"ઍપ્લિકેશનો શરૂ કરી રહ્યાં છે."</string> <string name="android_upgrading_complete" msgid="1405954754112999229">"બૂટ સમાપ્ત કરી રહ્યાં છે."</string> <string name="heavy_weight_notification" msgid="9087063985776626166">"<xliff:g id="APP">%1$s</xliff:g> ચાલુ છે"</string> <string name="heavy_weight_notification_detail" msgid="867643381388543170">"ઍપ્લિકેશન પર સ્વિચ કરવા માટે ટૅપ કરો"</string> <string name="heavy_weight_switcher_title" msgid="7153167085403298169">"એપ્લિકેશન્સને સ્વિચ કરીએ?"</string> <string name="heavy_weight_switcher_text" msgid="7022631924534406403">"પહેલાંથી ચાલી રહેલ બીજી એપ્લિકેશનને તમે નવી પ્રારંભ કરો તે પહેલાં બંધ કરવી આવશ્યક છે."</string> <string name="old_app_action" msgid="493129172238566282">"<xliff:g id="OLD_APP">%1$s</xliff:g> પર પાછા ફરો"</string> - <string name="old_app_description" msgid="2082094275580358049">"નવી એપ્લિકેશન પ્રારંભ કરશો નહીં."</string> + <string name="old_app_description" msgid="2082094275580358049">"નવી ઍપ્લિકેશન પ્રારંભ કરશો નહીં."</string> <string name="new_app_action" msgid="5472756926945440706">"<xliff:g id="OLD_APP">%1$s</xliff:g> ને પ્રારંભ કરો"</string> <string name="new_app_description" msgid="1932143598371537340">"જૂની એપ્લિકેશનને સાચવ્યાં વગર રોકો."</string> <string name="dump_heap_notification" msgid="2618183274836056542">"<xliff:g id="PROC">%1$s</xliff:g> એ મેમરી સીમા વટાવી"</string> @@ -1044,8 +1044,8 @@ <string name="wifi_watchdog_network_disabled" msgid="7904214231651546347">"Wi-Fi સાથે કનેક્ટ કરી શકાયું નથી"</string> <string name="wifi_watchdog_network_disabled_detailed" msgid="5548780776418332675">" નબળું ઇન્ટરનેટ કનેક્શન ધરાવે છે."</string> <string name="wifi_connect_alert_title" msgid="8455846016001810172">"કનેક્શનની મંજૂરી આપીએ?"</string> - <string name="wifi_connect_alert_message" msgid="6451273376815958922">"%1$s એપ્લિકેશન Wifi નેટવર્ક %2$s થી કનેક્ટ થવા માગે છે"</string> - <string name="wifi_connect_default_application" msgid="7143109390475484319">"એપ્લિકેશન"</string> + <string name="wifi_connect_alert_message" msgid="6451273376815958922">"%1$s ઍપ્લિકેશન Wifi નેટવર્ક %2$s થી કનેક્ટ થવા માગે છે"</string> + <string name="wifi_connect_default_application" msgid="7143109390475484319">"ઍપ્લિકેશન"</string> <string name="wifi_p2p_dialog_title" msgid="97611782659324517">"Wi-Fi Direct"</string> <string name="wifi_p2p_turnon_message" msgid="2909250942299627244">"Wi-Fi Direct પ્રારંભ કરો. આ Wi-Fi ક્લાઇન્ટ/હોટસ્પોટને બંધ કરશે."</string> <string name="wifi_p2p_failed_message" msgid="3763669677935623084">"Wi-Fi Direct પ્રારંભ કરી શકાયું નથી."</string> @@ -1095,14 +1095,14 @@ <string name="perms_description_app" msgid="5139836143293299417">"<xliff:g id="APP_NAME">%1$s</xliff:g> દ્વારા પ્રદાન."</string> <string name="no_permissions" msgid="7283357728219338112">"કોઈ પરવાનગીઓ જરૂરી નથી"</string> <string name="perm_costs_money" msgid="4902470324142151116">"આનાથી તમારા પૈસા ખર્ચ થઈ શકે છે"</string> - <string name="dlg_ok" msgid="7376953167039865701">"ઑકે"</string> + <string name="dlg_ok" msgid="7376953167039865701">"ઓકે"</string> <string name="usb_charging_notification_title" msgid="6895185153353640787">"આ ઉપકરણને USB થી ચાર્જ કરે છે"</string> <string name="usb_supplying_notification_title" msgid="5310642257296510271">"જોડાયેલ ઉપકરણ માટે USB પાવર પૂરો પાડે છે"</string> <string name="usb_mtp_notification_title" msgid="8396264943589760855">"ફાઇલ ટ્રાન્સફર માટે USB"</string> <string name="usb_ptp_notification_title" msgid="1347328437083192112">"ફોટા ટ્રાન્સફર માટે USB"</string> <string name="usb_midi_notification_title" msgid="4850904915889144654">"MIDI માટે USB"</string> <string name="usb_accessory_notification_title" msgid="7848236974087653666">"USB ઍક્સેસરીથી કનેક્ટ થયાં"</string> - <string name="usb_notification_message" msgid="3370903770828407960">"વધુ વિકલ્પો માટે ટચ કરો."</string> + <string name="usb_notification_message" msgid="3370903770828407960">"વધુ વિકલ્પો માટે ટૅપ કરો."</string> <string name="adb_active_notification_title" msgid="6729044778949189918">"USB ડીબગિંગ કનેક્ટ થયું."</string> <string name="adb_active_notification_message" msgid="4948470599328424059">"USB ડીબગિંગ અક્ષમ કરવા માટે ટૅપ કરો."</string> <string name="taking_remote_bugreport_notification_title" msgid="6742483073875060934">"બગ રિપોર્ટ લઈ રહ્યાં છે…"</string> @@ -1174,7 +1174,7 @@ <string name="ime_action_default" msgid="2840921885558045721">"અમલ કરો"</string> <string name="dial_number_using" msgid="5789176425167573586">"<xliff:g id="NUMBER">%s</xliff:g> નો ઉપયોગ કરીને\nડાયલ કરો"</string> <string name="create_contact_using" msgid="4947405226788104538">"<xliff:g id="NUMBER">%s</xliff:g> નો ઉપયોગ કરીને\nસંપર્ક બનાવો"</string> - <string name="grant_credentials_permission_message_header" msgid="2106103817937859662">"નીચેની એક અથવા વધુ એપ્લિકેશનો તમારા એકાઉન્ટની હમણાં અને ભવિષ્યમાં, ઍક્સેસ કરવા માટેની પરવાનગીની વિનંતી કરે છે."</string> + <string name="grant_credentials_permission_message_header" msgid="2106103817937859662">"નીચેની એક અથવા વધુ ઍપ્લિકેશનો તમારા એકાઉન્ટની હમણાં અને ભવિષ્યમાં, ઍક્સેસ કરવા માટેની પરવાનગીની વિનંતી કરે છે."</string> <string name="grant_credentials_permission_message_footer" msgid="3125211343379376561">"શું તમે આ વિનંતીને મંજૂર કરવા માંગો છો?"</string> <string name="grant_permissions_header_text" msgid="6874497408201826708">"ઍક્સેસ વિનંતી"</string> <string name="allow" msgid="7225948811296386551">"મંજૂરી આપો"</string> @@ -1265,7 +1265,7 @@ <string name="keyboardview_keycode_mode_change" msgid="4547387741906537519">"મોડ ફેરફાર"</string> <string name="keyboardview_keycode_shift" msgid="2270748814315147690">"Shift"</string> <string name="keyboardview_keycode_enter" msgid="2985864015076059467">"દાખલ કરો"</string> - <string name="activitychooserview_choose_application" msgid="2125168057199941199">"એક એપ્લિકેશન પસંદ કરો"</string> + <string name="activitychooserview_choose_application" msgid="2125168057199941199">"એક ઍપ્લિકેશન પસંદ કરો"</string> <string name="activitychooserview_choose_application_error" msgid="8624618365481126668">"<xliff:g id="APPLICATION_NAME">%s</xliff:g> લોંચ કરી શકાયું નથી"</string> <string name="shareactionprovider_share_with" msgid="806688056141131819">"આની સાથે શેર કરો"</string> <string name="shareactionprovider_share_with_application" msgid="5627411384638389738">"<xliff:g id="APPLICATION_NAME">%s</xliff:g> સાથે શેર કરો"</string> @@ -1397,7 +1397,7 @@ <string name="owner_name" msgid="2716755460376028154">"માલિક"</string> <string name="error_message_title" msgid="4510373083082500195">"ભૂલ"</string> <string name="error_message_change_not_allowed" msgid="1347282344200417578">"તમારા વ્યવસ્થાપક દ્વારા આ પરિવર્તનની મંજૂરી નથી"</string> - <string name="app_not_found" msgid="3429141853498927379">"આ ક્રિયાને હેન્ડલ કરવા માટે કોઈ એપ્લિકેશન મળી નહીં"</string> + <string name="app_not_found" msgid="3429141853498927379">"આ ક્રિયાને હેન્ડલ કરવા માટે કોઈ ઍપ્લિકેશન મળી નહીં"</string> <string name="revoke" msgid="5404479185228271586">"રદબાતલ કરો"</string> <string name="mediasize_iso_a0" msgid="1994474252931294172">"ISO A0"</string> <string name="mediasize_iso_a1" msgid="3333060421529791786">"ISO A1"</string> @@ -1516,7 +1516,7 @@ <string name="managed_profile_label_badge" msgid="2355652472854327647">"કાર્યાલય <xliff:g id="LABEL">%1$s</xliff:g>"</string> <string name="lock_to_app_toast" msgid="1420543809500606964">"આ સ્ક્રીનને અનપિન કરવા માટે, પાછળને ટચ કરીને પકડી રાખો."</string> <string name="lock_to_app_toast_accessible" msgid="2302154926850846096">"આ સ્ક્રીનને અનપિન કરવા માટે, વિહંગાવલોકન કરોને ટચ કરો અને પકડો."</string> - <string name="lock_to_app_toast_locked" msgid="9125176335701699164">"એપ્લિકેશન પિન કરેલ છે. આ ઉપકરણ પર અનપિન કરવાની મંજૂરી નથી."</string> + <string name="lock_to_app_toast_locked" msgid="9125176335701699164">"ઍપ્લિકેશન પિન કરેલ છે. આ ઉપકરણ પર અનપિન કરવાની મંજૂરી નથી."</string> <string name="lock_to_app_start" msgid="6643342070839862795">"સ્ક્રીન પિન કરી"</string> <string name="lock_to_app_exit" msgid="8598219838213787430">"સ્ક્રીન અનપિન કરી"</string> <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"અનપિન કરતાં પહેલાં PIN માટે પૂછો"</string> @@ -1525,8 +1525,8 @@ <string name="package_installed_device_owner" msgid="8420696545959087545">"તમારા વ્યવસ્થાપક દ્વારા ઇન્સ્ટોલ કરેલ"</string> <string name="package_updated_device_owner" msgid="8856631322440187071">"તમારા વ્યવસ્થાપક દ્વારા અપડેટ થયેલ"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"તમારા વ્યવસ્થાપક દ્વારા કાઢી નાખેલ"</string> - <string name="battery_saver_description" msgid="1960431123816253034">"બૅટરી આવરદા વધુ સારી કરવામાં સહાય માટે, બૅટરી સેવર તમારા ઉપકરણના પ્રદર્શનને ઘટાડે છે અને વાઇબ્રેશન, સ્થાન સેવાઓ અને મોટાભાગના પૃષ્ઠભૂમિ ડેટાને સીમિત કરે છે. ઇમેઇલ, મેસેજિંગ અને અન્ય એપ્લિકેશનો જે સમન્વયન પર આધાર રાખે છે તે તમે તેમને ખોલશો નહીં ત્યાં સુધી અપડેટ થઈ શકતી નથી.\n\nજ્યારે તમારું ઉપકરણ ચાર્જ થઈ રહ્યું હોય ત્યારે બૅટરી સેવર આપમેળે બંધ થઈ જાય છે."</string> - <string name="data_saver_description" msgid="6015391409098303235">"ડેટા વપરાશને ઘટાડવામાં સહાય માટે, ડેટા સેવર કેટલીક ઍપ્લિકેશનોને પૃષ્ઠભૂમિમાં ડેટા મોકલવા અથવા પ્રાપ્ત કરવાથી અટકાવે છે. તમે હાલમાં ઉપયોગ કરી રહ્યાં છો તે ઍપ્લિકેશન ડેટાને ઍક્સેસ કરી શકે છે, પરંતુ તે આ ક્યારેક જ કરી શકે છે. આનો અર્થ એ હોઈ શકે છે, ઉદાહરણ તરીકે, જે છબીઓ ત્યાં સુધી પ્રદર્શિત થશે નહીં જ્યાં સુધી તમે તેને ટૅપ નહીં કરો."</string> + <string name="battery_saver_description" msgid="1960431123816253034">"બૅટરી આવરદા વધુ સારી કરવામાં સહાય માટે, બૅટરી સેવર તમારા ઉપકરણના પ્રદર્શનને ઘટાડે છે અને વાઇબ્રેશન, સ્થાન સેવાઓ અને મોટાભાગના પૃષ્ઠભૂમિ ડેટાને સીમિત કરે છે. ઇમેઇલ, મેસેજિંગ અને અન્ય ઍપ્લિકેશનો જે સમન્વયન પર આધાર રાખે છે તે તમે તેમને ખોલશો નહીં ત્યાં સુધી અપડેટ થઈ શકતી નથી.\n\nજ્યારે તમારું ઉપકરણ ચાર્જ થઈ રહ્યું હોય ત્યારે બૅટરી સેવર આપમેળે બંધ થઈ જાય છે."</string> + <string name="data_saver_description" msgid="6015391409098303235">"ડેટા વપરાશને ઘટાડવામાં સહાય માટે, ડેટા સેવર કેટલીક ઍપ્લિકેશનોને પૃષ્ઠભૂમિમાં ડેટા મોકલવા અથવા પ્રાપ્ત કરવાથી અટકાવે છે. તમે હાલમાં ઉપયોગ કરી રહ્યાં છો તે ઍપ્લિકેશન ડેટાને ઍક્સેસ કરી શકે છે, પરંતુ તે આ ક્યારેક જ કરી શકે છે. આનો અર્થ એ હોઈ શકે છે, ઉદાહરણ તરીકે, છબીઓ ત્યાં સુધી પ્રદર્શિત થશે નહીં જ્યાં સુધી તમે તેને ટૅપ નહીં કરો."</string> <string name="data_saver_enable_title" msgid="4674073932722787417">"ડેટા સેવર ચાલુ કરીએ?"</string> <string name="data_saver_enable_button" msgid="7147735965247211818">"ચાલુ કરો"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> diff --git a/core/res/res/values-hi/strings.xml b/core/res/res/values-hi/strings.xml index 3fcc4bad6dbc..6ba19ef10f66 100644 --- a/core/res/res/values-hi/strings.xml +++ b/core/res/res/values-hi/strings.xml @@ -243,19 +243,19 @@ <string name="user_owner_label" msgid="1119010402169916617">"व्यक्तिगत प्रोफ़ाइल में स्विच करें"</string> <string name="managed_profile_label" msgid="5289992269827577857">"कार्य प्रोफ़ाइल में स्विच करें"</string> <string name="permgrouplab_contacts" msgid="3657758145679177612">"संपर्क"</string> - <string name="permgroupdesc_contacts" msgid="6951499528303668046">"अपने संपर्कों को ऐक्सेस करें"</string> + <string name="permgroupdesc_contacts" msgid="6951499528303668046">"अपने संपर्कों को ऐक्सेस करने की"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"स्थान"</string> - <string name="permgroupdesc_location" msgid="1346617465127855033">"इस डिवाइस के स्थान को ऐक्सेस करें"</string> + <string name="permgroupdesc_location" msgid="1346617465127855033">"इस डिवाइस के स्थान को ऐक्सेस करने"</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"कैलेंडर"</string> - <string name="permgroupdesc_calendar" msgid="3889615280211184106">"अपने कैलेंडर को ऐक्सेस करें"</string> + <string name="permgroupdesc_calendar" msgid="3889615280211184106">"अपने कैलेंडर को ऐक्सेस करने"</string> <string name="permgrouplab_sms" msgid="228308803364967808">"SMS"</string> - <string name="permgroupdesc_sms" msgid="4656988620100940350">"SMS संदेश भेजें और देखें"</string> + <string name="permgroupdesc_sms" msgid="4656988620100940350">"SMS संदेश भेजें और देखने की"</string> <string name="permgrouplab_storage" msgid="1971118770546336966">"मेमोरी"</string> - <string name="permgroupdesc_storage" msgid="637758554581589203">"अपने डिवाइस पर मौजूद फ़ोटो, मीडिया और फ़ाइलें ऐक्सेस करें"</string> + <string name="permgroupdesc_storage" msgid="637758554581589203">"अपने डिवाइस पर मौजूद फ़ोटो, मीडिया और फ़ाइलें ऐक्सेस करने की"</string> <string name="permgrouplab_microphone" msgid="171539900250043464">"माइक्रोफ़ोन"</string> <string name="permgroupdesc_microphone" msgid="4988812113943554584">"ऑडियो रिकॉर्ड करें"</string> <string name="permgrouplab_camera" msgid="4820372495894586615">"कैमरा"</string> - <string name="permgroupdesc_camera" msgid="3250611594678347720">"चित्र लें और वीडियो रिकॉर्ड करें"</string> + <string name="permgroupdesc_camera" msgid="3250611594678347720">"चित्र लेने और वीडियो रिकॉर्ड करने"</string> <string name="permgrouplab_phone" msgid="5229115638567440675">"फ़ोन"</string> <string name="permgroupdesc_phone" msgid="6234224354060641055">"फ़ोन कॉल करें और प्रबंधित करें"</string> <string name="permgrouplab_sensors" msgid="416037179223226722">"शरीर संवेदक"</string> @@ -362,7 +362,7 @@ <string name="permdesc_accessCoarseLocation" msgid="2538200184373302295">"ऐप्स को आपका अनुमानित स्थान प्राप्त करने देती है. इस स्थान को सेल टॉवर और वाई-फ़ाई जैसे नेटवर्क स्थान स्रोतों का उपयोग करके स्थान सेवाओं द्वारा प्राप्त किया गया है. ऐप्स द्वारा इन स्थान सेवाओं का उपयोग करने के लिए इन्हें चालू होना चाहिए और आपके डिवाइस में उपलब्ध होना चाहिए. ऐप्स इसका उपयोग यह पता लगाने में कर सकते हैं कि आप लगभग कहां पर हैं."</string> <string name="permlab_modifyAudioSettings" msgid="6095859937069146086">"अपनी ऑडियो सेटिंग बदलें"</string> <string name="permdesc_modifyAudioSettings" msgid="3522565366806248517">"ऐप्स को वैश्विक ऑडियो सेटिंग, जैसे वॉल्यूम और कौन-सा स्पीकर आउटपुट के लिए उपयोग किया गया, संशोधित करने देता है."</string> - <string name="permlab_recordAudio" msgid="3876049771427466323">"ऑडियो रिकॉर्ड करें"</string> + <string name="permlab_recordAudio" msgid="3876049771427466323">"ऑडियो रिकॉर्ड करने"</string> <string name="permdesc_recordAudio" msgid="4906839301087980680">"ऐप्स को माइक्रोफ़ोन द्वारा ऑडियो रिकार्ड करने देता है. यह अनुमति ऐप्स को आपकी पुष्टि के बिना किसी भी समय ऑडियो रिकार्ड करने देती है."</string> <string name="permlab_sim_communication" msgid="2935852302216852065">"SIM पर आदेश भेजें"</string> <string name="permdesc_sim_communication" msgid="5725159654279639498">"ऐप्स को सिम में आदेश भेजने देती है. यह बहुत ही खतरनाक है."</string> diff --git a/core/res/res/values-hr/strings.xml b/core/res/res/values-hr/strings.xml index b5f27048c71d..60de8527d41a 100644 --- a/core/res/res/values-hr/strings.xml +++ b/core/res/res/values-hr/strings.xml @@ -525,11 +525,11 @@ <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Prati broj netočnih zaporki unesenih prilikom otključavanja zaslona i zaključava tablet ili briše sve podatke korisnika ako se unese previše netočnih zaporki."</string> <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Prati broj netočnih zaporki unesenih prilikom otključavanja zaslona i zaključava televizor ili briše sve podatke korisnika ako se unese previše netočnih zaporki."</string> <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Prati broj netočnih zaporki unesenih prilikom otključavanja zaslona i zaključava telefon ili briše sve podatke korisnika ako se unese previše netočnih zaporki."</string> - <string name="policylab_resetPassword" msgid="4934707632423915395">"Promijeni zaporku za zaključavanje"</string> + <string name="policylab_resetPassword" msgid="4934707632423915395">"Mijenjanje zaporke za zaključavanje"</string> <string name="policydesc_resetPassword" msgid="1278323891710619128">"Mijenja se zaporka za zaključavanje zaslona."</string> - <string name="policylab_forceLock" msgid="2274085384704248431">"Zaključaj zaslon"</string> + <string name="policylab_forceLock" msgid="2274085384704248431">"Zaključavanje zaslona"</string> <string name="policydesc_forceLock" msgid="1141797588403827138">"Upravlja se načinom i vremenom zaključavanja zaslona."</string> - <string name="policylab_wipeData" msgid="3910545446758639713">"Izbriši sve podatke"</string> + <string name="policylab_wipeData" msgid="3910545446758639713">"Brisanje svih podataka"</string> <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Vraćanjem u tvorničko stanje izbriši podatke tabletnog računala bez upozorenja."</string> <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Briše podatke televizora bez upozorenja vraćanjem na tvorničko stanje."</string> <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Vraćanjem na tvorničke postavke brišu se podaci s telefona bez upozorenja."</string> @@ -600,7 +600,7 @@ <string name="phoneTypeOther" msgid="1544425847868765990">"Ostalo"</string> <string name="phoneTypeCallback" msgid="2712175203065678206">"Povratni poziv"</string> <string name="phoneTypeCar" msgid="8738360689616716982">"Automobil"</string> - <string name="phoneTypeCompanyMain" msgid="540434356461478916">"Primarni broj za tvrtku"</string> + <string name="phoneTypeCompanyMain" msgid="540434356461478916">"Centrala tvrtke"</string> <string name="phoneTypeIsdn" msgid="8022453193171370337">"ISDN"</string> <string name="phoneTypeMain" msgid="6766137010628326916">"Glavni telefon"</string> <string name="phoneTypeOtherFax" msgid="8587657145072446565">"Drugi faks"</string> @@ -1039,7 +1039,7 @@ <string name="volume_icon_description_notification" msgid="7044986546477282274">"Glasnoća obavijesti"</string> <string name="ringtone_default" msgid="3789758980357696936">"Zadana melodija zvona"</string> <string name="ringtone_default_with_actual" msgid="8129563480895990372">"Zadana melodija zvona (<xliff:g id="ACTUAL_RINGTONE">%1$s</xliff:g>)"</string> - <string name="ringtone_silent" msgid="7937634392408977062">"Nijedna"</string> + <string name="ringtone_silent" msgid="7937634392408977062">"Ništa"</string> <string name="ringtone_picker_title" msgid="3515143939175119094">"Melodije zvona"</string> <string name="ringtone_unknown" msgid="5477919988701784788">"Nepoznata melodija zvona"</string> <plurals name="wifi_available" formatted="false" msgid="7900333017752027322"> @@ -1120,7 +1120,7 @@ <string name="usb_midi_notification_title" msgid="4850904915889144654">"USB za MIDI"</string> <string name="usb_accessory_notification_title" msgid="7848236974087653666">"Spojen na USB pribor"</string> <string name="usb_notification_message" msgid="3370903770828407960">"Dodirnite za više opcija."</string> - <string name="adb_active_notification_title" msgid="6729044778949189918">"Priključen je alat za uklanjanje pogrešaka USB-om"</string> + <string name="adb_active_notification_title" msgid="6729044778949189918">"Priključen je alat za otklanjanje pogrešaka USB-om"</string> <string name="adb_active_notification_message" msgid="4948470599328424059">"Dodirnite da biste onemogućili otklanjanje pogrešaka putem USB-a."</string> <string name="taking_remote_bugreport_notification_title" msgid="6742483073875060934">"Izrada izvješća o programskoj pogrešci…"</string> <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Želite li podijeliti izvješće o programskoj pogrešci?"</string> diff --git a/core/res/res/values-hu/strings.xml b/core/res/res/values-hu/strings.xml index 3b98e4c18950..1a01aca2e489 100644 --- a/core/res/res/values-hu/strings.xml +++ b/core/res/res/values-hu/strings.xml @@ -679,10 +679,10 @@ <string name="lockscreen_pattern_wrong" msgid="4317955014948108794">"Próbálja újra"</string> <string name="lockscreen_password_wrong" msgid="5737815393253165301">"Újra"</string> <string name="faceunlock_multiple_failures" msgid="754137583022792429">"Elérte az arcalapú feloldási kísérletek maximális számát"</string> - <string name="lockscreen_missing_sim_message_short" msgid="5099439277819215399">"Nincs SIM kártya."</string> - <string name="lockscreen_missing_sim_message" product="tablet" msgid="151659196095791474">"Nincs SIM kártya a táblagépben."</string> - <string name="lockscreen_missing_sim_message" product="tv" msgid="1943633865476989599">"Nincs SIM kártya a tévében."</string> - <string name="lockscreen_missing_sim_message" product="default" msgid="2186920585695169078">"Nincs SIM kártya a telefonban."</string> + <string name="lockscreen_missing_sim_message_short" msgid="5099439277819215399">"Nincs SIM-kártya."</string> + <string name="lockscreen_missing_sim_message" product="tablet" msgid="151659196095791474">"Nincs SIM-kártya a táblagépben."</string> + <string name="lockscreen_missing_sim_message" product="tv" msgid="1943633865476989599">"Nincs SIM-kártya a tévében."</string> + <string name="lockscreen_missing_sim_message" product="default" msgid="2186920585695169078">"Nincs SIM-kártya a telefonban."</string> <string name="lockscreen_missing_sim_instructions" msgid="5372787138023272615">"Helyezzen be egy SIM kártyát."</string> <string name="lockscreen_missing_sim_instructions_long" msgid="3526573099019319472">"A SIM kártya hiányzik vagy nem olvasható. Helyezzen be egy SIM kártyát."</string> <string name="lockscreen_permanent_disabled_sim_message_short" msgid="5096149665138916184">"A SIM kártya nem használható."</string> @@ -1023,7 +1023,7 @@ <string name="volume_icon_description_media" msgid="4217311719665194215">"Média hangereje"</string> <string name="volume_icon_description_notification" msgid="7044986546477282274">"Értesítés hangereje"</string> <string name="ringtone_default" msgid="3789758980357696936">"Alapértelmezett csengőhang"</string> - <string name="ringtone_default_with_actual" msgid="8129563480895990372">"Alapértelmezett csengőhang (<xliff:g id="ACTUAL_RINGTONE">%1$s</xliff:g>)"</string> + <string name="ringtone_default_with_actual" msgid="8129563480895990372">"Alap csengőhang (<xliff:g id="ACTUAL_RINGTONE">%1$s</xliff:g>)"</string> <string name="ringtone_silent" msgid="7937634392408977062">"Egyik sem"</string> <string name="ringtone_picker_title" msgid="3515143939175119094">"Csengőhangok"</string> <string name="ringtone_unknown" msgid="5477919988701784788">"Ismeretlen csengőhang"</string> @@ -1523,7 +1523,7 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Frissítette a rendszergazda"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"A rendszergazda törölte"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Az akkumulátoridő növelése érdekében az energiatakarékos mód csökkenti az eszköz teljesítményét, és korlátozza a rezgést, a helyszolgáltatásokat, valamint a legtöbb háttéradatot is. Előfordulhat, hogy azok az e-mail-, üzenetküldő és egyéb alkalmazások, amelyek szinkronizálására számít, csak akkor frissítenek, ha megnyitja azokat.\n\nAz energiatakarékos mód automatikusan kikapcsol, ha eszköze töltőn van."</string> - <string name="data_saver_description" msgid="6015391409098303235">"Az adatforgalom csökkentése érdekében az Adatforgalom-csökkentő megakadályozza, hogy egyes alkalmazások adatokat küldjenek vagy fogadjanak a háttérben. Az Ön által aktuálisan használt alkalmazások hozzáférhetnek az adatokhoz, de ezt sokkal ritkábban tesszük meg. Ez például azt jelentheti, hogy a képek csak azt követően jelennek meg, hogy rájuk koppintott."</string> + <string name="data_saver_description" msgid="6015391409098303235">"Az adatforgalom csökkentése érdekében az Adatforgalom-csökkentő megakadályozza, hogy egyes alkalmazások adatokat küldjenek vagy fogadjanak a háttérben. Az Ön által aktuálisan használt alkalmazások hozzáférhetnek az adatokhoz, de csak ritkábban. Ez például azt jelentheti, hogy a képek csak rákoppintás után jelennek meg."</string> <string name="data_saver_enable_title" msgid="4674073932722787417">"Bekapcsolja az Adatforgalom-csökkentőt?"</string> <string name="data_saver_enable_button" msgid="7147735965247211818">"Bekapcsolás"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> diff --git a/core/res/res/values-hy-rAM/strings.xml b/core/res/res/values-hy-rAM/strings.xml index 33c8f7c67d7a..2b935cd9a138 100644 --- a/core/res/res/values-hy-rAM/strings.xml +++ b/core/res/res/values-hy-rAM/strings.xml @@ -164,7 +164,7 @@ <string name="contentServiceSync" msgid="8353523060269335667">"Համաժամեցնել"</string> <string name="contentServiceSyncNotificationTitle" msgid="397743349191901458">"Համաժամել"</string> <string name="contentServiceTooManyDeletesNotificationDesc" msgid="8100981435080696431">"Չափից շատ <xliff:g id="CONTENT_TYPE">%s</xliff:g> հեռացումներ:"</string> - <string name="low_memory" product="tablet" msgid="6494019234102154896">"Գրասալիկի պահոցը լիքն է: Ջնջեք մի քանի ֆայլ` տարածք ազատելու համար:"</string> + <string name="low_memory" product="tablet" msgid="6494019234102154896">"Պլանշետի պահոցը լիքն է: Ջնջեք մի քանի ֆայլ` տարածք ազատելու համար:"</string> <string name="low_memory" product="watch" msgid="4415914910770005166">"Ժամացույցի ֆայլերի պահեստը լիքն է: Ջնջեք որոշ ֆայլեր՝ տարածք ազատելու համար:"</string> <string name="low_memory" product="tv" msgid="516619861191025923">"Հեռուստացույցի պահեստը լիքն է: Ջնջեք որոշ ֆայլեր՝ տեղ ազատելու համար:"</string> <string name="low_memory" product="default" msgid="3475999286680000541">"Հեռախոսի պահոցը լիքն է: Ջնջեք մի քանի ֆայլեր` տարածություն ազատելու համար:"</string> @@ -182,7 +182,7 @@ <string name="factory_reset_warning" msgid="5423253125642394387">"Ձեր սարքը ջնջվելու է"</string> <string name="factory_reset_message" msgid="4905025204141900666">"Ադմինիստրատորի հավելվածում բացակայում են բաղադրիչներ կամ այն վնասված է և չի կարող օգտագործվել: Ձեր սարքն այժմ ջնջվելու է: Օգնություն համար դիմեք ձեր ադմինիստրատորին:"</string> <string name="me" msgid="6545696007631404292">"Իմ"</string> - <string name="power_dialog" product="tablet" msgid="8545351420865202853">"Գրասալիկի ընտրանքները"</string> + <string name="power_dialog" product="tablet" msgid="8545351420865202853">"Պլանշետի ընտրանքները"</string> <string name="power_dialog" product="tv" msgid="6153888706430556356">"Հեռուստացույցի ընտրանքներ"</string> <string name="power_dialog" product="default" msgid="1319919075463988638">"Հեռախոսի ընտրանքներ"</string> <string name="silent_mode" msgid="7167703389802618663">"Անձայն ռեժիմ"</string> @@ -200,7 +200,7 @@ <string name="reboot_to_reset_title" msgid="4142355915340627490">"Գործարանային տվյալների վերականգնում"</string> <string name="reboot_to_reset_message" msgid="2432077491101416345">"Վերագործարկվում է…"</string> <string name="shutdown_progress" msgid="2281079257329981203">"Անջատվում է…"</string> - <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Ձեր գրասալիկը կանջատվի:"</string> + <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Ձեր պլանշետը կանջատվի:"</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"Հեռուստացույցը կանջատվի:"</string> <string name="shutdown_confirm" product="watch" msgid="3490275567476369184">"Ձեր ժամացույցը կանջատվի:"</string> <string name="shutdown_confirm" product="default" msgid="649792175242821353">"Ձեր հեռախոսը կանջատվի:"</string> @@ -209,7 +209,7 @@ <string name="reboot_safemode_confirm" msgid="55293944502784668">"Ցանկանու՞մ եք վերաբեռնել անվտանգ ռեժիմի: Սա կկասեցնի ձեր տեղադրած բոլոր կողմնակի ծրագրերը: Դրանք կվերականգնվեն, երբ դուք կրկին վերաբեռնեք:"</string> <string name="recent_tasks_title" msgid="3691764623638127888">"Վերջին"</string> <string name="no_recent_tasks" msgid="8794906658732193473">"Նոր հավելվածեր չկան:"</string> - <string name="global_actions" product="tablet" msgid="408477140088053665">"Գրասալիկի ընտրանքները"</string> + <string name="global_actions" product="tablet" msgid="408477140088053665">"Պլանշետի ընտրանքները"</string> <string name="global_actions" product="tv" msgid="7240386462508182976">"Հեռուստացույցի ընտրանքներ"</string> <string name="global_actions" product="default" msgid="2406416831541615258">"Հեռախոսի ընտրանքներ"</string> <string name="global_action_lock" msgid="2844945191792119712">"Էկրանի փական"</string> @@ -295,7 +295,7 @@ <string name="permlab_sendSms" msgid="7544599214260982981">"SMS հաղորդագրությունների ուղարկում և ընթերցում"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Թույլ է տալիս հավելվածին ուղարկել SMS հաղորդագրություններ: Այն կարող է անսպասելի ծախսերի պատճառ դառնալ: Վնասարար հավելվածները կարող են ձեր հաշվից գումար ծախսել` ուղարկելով հաղորդագրություններ` առանց ձեր հաստատման:"</string> <string name="permlab_readSms" msgid="8745086572213270480">"կարդալ ձեր տեքստային հաղորդագրությունները (SMS կամ MMS)"</string> - <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Թույլ է տալիս հավելվածին կարդալ ձեր գրասալիկում կամ SIM քարտում պահված SMS հաղորդագրությունները: Սա թույլ է տալիս հավելվածին կարդալ բոլոր SMS հաղորդագրությունները` անկախ բովանդակությունից կամ գաղտնիությունից:"</string> + <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Թույլ է տալիս հավելվածին կարդալ ձեր պլանշետում կամ SIM քարտում պահված SMS հաղորդագրությունները: Սա թույլ է տալիս հավելվածին կարդալ բոլոր SMS հաղորդագրությունները` անկախ բովանդակությունից կամ գաղտնիությունից:"</string> <string name="permdesc_readSms" product="tv" msgid="5102425513647038535">"Թույլ է տալիս հավելվածին կարդալ հեռուստացույցում կամ SIM քարտի վրա պահված SMS հաղորդագրությունները: Սա թույլ է տալիս հավելվածին կարդալ բոլոր SMS հաղորդագրությունները՝ անկախ բովանդակությունից կամ գաղտնիության աստիճանից:"</string> <string name="permdesc_readSms" product="default" msgid="3695967533457240550">"Թույլ է տալիս հավելվածին կարդալ ձեր հեռախոսում կամ SIM քարտում պահված SMS հաղորդագրությունները: Սա թույլ է տալիս հավելվածին կարդալ բոլոր SMS հաղորդագրությունները` անկախ բովանդակությունից կամ գաղտնիությունից:"</string> <string name="permlab_receiveWapPush" msgid="5991398711936590410">"ստանալ տեքստային հաղորդագրություններ (WAP)"</string> @@ -313,7 +313,7 @@ <string name="permlab_systemAlertWindow" msgid="3543347980839518613">"անցնել այլ ծրագրերի վրայով"</string> <string name="permdesc_systemAlertWindow" msgid="8584678381972820118">"Թույլ է տալիս հավելվածին երևալ այլ հավելվածների վերևում կամ օգտվողի ինտերֆեյսի մասերում: Դրանք կարող են խոչընդոտել ձեր ինտերֆեյսի օգտագործմանը ցանկացած հավելվածում կամ փոխել այն, ինչը կարծում եք, որ տեսնում եք այլ հավելվածներում:"</string> <string name="permlab_persistentActivity" msgid="8841113627955563938">"միշտ աշխատեցնել հավելվածը"</string> - <string name="permdesc_persistentActivity" product="tablet" msgid="8525189272329086137">"Թույլ է տալիս հավելվածին մնայուն դարձնել իր մասերը հիշողության մեջ: Սա կարող է սահմանափակել այլ հավելվածներին հասանելի հիշողությունը` դանդաղեցնելով գրասալիկի աշխատանքը:"</string> + <string name="permdesc_persistentActivity" product="tablet" msgid="8525189272329086137">"Թույլ է տալիս հավելվածին մնայուն դարձնել իր մասերը հիշողության մեջ: Սա կարող է սահմանափակել այլ հավելվածներին հասանելի հիշողությունը` դանդաղեցնելով պլանշետի աշխատանքը:"</string> <string name="permdesc_persistentActivity" product="tv" msgid="5086862529499103587">"Թույլ է տալիս հավելվածին պահել իր տարրերը հիշողության մեջ: Սա կարող է սահմանափակել այլ հավելվածների համար հատկացված հիշողությունը և դանդաղեցնել հեռուստացույցի աշխատանքը:"</string> <string name="permdesc_persistentActivity" product="default" msgid="4384760047508278272">"Թույլ է տալիս հավելվածին մնայուն դարձնել իր մասերը հիշողության մեջ: Սա կարող է սահմանափակել այլ հավելվածներին հասանելի հիշողությունը` դանդաղեցնելով հեռախոսի աշխատանքը:"</string> <string name="permlab_getPackageSize" msgid="7472921768357981986">"չափել հավելվածի պահոցի տարածքը"</string> @@ -321,37 +321,37 @@ <string name="permlab_writeSettings" msgid="2226195290955224730">"փոփոխել համակարգի կարգավորումները"</string> <string name="permdesc_writeSettings" msgid="7775723441558907181">"Թույլ է տալիս հավելվածին փոփոխել համակարգի կարգավորումների տվյալները: Վնասարար հավելվածները կարող են վնասել ձեր համակարգի կարգավորումները:"</string> <string name="permlab_receiveBootCompleted" msgid="5312965565987800025">"աշխատել մեկնարկային ռեժիմով"</string> - <string name="permdesc_receiveBootCompleted" product="tablet" msgid="7390304664116880704">"Թույլ է տալիս հավելվածին ինքնաշխատ մեկնարկել համակարգի բեռնման ավարտից հետո: Սա կարող է երկարացնել գրասալիկի մեկնարկը և թույլ տալ հավելավածին դանդաղեցնել ամբողջ գրասալիկի աշխատանքը` միշտ աշխատելով:"</string> - <string name="permdesc_receiveBootCompleted" product="tv" msgid="4525890122209673621">"Թույլ է տալիս հավելվածին ինքնամեկնարկել համակարգի սկզբնաբեռնումից հետո: Սա կարող է երկարացնել հեռուստացույցի մեկնարկը և թույլ է տալիս հավելվածին դանդաղեցնել ողջ գրասալիկի աշխատանքը՝ իր մշտական աշխատանքով:"</string> + <string name="permdesc_receiveBootCompleted" product="tablet" msgid="7390304664116880704">"Թույլ է տալիս հավելվածին ինքնաշխատ մեկնարկել համակարգի բեռնման ավարտից հետո: Սա կարող է երկարացնել պլանշետի մեկնարկը և թույլ տալ հավելավածին դանդաղեցնել ամբողջ պլանշետի աշխատանքը` միշտ աշխատելով:"</string> + <string name="permdesc_receiveBootCompleted" product="tv" msgid="4525890122209673621">"Թույլ է տալիս հավելվածին ինքնամեկնարկել համակարգի սկզբնաբեռնումից հետո: Սա կարող է երկարացնել հեռուստացույցի մեկնարկը և թույլ է տալիս հավելվածին դանդաղեցնել ողջ պլանշետի աշխատանքը՝ իր մշտական աշխատանքով:"</string> <string name="permdesc_receiveBootCompleted" product="default" msgid="513950589102617504">"Թույլ է տալիս հավելվածին ինքն իրեն սկսել` համակարգի բեռնումն ավարտվելուն պես: Սա կարող է հեռախոսի մեկնարկը դարձնել ավելի երկար և թույլ տալ, որ հավելվածը դանդաղեցնի ընդհանուր հեռախոսի աշխատանքը` միշտ աշխատելով:"</string> <string name="permlab_broadcastSticky" msgid="7919126372606881614">"ուղարկել կպչուն հաղորդում"</string> - <string name="permdesc_broadcastSticky" product="tablet" msgid="7749760494399915651">"Թույլ է տալիս հավելվածին ուղարկել կպչուն հաղորդումներ, որոնք մնում են հաղորդման ավարտից հետո: Չափազանց շատ օգտագործումը կարող է գրասալիկի աշխատանքը դանդաղեցնել կամ դարձնել անկայուն` պատճառ դառնալով չափազանց մեծ հիշողության օգտագործման:"</string> + <string name="permdesc_broadcastSticky" product="tablet" msgid="7749760494399915651">"Թույլ է տալիս հավելվածին ուղարկել կպչուն հաղորդումներ, որոնք մնում են հաղորդման ավարտից հետո: Չափազանց շատ օգտագործումը կարող է պլանշետի աշխատանքը դանդաղեցնել կամ դարձնել անկայուն` պատճառ դառնալով չափազանց մեծ հիշողության օգտագործման:"</string> <string name="permdesc_broadcastSticky" product="tv" msgid="6839285697565389467">"Թույլ է տալիս հավելվածին կատարել անընդմեջ հեռարձակումներ, որոնցից հետո տվյալները հասանելի են մնում: Չափից դուրս օգտագործումը կարող է դանդաղեցնել հեռուստացույցի աշխատանքը կամ դարձնել այն անկայուն՝ ավելացնելով հիշողության ծախսը:"</string> <string name="permdesc_broadcastSticky" product="default" msgid="2825803764232445091">"Թույլ է տալիս հավելվածին ուղարկել կպչուն հաղորդումներ, որոնք մնում են հաղորդման ավարտից հետո: Չափազանց շատ օգտագործումը կարող է հեռախոսի աշխատանքը դանդաղեցնել կամ դարձնել անկայուն` պատճառ դառնալով չափազանց մեծ հիշողության օգտագործման:"</string> <string name="permlab_readContacts" msgid="8348481131899886131">"կարդալ ձեր կոնտակտները"</string> - <string name="permdesc_readContacts" product="tablet" msgid="5294866856941149639">"Թույլ է տալիս հավելվածին կարդալ ձեր գրասալիկում պահված կոնտակտների մասին տվյալները, այդ թվում` ձեր կատարած զանգերի, գրած նամակների կամ որոշակի անհատների հետ այլ եղանակով շփման հաճախականությունը: Այս թույլտվությունը հնարավորություն է տալիս հավելվածներին պահել ձեր կոնտակտային տվյալները, իսկ վնասարար հավելվածները կարող են տարածել կոնտակտային տվյալները` առանց ձեր իմացության:"</string> + <string name="permdesc_readContacts" product="tablet" msgid="5294866856941149639">"Թույլ է տալիս հավելվածին կարդալ ձեր պլանշետում պահված կոնտակտների մասին տվյալները, այդ թվում` ձեր կատարած զանգերի, գրած նամակների կամ որոշակի անհատների հետ այլ եղանակով շփման հաճախականությունը: Այս թույլտվությունը հնարավորություն է տալիս հավելվածներին պահել ձեր կոնտակտային տվյալները, իսկ վնասարար հավելվածները կարող են տարածել կոնտակտային տվյալները` առանց ձեր իմացության:"</string> <string name="permdesc_readContacts" product="tv" msgid="1839238344654834087">"Թույլ է տալիս հավելվածին կարդալ հեռուստացույցում պահված կոնտակտների տվյալները, այդ թվում նաև՝ թե ինչ հաճախականությամբ եք զանգեր կատարել, օգտվել էլփոստից կամ այլ կերպ հաղորդակցվել որոշակի մարդկանց հետ: Այս թույլտվության միջոցով հավելվածները կարող են պահել ձեր կոնտակտների տվյալները, իսկ վնասարար հավելվածները կարող են համօգտագործել դրանք առանց ձեր իմացության:"</string> <string name="permdesc_readContacts" product="default" msgid="8440654152457300662">"Թույլ է տալիս հավելվածին կարդալ ձեր հեռախոսում պահված կոնտակտների մասին տվյալները, այդ թվում` ձեր կատարած զանգերի, գրած նամակների կամ որոշակի անհատների հետ այլ եղանակով շփման հաճախականությունը: Այս թույլտվությունը հնարավորություն է տալիս հավելվածներին պահել ձեր կոնտակտային տվյալները, իսկ վնասարար հավելվածները կարող են տարածել կոնտակտային տվյալները` առանց ձեր իմացության:"</string> <string name="permlab_writeContacts" msgid="5107492086416793544">"փոփոխել ձեր կոնտակտները"</string> - <string name="permdesc_writeContacts" product="tablet" msgid="897243932521953602">"Թույլ է տալիս հավելվածին փոփոխել ձեր գրասալիկում պահված կոնտակտների մասին տվյալները, այդ թվում` ձեր կատարած զանգերի, գրած նամակների կամ որոշակի անհատների հետ այլ եղանակով շփման հաճախականությունը: Այս թույլտվությունը հնարավորություն է տալիս հավելվածներին ջնջել կոնտակտային տվյալները:"</string> + <string name="permdesc_writeContacts" product="tablet" msgid="897243932521953602">"Թույլ է տալիս հավելվածին փոփոխել ձեր պլանշետում պահված կոնտակտների մասին տվյալները, այդ թվում` ձեր կատարած զանգերի, գրած նամակների կամ որոշակի անհատների հետ այլ եղանակով շփման հաճախականությունը: Այս թույլտվությունը հնարավորություն է տալիս հավելվածներին ջնջել կոնտակտային տվյալները:"</string> <string name="permdesc_writeContacts" product="tv" msgid="5438230957000018959">"Թույլ է տալիս հավելվածին փոփոխել հեռուստացույցի մեջ պահված կոնտակտների տվյալները, այդ թվում նաև՝ թե ինչ հաճախականությամբ եք զանգեր կատարել, օգտվել էլփոստից կամ այլ կերպ հաղորդակցվել որոշակի մարդկանց հետ: Այս թույլտվությունը հնարավորություն է տալիս հավելվածներին ջնջել կոնտակտային տվյալները:"</string> - <string name="permdesc_writeContacts" product="default" msgid="589869224625163558">"Թույլ է տալիս հավելվածին փոփոխել ձեր գրասալիկում պահված կոնտակտների տվյալները, այդ թվում` ձեր կատարած զանգերի, գրած նամակների կամ որոշակի անհատների հետ այլ եղանակով շփման հաճախականությունը: Այս թույլտվությունը հնարավորություն է տալիս հավելվածներին ջնջել կոնտակտային տվյալները:"</string> + <string name="permdesc_writeContacts" product="default" msgid="589869224625163558">"Թույլ է տալիս հավելվածին փոփոխել ձեր պլանշետում պահված կոնտակտների տվյալները, այդ թվում` ձեր կատարած զանգերի, գրած նամակների կամ որոշակի անհատների հետ այլ եղանակով շփման հաճախականությունը: Այս թույլտվությունը հնարավորություն է տալիս հավելվածներին ջնջել կոնտակտային տվյալները:"</string> <string name="permlab_readCallLog" msgid="3478133184624102739">"կարդալ զանգերի մատյանը"</string> - <string name="permdesc_readCallLog" product="tablet" msgid="3700645184870760285">"Թույլ է տալիս հավելվածին կարդալ ձեր գրասալիկի զանգերի գրանցամատյանը, այդ թվում` մուտքային և ելքային զանգերի տվյալները: Սա թույլ է տալիս հավելվածին պահել ձեր զանգերի գրանցամատյանի տվյալները, և վնասարար հավելվածները կարող են տարածել դրանք` առանց ձեր իմացության:"</string> + <string name="permdesc_readCallLog" product="tablet" msgid="3700645184870760285">"Թույլ է տալիս հավելվածին կարդալ ձեր պլանշետի զանգերի գրանցամատյանը, այդ թվում` մուտքային և ելքային զանգերի տվյալները: Սա թույլ է տալիս հավելվածին պահել ձեր զանգերի գրանցամատյանի տվյալները, և վնասարար հավելվածները կարող են տարածել դրանք` առանց ձեր իմացության:"</string> <string name="permdesc_readCallLog" product="tv" msgid="5611770887047387926">"Թույլ է տալիս հավելվածին կարդալ հեռուստացույցի զանգերի մատյանը, այդ թվում նաև մուտքային և ելքային զանգերի տվյալները: Այս թույլտվության միջոցով հավելվածները կարող են պահել ձեր զանգերի մատյանի տվյալները, իսկ վնասարար հավելվածները կարող են համօգտագործել այդ տվյալները առանց ձեր իմացության:"</string> <string name="permdesc_readCallLog" product="default" msgid="5777725796813217244">"Թույլ է տալիս հավելվածին կարդալ ձեր հեռախոսի զանգերի գրանցամատյանը, այդ թվում` մուտքային և ելքային զանգերի տվյալները: Թույլտվությունը հնարավորություն է տալիս հավելվածին պահպանել ձեր զանգերի գրանցամատյանի տվյալները, և վնասարար հավելվածները կարող են տարածել գրանցամատյանի տվյալներն առանց ձեր իմացության:"</string> <string name="permlab_writeCallLog" msgid="8552045664743499354">"տեսնել զանգերի գրանցամատյանը"</string> - <string name="permdesc_writeCallLog" product="tablet" msgid="6661806062274119245">"Թույլ է տալիս հավելվածին փոփոխել ձեր գրասալիկի զանգերի մատյանը, այդ թվում` մուտքային և ելքային զանգերի մասին տվյալները: Վնասարար հավելվածները կարող են սա օգտագործել` ձեր զանգերի մատյանը ջնջելու կամ փոփոխելու համար:"</string> + <string name="permdesc_writeCallLog" product="tablet" msgid="6661806062274119245">"Թույլ է տալիս հավելվածին փոփոխել ձեր պլանշետի զանգերի մատյանը, այդ թվում` մուտքային և ելքային զանգերի մասին տվյալները: Վնասարար հավելվածները կարող են սա օգտագործել` ձեր զանգերի մատյանը ջնջելու կամ փոփոխելու համար:"</string> <string name="permdesc_writeCallLog" product="tv" msgid="4225034892248398019">"Թույլ է տալիս հավելվածին փոփոխել հեռուստացույցի զանգերի մատյանը, այդ թվում` մուտքային և ելքային զանգերի մասին տվյալները: Վնասարար հավելվածները կարող են սա օգտագործել` ձեր զանգերի մատյանը ջնջելու կամ փոփոխելու համար:"</string> <string name="permdesc_writeCallLog" product="default" msgid="683941736352787842">"Թույլ է տալիս հավելվածին փոփոխել ձեր հեռախոսի զանգերի մատյանը, այդ թվում` մուտքային և ելքային զանգերի մասին տվյալները: Վնասարար հավելվածները կարող են սա օգտագործել` ձեր զանգերի մատյանը ջնջելու կամ փոփոխելու համար:"</string> <string name="permlab_bodySensors" msgid="4683341291818520277">"օգտագործել մարմնի սենսորները (օրինակ` սրտի կծկումների հաճախականության չափիչ)"</string> <string name="permdesc_bodySensors" product="default" msgid="4380015021754180431">"Հավելվածին թույլ է տալիս մուտք ունենալ սենսորների տվյալներին, որոնք վերահսկում են ձեր ֆիզիկական վիճակը, օրինակ՝ ձեր սրտի զարկերը:"</string> <string name="permlab_readCalendar" msgid="5972727560257612398">"կարդալ օրացուցային իրադարձությունները և գաղտնի տեղեկությունները"</string> - <string name="permdesc_readCalendar" product="tablet" msgid="4216462049057658723">"Թույլ է տալիս հավելվածին կարդալ ձեր գրասալիկում պահված բոլոր օրացուցային իրադարձությունները, այդ թվում` ընկերների կամ գործընկերների: Սա կարող է թույլ տալ հավելվածին տարածել կամ պահել ձեր օրացուցային տվյալները` անկախ գաղտնիությունից կամ զգայունությունից:"</string> + <string name="permdesc_readCalendar" product="tablet" msgid="4216462049057658723">"Թույլ է տալիս հավելվածին կարդալ ձեր պլանշետում պահված բոլոր օրացուցային իրադարձությունները, այդ թվում` ընկերների կամ գործընկերների: Սա կարող է թույլ տալ հավելվածին տարածել կամ պահել ձեր օրացուցային տվյալները` անկախ գաղտնիությունից կամ զգայունությունից:"</string> <string name="permdesc_readCalendar" product="tv" msgid="3191352452242394196">"Թույլ է տալիս հավելվածին կարդալ հեռուստացույցի օրացույցում պահված բոլոր իրադարձությունները, այդ թվում նաև ընկերների կամ գործընկերների հետ կապված իրադարձությունները: Սա կարող է թույլ տալ հավելվածին համօգտագործել կամ պահել ձեր օրացույցի տվյալները՝ անկախ նրանց գաղտնիության կամ կարևորության աստիճանից:"</string> <string name="permdesc_readCalendar" product="default" msgid="7434548682470851583">"Թույլ է տալիս հավելվածին կարդալ ձեր հեռախոսում պահված բոլոր օրացուցային իրադարձությունները, այդ թվում` ընկերների կամ գործընկերների: Սա կարող է թույլ տալ հավելվածին տարածել կամ պահել ձեր օրացուցային տվյալները` անկախ գաղտնիությունից կամ զգայունությունից:"</string> <string name="permlab_writeCalendar" msgid="8438874755193825647">"ավելացնել կամ փոփոխել օրացուցային իրադարձությունները և ուղարկել նամակ հյուրերին` առանց սեփականատերերի իմացության"</string> - <string name="permdesc_writeCalendar" product="tablet" msgid="6679035520113668528">"Թույլ է տալիս հավելվածին ավելացնել, հեռացնել, փոխել իրադարձություններ, որոնք դուք կարող եք փոփոխել ձեր գրասալիկում, այդ թվում ընկերների կամ աշխատակիցների իրադարձությունները: Սա կարող է թույլ տալ հավելվածին ուղարկել հաղորդագրություններ, որոնք երևում են որպես օրացույցի սեփականատերերից ուղարկված, կամ փոփոխել իրադարձություններն առանց սեփականատերերի իմացության:"</string> + <string name="permdesc_writeCalendar" product="tablet" msgid="6679035520113668528">"Թույլ է տալիս հավելվածին ավելացնել, հեռացնել, փոխել իրադարձություններ, որոնք դուք կարող եք փոփոխել ձեր պլանշետում, այդ թվում ընկերների կամ աշխատակիցների իրադարձությունները: Սա կարող է թույլ տալ հավելվածին ուղարկել հաղորդագրություններ, որոնք երևում են որպես օրացույցի սեփականատերերից ուղարկված, կամ փոփոխել իրադարձություններն առանց սեփականատերերի իմացության:"</string> <string name="permdesc_writeCalendar" product="tv" msgid="1273290605500902507">"Թույլ է տալիս հավելվածին ավելացնել, հեռացնել, փոփոխել իրադարձությունները, որոնք կարող եք փոփոխել ձեր հեռուստացույցի մեջ, այդ թվում` ընկերների կամ աշխատակիցների հետ կապված իրադարձությունները: Սա կարող է թույլատրել հավելվածին ուղարկել հաղորդագրություններ, որոնք հայտնվում են օրացույցի սեփականատերերից կամ փոփոխել իրադարձություններն` առանց սեփականատերերի իմացության:"</string> <string name="permdesc_writeCalendar" product="default" msgid="2324469496327249376">"Թույլ է տալիս հավելվածին ավելացնել, հեռացնել, փոխել այն իրադարձությունները, որոնք կարող եք փոփոխել ձեր հեռախոսից, այդ թվում` ընկերների կամ գործընկերների: Սա կարող է թույլ տալ հավելվածին ուղարկել հաղորդագրություններ, որոնք իբրև գալիս են օրացույցի սեփականատիրոջից, կամ փոփոխել իրադարձությունները` առանց սեփականատիրոջ իմացության:"</string> <string name="permlab_accessLocationExtraCommands" msgid="2836308076720553837">"օգտագործել տեղադրություն տրամադրող հավելվյալ հրամաններ"</string> @@ -376,14 +376,14 @@ <string name="permdesc_accessImsCallService" msgid="8992884015198298775">"Թույլ է տալիս հավելվածին IMS ծառայության միջոցով կատարել զանգեր՝ առանց ձեր միջամտության:"</string> <string name="permlab_readPhoneState" msgid="9178228524507610486">"կարդալ հեռախոսի կարգավիճակը և ինքնությունը"</string> <string name="permdesc_readPhoneState" msgid="1639212771826125528">"Թույլ է տալիս հավելվածին օգտագործել սարքի հեռախոսային գործիքները: Այս թույլտվությունը հավելվածին հնարավորություն է տալիս որոշել հեռախոսահամարը և սարքի ID-ները, արդյոք զանգը ակտիվ է և միացված զանգի հեռակա հեռախոսահամարը:"</string> - <string name="permlab_wakeLock" product="tablet" msgid="1531731435011495015">"զերծ պահել գրասալիկը քնելուց"</string> + <string name="permlab_wakeLock" product="tablet" msgid="1531731435011495015">"զերծ պահել պլանշետը քնելուց"</string> <string name="permlab_wakeLock" product="tv" msgid="2601193288949154131">"թույլ չտալ հեռուստացույցին մտնել քնի ռեժիմ"</string> <string name="permlab_wakeLock" product="default" msgid="573480187941496130">"կանխել հեռախոսի քնի ռեժիմին անցնելը"</string> - <string name="permdesc_wakeLock" product="tablet" msgid="7311319824400447868">"Թույլ է տալիս հավելվածին կանխել գրասալիկի` քնի ռեժիմին անցնելը:"</string> + <string name="permdesc_wakeLock" product="tablet" msgid="7311319824400447868">"Թույլ է տալիս հավելվածին կանխել պլանշետի` քնի ռեժիմին անցնելը:"</string> <string name="permdesc_wakeLock" product="tv" msgid="3208534859208996974">"Թույլ է տալիս հավելվածին կանխել, որ հեռուստացույցը մտնի քնի ռեժիմ:"</string> <string name="permdesc_wakeLock" product="default" msgid="8559100677372928754">"Թույլ է տալիս հավելվածին կանխել հեռախոսի` քնի ռեժիմին անցնելը:"</string> <string name="permlab_transmitIr" msgid="7545858504238530105">"փոխանցել ինֆրակարմիր հաղորդիչով"</string> - <string name="permdesc_transmitIr" product="tablet" msgid="5358308854306529170">"Հավելվածին թույլ է տալիս օգտագործել գրասալիկի ինֆրակարմիր հաղորդիչը:"</string> + <string name="permdesc_transmitIr" product="tablet" msgid="5358308854306529170">"Հավելվածին թույլ է տալիս օգտագործել պլանշետի ինֆրակարմիր հաղորդիչը:"</string> <string name="permdesc_transmitIr" product="tv" msgid="3926790828514867101">"Թույլ է տալիս հավելվածին օգտագործել հեռուստացույցի ինֆրակարմիր հաղորդիչը:"</string> <string name="permdesc_transmitIr" product="default" msgid="7957763745020300725">"Հավելվածին թույլ է տալիս օգտագործել հեռախոսի ինֆրակարմիր հաղորդիչը:"</string> <string name="permlab_setWallpaper" msgid="6627192333373465143">"դնել պաստառ"</string> @@ -391,11 +391,11 @@ <string name="permlab_setWallpaperHints" msgid="3278608165977736538">"կարգաբերել ձեր պաստառի չափերը"</string> <string name="permdesc_setWallpaperHints" msgid="8235784384223730091">"Թույլ է տալիս հավելվածին տեղադրել համակարգի պաստառի չափի հուշումները:"</string> <string name="permlab_setTimeZone" msgid="2945079801013077340">"կարգավորել ժամային գոտին"</string> - <string name="permdesc_setTimeZone" product="tablet" msgid="1676983712315827645">"Թույլ է տալիս հավելվածին փոխել գրասալիկի ժամային գոտին:"</string> + <string name="permdesc_setTimeZone" product="tablet" msgid="1676983712315827645">"Թույլ է տալիս հավելվածին փոխել պլանշետի ժամային գոտին:"</string> <string name="permdesc_setTimeZone" product="tv" msgid="888864653946175955">"Թույլ է տալիս հավելվածին փոխել հեռուստացույցի ժամային գոտին:"</string> <string name="permdesc_setTimeZone" product="default" msgid="4499943488436633398">"Թույլ է տալիս հավելվածին փոխել հեռախոսի ժամային գոտին:"</string> <string name="permlab_getAccounts" msgid="1086795467760122114">"գտնել հաշիվներ սարքում"</string> - <string name="permdesc_getAccounts" product="tablet" msgid="2741496534769660027">"Թույլ է տալիս հավելվածին ստանալ գրասալիկի կողմից ճանաչված հաշիվների ցանկը: Սա կարող է ներառել ցանկացած հաշիվ, որ ստեղծվել է ձեր տեղադրած հավելվածների կողմից:"</string> + <string name="permdesc_getAccounts" product="tablet" msgid="2741496534769660027">"Թույլ է տալիս հավելվածին ստանալ պլանշետի կողմից ճանաչված հաշիվների ցանկը: Սա կարող է ներառել ցանկացած հաշիվ, որ ստեղծվել է ձեր տեղադրած հավելվածների կողմից:"</string> <string name="permdesc_getAccounts" product="tv" msgid="4190633395633907543">"Թույլ է տալիս հավելվածին ստանալ հեռուստացույցի կողմից ճանաչված հաշիվների ցանկը: Այս ցանկի մեջ կարող են լինել նաև ձեր տեղադրած հավելվածների կողմից ստեղծված հաշիվները:"</string> <string name="permdesc_getAccounts" product="default" msgid="3448316822451807382">"Թույլ է տալիս հավելվածին ստանալ հեռախոսի կողմից ճանաչված հաշիվների ցանկը: Սա կարող է ներառել ցանկացած հաշիվ, որ ստեղծվել է ձեր տեղադրած հավելվածների կողմից:"</string> <string name="permlab_accessNetworkState" msgid="4951027964348974773">"դիտել ցանցային միացումները"</string> @@ -411,21 +411,21 @@ <string name="permlab_changeWifiState" msgid="6550641188749128035">"միանալ Wi-Fi-ին և անջատվել դրանից"</string> <string name="permdesc_changeWifiState" msgid="7137950297386127533">"Թույլ է տալիս հավելվածին միանալ Wi-Fi մուտքի կետերին և անջատվել այդ կետերից, ինչպես նաև կատարել սարքի կարգավորման փոփոխություններ Wi-Fi ցանցերի համար:"</string> <string name="permlab_changeWifiMulticastState" msgid="1368253871483254784">"թույլատրել Բազմասփյուռ Wi-Fi-ի ընդունումը"</string> - <string name="permdesc_changeWifiMulticastState" product="tablet" msgid="7969774021256336548">"Թույլ է տալիս հավելվածին ստանալ Wi-Fi ցանցի բոլոր սարքերին ուղարկված փաթեթները` օգտագործելով ոչ միայն ձեր գրասալիկը, այլ նաև բազմասփյուռ հասցեները: Այն օգտագործում է ավելի շատ լիցք, քան ոչ բազմասփյուռ ռեժիմը:"</string> + <string name="permdesc_changeWifiMulticastState" product="tablet" msgid="7969774021256336548">"Թույլ է տալիս հավելվածին ստանալ Wi-Fi ցանցի բոլոր սարքերին ուղարկված փաթեթները` օգտագործելով ոչ միայն ձեր պլանշետը, այլ նաև բազմասփյուռ հասցեները: Այն օգտագործում է ավելի շատ լիցք, քան ոչ բազմասփյուռ ռեժիմը:"</string> <string name="permdesc_changeWifiMulticastState" product="tv" msgid="9031975661145014160">"Թույլ է տալիս հավելվածին փաթեթներ ուղարկել Wi-Fi ցանցի բոլոր սարքերին, այլ ոչ միայն հեռուստացույցին: Ավելի շատ հոսանք է ծախսում, քան սովորական ռեժիմում:"</string> <string name="permdesc_changeWifiMulticastState" product="default" msgid="6851949706025349926">"Թույլ է տալիս հավելվածին ստանալ Wi-Fi ցանցի բոլոր սարքերին ուղարկված փաթեթները` օգտագործելով ոչ միայն ձեր հեռախոսը, այլ նաև բազմասփյուռ հասցեները: Այն օգտագործում է ավելի շատ լիցք, քան ոչ բազմասփյուռ ռեժիմը:"</string> <string name="permlab_bluetoothAdmin" msgid="6006967373935926659">"մուտք գործել Bluetooth-ի կարգավորումներ"</string> - <string name="permdesc_bluetoothAdmin" product="tablet" msgid="6921177471748882137">"Թույլ է տալիս հավելվածին կարգավորել տեղային Bluetooth գրասալիկը և հայտնաբերել ու զուգակցվել հեռակա սարքերի հետ:"</string> + <string name="permdesc_bluetoothAdmin" product="tablet" msgid="6921177471748882137">"Թույլ է տալիս հավելվածին կարգավորել տեղային Bluetooth պլանշետը և հայտնաբերել ու զուգակցվել հեռակա սարքերի հետ:"</string> <string name="permdesc_bluetoothAdmin" product="tv" msgid="3373125682645601429">"Թույլ է տալիս հավելվածին կազմաձևել տեղային Bluetooth-ը հեռուստացույցի վրա և հայտնաբերել ու զուգավորվել հեռակա սարքերի հետ:"</string> <string name="permdesc_bluetoothAdmin" product="default" msgid="8931682159331542137">"Թույլ է տալիս հավելվածին կարգավորել տեղային Bluetooth հեռախոսը և հայտնաբերել ու զուգակցվել հեռակա սարքերի հետ:"</string> <string name="permlab_accessWimaxState" msgid="4195907010610205703">"միանալ WiMAX-ին և անջատվել դրանից"</string> <string name="permdesc_accessWimaxState" msgid="6360102877261978887">"Թույլ է տալիս հավելվածին պարզել, արդյոք WiMAX-ը միացված է և ցանկացած միացված WiMAX ցանցի մասին տեղեկություններ:"</string> <string name="permlab_changeWimaxState" msgid="340465839241528618">"փոխել WiMAX-ի կարգավիճակը"</string> - <string name="permdesc_changeWimaxState" product="tablet" msgid="3156456504084201805">"Թույլ է տալիս հավելվածին գրասալիկը միացնել WiMAX ցանցին և անջատվել այդ ցանցից:"</string> + <string name="permdesc_changeWimaxState" product="tablet" msgid="3156456504084201805">"Թույլ է տալիս հավելվածին պլանշետը միացնել WiMAX ցանցին և անջատվել այդ ցանցից:"</string> <string name="permdesc_changeWimaxState" product="tv" msgid="6022307083934827718">"Թույլ է տալիս հավելվածին կապակցել հեռուստացույցը և ապակապակցել այն WiMAX ցանցերից:"</string> <string name="permdesc_changeWimaxState" product="default" msgid="697025043004923798">"Թույլ է տալիս հավելվածին հեռախոսը միացնել WiMAX ցանցին և անջատել այդ ցանցից:"</string> <string name="permlab_bluetooth" msgid="6127769336339276828">"զուգակցվել Bluetooth սարքերի հետ"</string> - <string name="permdesc_bluetooth" product="tablet" msgid="3480722181852438628">"Թույլ է տալիս հավելվածին տեսնել Bluetooth-ի կարգավորումը գրասալիկի վրա և կապվել ու կապեր ընդունել զուգակցված սարքերի հետ:"</string> + <string name="permdesc_bluetooth" product="tablet" msgid="3480722181852438628">"Թույլ է տալիս հավելվածին տեսնել Bluetooth-ի կարգավորումը պլանշետի վրա և կապվել ու կապեր ընդունել զուգակցված սարքերի հետ:"</string> <string name="permdesc_bluetooth" product="tv" msgid="3974124940101104206">"Թույլ է տալիս հավելվածին տեսնել Bluetooth-ի կազմաձևումը հեռուստացույցի վրա և կապակցվել ու թույլ տալ կապակցումները զուգավորված սարքերի հետ:"</string> <string name="permdesc_bluetooth" product="default" msgid="3207106324452312739">"Թույլ է տալիս հավելվածին տեսնել Bluetooth-ի կարգավորումը հեռախոսի վրա և կապվել ու կապեր ընդունել զուգակցված սարքերի հետ:"</string> <string name="permlab_nfc" msgid="4423351274757876953">"վերահսկել Մոտ Տարածությամբ Հաղորդակցումը"</string> @@ -516,10 +516,10 @@ <string name="policylab_limitPassword" msgid="4497420728857585791">"Սահմանել գաղտնաբառի կանոնները"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Կառավարել էկրանի ապակողպման գաղտնաբառերի և PIN կոդերի թույլատրելի երկարությունն ու գրանշանները:"</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Վերահսկել էկրանի ապակողպման փորձերը"</string> - <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Վերահսկել սխալ գաղտնաբառերի թիվը, որոնք մուտքագրվել են էկրանն ապակողպելիս, և կողպել գրասալիկը կամ ջնջել գրասալիկի բոլոր տվյալները, եթե մուտքագրվել են չափից շատ սխալ գաղտնաբառեր:"</string> + <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Վերահսկել սխալ գաղտնաբառերի թիվը, որոնք մուտքագրվել են էկրանն ապակողպելիս, և կողպել պլանշետը կամ ջնջել պլանշետի բոլոր տվյալները, եթե մուտքագրվել են չափից շատ սխալ գաղտնաբառեր:"</string> <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Վերահսկել սխալ գաղտնաբառերի թիվը, որոնք մուտքագրվել են էկրանը ապակողպելիս, և կողպել հեռուստացույցը կամ ջնջել բոլոր տվյալները, եթե չափից ավելի սխալ գաղտնաբառեր են մուտքագրվել:"</string> <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Վերահսկել սխալ գաղտնաբառերի թիվը, որոնք մուտքագրվել են էկրանն ապակողպելիս, և կողպել հեռախոսը կամ ջնջել հեռախոսի բոլոր տվյալները, եթե մուտքագրվել են չափից շատ սխալ գաղտնաբառեր:"</string> - <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Կառավարել էկրանն ապակողպելիս մուտքագրվող սխալ գաղտնաբառերի թիվը և կողպել գրասալիկը կամ ջնջել այս օգտվողի բոլոր տվյալները չափից ավելի սխալ գաղտնաբառեր մուտքագրելու դեպքում:"</string> + <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Կառավարել էկրանն ապակողպելիս մուտքագրվող սխալ գաղտնաբառերի թիվը և կողպել պլանշետը կամ ջնջել այս օգտվողի բոլոր տվյալները չափից ավելի սխալ գաղտնաբառեր մուտքագրելու դեպքում:"</string> <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Կառավարել էկրանն ապակողպելիս մուտքագրվող սխալ գաղտնաբառերի թիվը և կողպել հեռուստացույցը կամ ջնջել այս օգտվողի բոլոր տվյալները չափից ավելի սխալ գաղտնաբառեր մուտքագրելու դեպքում:"</string> <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Կառավարել էկրանն ապակողպելիս մուտքագրվող սխալ գաղտնաբառերի թիվը և կողպել հեռախոսը կամ ջնջել այս օգտվողի բոլոր տվյալները չափից ավելի սխալ գաղտնաբառեր մուտքագրելու դեպքում:"</string> <string name="policylab_resetPassword" msgid="4934707632423915395">"Փոխել էկրանի կողպման գաղտնաբառը"</string> @@ -527,11 +527,11 @@ <string name="policylab_forceLock" msgid="2274085384704248431">"Կողպել էկրանը"</string> <string name="policydesc_forceLock" msgid="1141797588403827138">"Վերահսկել` ինչպես և երբ է էկրանը կողպվում:"</string> <string name="policylab_wipeData" msgid="3910545446758639713">"Ջնջել բոլոր տվյալները"</string> - <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Ջնջել գրասալիկի տվյալներն առանց նախազգուշացման` կատարելով գործարանային տվյալների վերակայում:"</string> + <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Ջնջել պլանշետի տվյալներն առանց նախազգուշացման` կատարելով գործարանային տվյալների վերակայում:"</string> <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Ջնջել հեռուստացույցի տվյալները առանց զգուշացման՝ վերականգնելով գործարանային կարգավորումները:"</string> <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Ջնջել հեռախոսի տվյալներն առանց նախազգուշացման` կատարելով գործարանային տվյալների վերակայում:"</string> <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Ջնջել օգտվողի տվյալները"</string> - <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Ջնջել այս օգտվողի տվյալներն այս գրասալիկում առանց նախազգուշացման:"</string> + <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Ջնջել այս օգտվողի տվյալներն այս պլանշետում առանց նախազգուշացման:"</string> <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Ջնջել այս օգտվողի տվյալներն այս հեռուստացույցում առանց նախազգուշացման:"</string> <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Ջնջել այս օգտվողի տվյալներն այս հեռախոսում առանց նախազգուշացման:"</string> <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Կարգավորել սարքի համաշխարհային պրոքսին"</string> @@ -545,11 +545,11 @@ <string name="policylab_disableKeyguardFeatures" msgid="8552277871075367771">"Անջատել կողպման գործառույթները"</string> <string name="policydesc_disableKeyguardFeatures" msgid="2044755691354158439">"Կանխել էկրանի կողպման որոշ գործառույթների օգտագործումը:"</string> <string-array name="phoneTypes"> - <item msgid="8901098336658710359">"Տնային"</item> + <item msgid="8901098336658710359">"Տուն"</item> <item msgid="869923650527136615">"Բջջային"</item> <item msgid="7897544654242874543">"Աշխատանքային"</item> <item msgid="1103601433382158155">"Աշխատանքային ֆաքս"</item> - <item msgid="1735177144948329370">"Տնային ֆաքս"</item> + <item msgid="1735177144948329370">"Տան ֆաքս"</item> <item msgid="603878674477207394">"Փեյջեր"</item> <item msgid="1650824275177931637">"Այլ"</item> <item msgid="9192514806975898961">"Հատուկ"</item> @@ -561,13 +561,13 @@ <item msgid="2374913952870110618">"Հատուկ"</item> </string-array> <string-array name="postalAddressTypes"> - <item msgid="6880257626740047286">"Տնային"</item> + <item msgid="6880257626740047286">"Տան"</item> <item msgid="5629153956045109251">"Աշխատանքային"</item> <item msgid="4966604264500343469">"Այլ"</item> <item msgid="4932682847595299369">"Հատուկ"</item> </string-array> <string-array name="imAddressTypes"> - <item msgid="1738585194601476694">"Տնային"</item> + <item msgid="1738585194601476694">"Տուն"</item> <item msgid="1359644565647383708">"Աշխատանքային"</item> <item msgid="7868549401053615677">"Այլ"</item> <item msgid="3145118944639869809">"Հատուկ"</item> @@ -588,11 +588,11 @@ <item msgid="1648797903785279353">"Jabber"</item> </string-array> <string name="phoneTypeCustom" msgid="1644738059053355820">"Հատուկ"</string> - <string name="phoneTypeHome" msgid="2570923463033985887">"Տնային"</string> + <string name="phoneTypeHome" msgid="2570923463033985887">"Տուն"</string> <string name="phoneTypeMobile" msgid="6501463557754751037">"Բջջային"</string> <string name="phoneTypeWork" msgid="8863939667059911633">"Աշխատանքային"</string> <string name="phoneTypeFaxWork" msgid="3517792160008890912">"Աշխատանքային ֆաքս"</string> - <string name="phoneTypeFaxHome" msgid="2067265972322971467">"Տնային ֆաքս"</string> + <string name="phoneTypeFaxHome" msgid="2067265972322971467">"Տան ֆաքս"</string> <string name="phoneTypePager" msgid="7582359955394921732">"Փեյջեր"</string> <string name="phoneTypeOther" msgid="1544425847868765990">"Այլ"</string> <string name="phoneTypeCallback" msgid="2712175203065678206">"Ետզանգ"</string> @@ -613,12 +613,12 @@ <string name="eventTypeAnniversary" msgid="3876779744518284000">"Տարեդարձ"</string> <string name="eventTypeOther" msgid="7388178939010143077">"Այլ"</string> <string name="emailTypeCustom" msgid="8525960257804213846">"Հատուկ"</string> - <string name="emailTypeHome" msgid="449227236140433919">"Տնային"</string> + <string name="emailTypeHome" msgid="449227236140433919">"Տուն"</string> <string name="emailTypeWork" msgid="3548058059601149973">"Աշխատանքային"</string> <string name="emailTypeOther" msgid="2923008695272639549">"Այլ"</string> <string name="emailTypeMobile" msgid="119919005321166205">"Բջջային"</string> <string name="postalTypeCustom" msgid="8903206903060479902">"Հատուկ"</string> - <string name="postalTypeHome" msgid="8165756977184483097">"Տնային"</string> + <string name="postalTypeHome" msgid="8165756977184483097">"Տուն"</string> <string name="postalTypeWork" msgid="5268172772387694495">"Աշխատանքային"</string> <string name="postalTypeOther" msgid="2726111966623584341">"Այլ"</string> <string name="imTypeCustom" msgid="2074028755527826046">"Հատուկ"</string> @@ -654,7 +654,7 @@ <string name="relationTypeSister" msgid="1735983554479076481">"Քույր"</string> <string name="relationTypeSpouse" msgid="394136939428698117">"Ամուսին"</string> <string name="sipAddressTypeCustom" msgid="2473580593111590945">"Հատուկ"</string> - <string name="sipAddressTypeHome" msgid="6093598181069359295">"Տնային"</string> + <string name="sipAddressTypeHome" msgid="6093598181069359295">"Տուն"</string> <string name="sipAddressTypeWork" msgid="6920725730797099047">"Աշխատանքային"</string> <string name="sipAddressTypeOther" msgid="4408436162950119849">"Այլ"</string> <string name="quick_contacts_not_available" msgid="746098007828579688">"Այս կոնտակտը դիտելու համար համապատասխան ծրագիր չկա:"</string> @@ -703,10 +703,10 @@ <string name="lockscreen_too_many_failed_attempts_dialog_message" msgid="6481623830344107222">"Դուք <xliff:g id="NUMBER_0">%1$d</xliff:g> անգամ սխալ եք հավաքել ձեր ապակողպման սխեման: \n\nՓորձեք կրկին <xliff:g id="NUMBER_1">%2$d</xliff:g> վայրկյանից:"</string> <string name="lockscreen_too_many_failed_password_attempts_dialog_message" msgid="2725973286239344555">"Դուք սխալ եք մուտքագրել ձեր գաղտնաբառը <xliff:g id="NUMBER_0">%1$d</xliff:g> անգամ: \n\n Փորձեք կրկին <xliff:g id="NUMBER_1">%2$d</xliff:g> վայրկյանից:"</string> <string name="lockscreen_too_many_failed_pin_attempts_dialog_message" msgid="6216672706545696955">"Դուք <xliff:g id="NUMBER_0">%1$d</xliff:g> անգամ սխալ եք մուտքագրել ձեր PIN-ը: \n\nՓորձեք կրկին <xliff:g id="NUMBER_1">%2$d</xliff:g> վայրկյանից:"</string> - <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="9191611984625460820">"Դուք <xliff:g id="NUMBER_0">%1$d</xliff:g> անգամ սխալ եք հավաքել ձեր ապակողպման սխեման: <xliff:g id="NUMBER_1">%2$d</xliff:g> անգամից ավել անհաջող փորձերից հետո ձեզ կառաջարկվի ապակողպել ձեր գրասալիկը` օգտագործելով ձեր Google-ի մուտքի օգտանունը:\n \n Փորձեք կրկին <xliff:g id="NUMBER_2">%3$d</xliff:g> վայրկյանից:"</string> + <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="9191611984625460820">"Դուք <xliff:g id="NUMBER_0">%1$d</xliff:g> անգամ սխալ եք հավաքել ձեր ապակողպման սխեման: <xliff:g id="NUMBER_1">%2$d</xliff:g> անգամից ավել անհաջող փորձերից հետո ձեզ կառաջարկվի ապակողպել ձեր պլանշետը` օգտագործելով ձեր Google-ի մուտքի օգտանունը:\n \n Փորձեք կրկին <xliff:g id="NUMBER_2">%3$d</xliff:g> վայրկյանից:"</string> <string name="lockscreen_failed_attempts_almost_glogin" product="tv" msgid="5316664559603394684">"Դուք <xliff:g id="NUMBER_0">%1$d</xliff:g> անգամ սխալ եք գծել ապակողպման նախշը: Եվս <xliff:g id="NUMBER_1">%2$d</xliff:g> անհաջող փորձից հետո հեռուստացույցը կկարողանաք ապակողպել միայն մուտք գործելով ձեր Google հաշիվ:\n\n Նորից փորձեք <xliff:g id="NUMBER_2">%3$d</xliff:g> վայրկյանից:"</string> <string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="2590227559763762751">"Դուք <xliff:g id="NUMBER_0">%1$d</xliff:g> անգամ սխալ եք հավաքել ձեր ապակողպման սխեման: Եվս <xliff:g id="NUMBER_1">%2$d</xliff:g> անհաջող փորձից հետո ձեզ կառաջարկվի ապակողպել ձեր հեռախոսը` օգտագործելով Google-ի ձեր մուտքը:\n \n Փորձեք կրկին <xliff:g id="NUMBER_2">%3$d</xliff:g> վայրկյանից:"</string> - <string name="lockscreen_failed_attempts_almost_at_wipe" product="tablet" msgid="6128106399745755604">"Դուք <xliff:g id="NUMBER_0">%1$d</xliff:g> անգամ գրասալիկն ապակողպելու սխալ փորձ եք արել: Եվս <xliff:g id="NUMBER_1">%2$d</xliff:g> անհաջող փորձից հետո գրասալիկը կվերակարգավորվի գործարանային լռելյայնի, և օգտվողի բոլոր տվյալները կկորեն:"</string> + <string name="lockscreen_failed_attempts_almost_at_wipe" product="tablet" msgid="6128106399745755604">"Դուք <xliff:g id="NUMBER_0">%1$d</xliff:g> անգամ գրասալիկն ապակողպելու սխալ փորձ եք արել: Եվս <xliff:g id="NUMBER_1">%2$d</xliff:g> անհաջող փորձից հետո պլանշետը կվերակարգավորվի գործարանային լռելյայնի, և օգտվողի բոլոր տվյալները կկորեն:"</string> <string name="lockscreen_failed_attempts_almost_at_wipe" product="tv" msgid="950408382418270260">"Դուք հեռուստացույցն ապակողպելու <xliff:g id="NUMBER_0">%1$d</xliff:g> սխալ փորձ եք կատարել: Եվս <xliff:g id="NUMBER_1">%2$d</xliff:g> անհաջող փորձից հետո հեռուստացույցի գործարանային կարգավորումները կվերականգնվեն և օգտվողի բոլոր տվյալները կջնջվեն:"</string> <string name="lockscreen_failed_attempts_almost_at_wipe" product="default" msgid="8603565142156826565">"Դուք <xliff:g id="NUMBER_0">%1$d</xliff:g> անգամ հեռախոսը ապակողպելու սխալ փորձ եք արել: Եվս <xliff:g id="NUMBER_1">%2$d</xliff:g> անհաջող փորձից հետո հեռախոսը կվերակարգավորվի գործարանային սկզբնադիր ռեժիմի, և օգտվողի բոլոր տվյալները կկորեն:"</string> <string name="lockscreen_failed_attempts_now_wiping" product="tablet" msgid="280873516493934365">"Դուք <xliff:g id="NUMBER">%d</xliff:g> անգամ սխալ փորձ եք արել գրասալիկն ապակողպելու համար: Գրասալիկն այժմ կվերակարգավորվի գործարանային լռելյայնի:"</string> @@ -793,7 +793,7 @@ <string name="permlab_readHistoryBookmarks" msgid="3775265775405106983">"կարդալ ձեր վեբ էջանիշերը և պատմությունը"</string> <string name="permdesc_readHistoryBookmarks" msgid="8462378226600439658">"Թույլ է տալիս հավելվածին կարդալ դիտարկիչի այցելած բոլոր URL-ների պատմությունը և դիտարկիչի բոլոր էջանիշերը: Նշում. այս թույլտվությունը չի կարող գործածվել կողմնակի դիտարկիչների կամ վեբ զննարկման հնարավորություններով այլ հավելվածների կողմից:"</string> <string name="permlab_writeHistoryBookmarks" msgid="3714785165273314490">"գրել վեբ էջանիշերը և պատմությունը"</string> - <string name="permdesc_writeHistoryBookmarks" product="tablet" msgid="6825527469145760922">"Թույլ է տալիս հավելվածին փոփոխել դիտարկիչի պատմությունը կամ ձեր գրասալիկում պահված էջանիշերը: Այն կարող է թույլ տալ հավելվածին ջնջել կամ փոփոխել դիտարկիչի տվյալները: Նշում. այս թույլտվությունը չի կարող գործածվել կողմնակի դիտարկիչների կամ վեբ զննարկման հնարավորություններով այլ հավելվածների կողմից:"</string> + <string name="permdesc_writeHistoryBookmarks" product="tablet" msgid="6825527469145760922">"Թույլ է տալիս հավելվածին փոփոխել դիտարկիչի պատմությունը կամ ձեր պլանշետում պահված էջանիշերը: Այն կարող է թույլ տալ հավելվածին ջնջել կամ փոփոխել դիտարկիչի տվյալները: Նշում. այս թույլտվությունը չի կարող գործածվել կողմնակի դիտարկիչների կամ վեբ զննարկման հնարավորություններով այլ հավելվածների կողմից:"</string> <string name="permdesc_writeHistoryBookmarks" product="tv" msgid="7007393823197766548">"Թույլ է տալիս հավելվածին փոփոխել դիտարկիչի պատմությունը կամ հեռուստացույցում պահված էջանիշները: Սա կարող է թույլ տալ հավելվածին ջնջել կամ փոփոխել դիտարկիչի տվյալները: Ուշադրություն. այս թույլտվությունը չի կարող հարկադրվել երրորդ կողմի դիտարկիչների կամ այլ հավելվածների կողմից, որոնք նույնպես կարողանում են վեբ էջեր բացել:"</string> <string name="permdesc_writeHistoryBookmarks" product="default" msgid="8497389531014185509">"Թույլ է տալիս հավելվածին փոփոխել դիտարկիչի պատմությունը կամ ձեր հեռախոսում պահված էջանիշերը: Այն կարող է թույլ տալ հավելվածին ջնջել կամ փոփոխել դիտարկիչի տվյալները: Նշում. այս թույլտվությունը չի կարող գործածվել կողմնակի դիտարկիչների կամ վեբ զննարկման հնարավորություններով այլ հավելվածների կողմից:"</string> <string name="permlab_setAlarm" msgid="1379294556362091814">"դնել ազդանշան"</string> @@ -821,7 +821,7 @@ <string name="searchview_description_submit" msgid="2688450133297983542">"Ուղարկել հարցումը"</string> <string name="searchview_description_voice" msgid="2453203695674994440">"Ձայնային որոնում"</string> <string name="enable_explore_by_touch_warning_title" msgid="7460694070309730149">"Միացնե՞լ Հպման միջոցով հետազոտումը:"</string> - <string name="enable_explore_by_touch_warning_message" product="tablet" msgid="8655887539089910577">"<xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>-ը ցանկանում է միացնել «Հետազոտում հպման միջոցով» ռեժիմը: Երբ միացված է «Հետազոտում հպման միջոցով» ռեժիմը, դուք կարող եք լսել կամ տեսնել նկարագրությունը, թե ինչ է ձեր մատի տակ, կամ կատարել ժեստեր` գրասալիկի հետ փոխգործակցելու համար:"</string> + <string name="enable_explore_by_touch_warning_message" product="tablet" msgid="8655887539089910577">"<xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>-ը ցանկանում է միացնել «Հետազոտում հպման միջոցով» ռեժիմը: Երբ միացված է «Հետազոտում հպման միջոցով» ռեժիմը, դուք կարող եք լսել կամ տեսնել նկարագրությունը, թե ինչ է ձեր մատի տակ, կամ կատարել ժեստեր` պլանշետի հետ փոխգործակցելու համար:"</string> <string name="enable_explore_by_touch_warning_message" product="default" msgid="2708199672852373195">"<xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>-ը ցանկանում է միացնել «Հետազոտում հպման միջոցով» ռեժիմը: Երբ միացված է «Հետազոտում հպման միջոցով» ռեժիմը, դուք կարող եք լսել կամ տեսնել նկարագրությունը, թե ինչ է ձեր մատի տակ, կամ կատարել ժեստեր` հեռախոսի հետ փոխգործակցելու համար:"</string> <string name="oneMonthDurationPast" msgid="7396384508953779925">"1 ամիս առաջ"</string> <string name="beforeOneMonthDurationPast" msgid="909134546836499826">"Ավելի շուտ քան 1 ամիս"</string> @@ -1373,13 +1373,13 @@ <string name="kg_too_many_failed_pin_attempts_dialog_message" msgid="8276745642049502550">"Դուք <xliff:g id="NUMBER_0">%1$d</xliff:g> անգամ սխալ եք մուտքագրել ձեր PIN-ը: \n\nՓորձեք կրկին <xliff:g id="NUMBER_1">%2$d</xliff:g> վայրկյանից:"</string> <string name="kg_too_many_failed_password_attempts_dialog_message" msgid="7813713389422226531">"Դուք սխալ եք մուտքագրել ձեր գաղտնաբառը <xliff:g id="NUMBER_0">%1$d</xliff:g> անգամ: \n\nՓորձեք կրկին <xliff:g id="NUMBER_1">%2$d</xliff:g> վայրկյանից:"</string> <string name="kg_too_many_failed_pattern_attempts_dialog_message" msgid="74089475965050805">"Դուք <xliff:g id="NUMBER_0">%1$d</xliff:g> անգամ սխալ եք հավաքել ձեր ապակողպման սխեման: \n\nՓորձեք կրկին <xliff:g id="NUMBER_1">%2$d</xliff:g> վայրկյանից:"</string> - <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="1575557200627128949">"Դուք <xliff:g id="NUMBER_0">%1$d</xliff:g> անգամ սխալ փորձ եք արել գրասալիկն ապակողպելու համար: <xliff:g id="NUMBER_1">%2$d</xliff:g> անգամից ավել անհաջող փորձերից հետո գրասալիկը կվերակարգավորվի գործարանային լռելյայնի, և օգտվողի բոլոր տվյալները կկորեն:"</string> + <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="1575557200627128949">"Դուք <xliff:g id="NUMBER_0">%1$d</xliff:g> անգամ սխալ փորձ եք արել գրասալիկն ապակողպելու համար: <xliff:g id="NUMBER_1">%2$d</xliff:g> անգամից ավել անհաջող փորձերից հետո պլանշետը կվերակարգավորվի գործարանային լռելյայնի, և օգտվողի բոլոր տվյալները կկորեն:"</string> <string name="kg_failed_attempts_almost_at_wipe" product="tv" msgid="5621231220154419413">"Դուք հեռուստացույցն ապակողպելու <xliff:g id="NUMBER_0">%1$d</xliff:g> սխալ փորձ եք կատարել: Եվս <xliff:g id="NUMBER_1">%2$d</xliff:g> անհաջող փորձից հետո հեռուստացույցի գործարանային կարգավորումները կվերականգնվեն և օգտվողի բոլոր տվյալները կջնջվեն:"</string> <string name="kg_failed_attempts_almost_at_wipe" product="default" msgid="4051015943038199910">"Դուք <xliff:g id="NUMBER_0">%1$d</xliff:g> անգամ սխալ փորձ եք արել հեռախոսն ապակողպելու համար: <xliff:g id="NUMBER_1">%2$d</xliff:g> անգամից ավել անհաջող փորձերից հետո հեռախոսը կվերակարգավորվի գործարանային լռելյայնի, և օգտվողի բոլոր տվյալները կկորեն:"</string> <string name="kg_failed_attempts_now_wiping" product="tablet" msgid="2072996269148483637">"Դուք <xliff:g id="NUMBER">%d</xliff:g> անգամ սխալ փորձ եք արել գրասալիկն ապակողպելու համար: Գրասալիկն այժմ կվերակարգավորվի գործարանային լռելյայնի:"</string> <string name="kg_failed_attempts_now_wiping" product="tv" msgid="4987878286750741463">"Դուք հեռուստացույցն ապակողպելու <xliff:g id="NUMBER">%d</xliff:g> սխալ փորձ եք կատարել: Այժմ կվերականգնվեն հեռուստացույցի գործարանային կարգավորումները:"</string> <string name="kg_failed_attempts_now_wiping" product="default" msgid="4817627474419471518">"Դուք <xliff:g id="NUMBER">%d</xliff:g> անգամ սխալ փորձ եք արել հեռախոսն ապակողպելու համար: Հեռախոսն այժմ կվերակարգավորվի գործարանային լռելյայնի:"</string> - <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="3253575572118914370">"Դուք սխալ եք հավաքել ձեր ապակողպման սխեման <xliff:g id="NUMBER_0">%1$d</xliff:g> անգամ: Եվս <xliff:g id="NUMBER_1">%2$d</xliff:g> անհաջող փորձից հետո ձեզանից կպահանջվի ապակողպել ձեր գրասալիկը` օգտագործելով էլփոստի հաշիվ:\n\n Փորձեք կրկին <xliff:g id="NUMBER_2">%3$d</xliff:g> վայրկյանից:"</string> + <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="3253575572118914370">"Դուք սխալ եք հավաքել ձեր ապակողպման սխեման <xliff:g id="NUMBER_0">%1$d</xliff:g> անգամ: Եվս <xliff:g id="NUMBER_1">%2$d</xliff:g> անհաջող փորձից հետո ձեզանից կպահանջվի ապակողպել ձեր պլանշետը` օգտագործելով էլփոստի հաշիվ:\n\n Փորձեք կրկին <xliff:g id="NUMBER_2">%3$d</xliff:g> վայրկյանից:"</string> <string name="kg_failed_attempts_almost_at_login" product="tv" msgid="4224651132862313471">"Դուք <xliff:g id="NUMBER_0">%1$d</xliff:g> անգամ սխալ եք գծել ապակողպման նախշը: Եվս <xliff:g id="NUMBER_1">%2$d</xliff:g> անհաջող փորձից հետո հեռուստացույցը կկարողանաք ապակողպել միայն էլփոստի հաշվի միջոցով:\n\n Նորից փորձեք <xliff:g id="NUMBER_2">%3$d</xliff:g> վայրկյանից:"</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="1437638152015574839">"Դուք <xliff:g id="NUMBER_0">%1$d</xliff:g> անգամ սխալ եք հավաքել ձեր ապակողպման նմուշը: <xliff:g id="NUMBER_1">%2$d</xliff:g> անգամից ավել անհաջող փորձերից հետո ձեզ կառաջարկվի ապակողպել ձեր հեռախոսը` օգտագործելով էլփոստի հաշիվ:\n\n Փորձեք կրկին <xliff:g id="NUMBER_2">%3$d</xliff:g> վայրկյանից:"</string> <string name="kg_text_message_separator" product="default" msgid="4160700433287233771">" — "</string> diff --git a/core/res/res/values-in/strings.xml b/core/res/res/values-in/strings.xml index 734355822d96..8e7b87ec89f7 100644 --- a/core/res/res/values-in/strings.xml +++ b/core/res/res/values-in/strings.xml @@ -522,7 +522,7 @@ <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Memantau banyaknya sandi salah yang diketikkan saat membuka kunci layar, dan mengunci tablet atau menghapus semua data pengguna ini jika terlalu banyak sandi salah diketikkan."</string> <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Memantau banyaknya sandi salah yang diketikkan saat membuka kunci layar, dan mengunci TV atau menghapus semua data pengguna ini jika terlalu banyak sandi salah diketikkan."</string> <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Memantau banyaknya sandi salah yang diketikkan saat membuka kunci layar, dan mengunci ponsel atau menghapus semua data pengguna ini jika terlalu banyak sandi salah diketikkan."</string> - <string name="policylab_resetPassword" msgid="4934707632423915395">"Mengubah kunci layar"</string> + <string name="policylab_resetPassword" msgid="4934707632423915395">"Ubah kunci layar"</string> <string name="policydesc_resetPassword" msgid="1278323891710619128">"Mengubah kunci layar."</string> <string name="policylab_forceLock" msgid="2274085384704248431">"Kunci layar"</string> <string name="policydesc_forceLock" msgid="1141797588403827138">"Kontrol cara dan kapan layar mengunci."</string> @@ -694,7 +694,7 @@ <string name="lockscreen_transport_stop_description" msgid="5907083260651210034">"Berhenti"</string> <string name="lockscreen_transport_rew_description" msgid="6944412838651990410">"Putar Ulang"</string> <string name="lockscreen_transport_ffw_description" msgid="42987149870928985">"Maju cepat"</string> - <string name="emergency_calls_only" msgid="6733978304386365407">"Panggilan darurat saja"</string> + <string name="emergency_calls_only" msgid="6733978304386365407">"Telepon urgen saja"</string> <string name="lockscreen_network_locked_message" msgid="143389224986028501">"Jaringan terkunci"</string> <string name="lockscreen_sim_puk_locked_message" msgid="7441797339976230">"Kartu SIM terkunci PUK."</string> <string name="lockscreen_sim_puk_locked_instructions" msgid="8127916255245181063">"Lihatlah Panduan Pengguna atau hubungi Layanan Pelanggan."</string> @@ -1236,7 +1236,7 @@ <string name="sync_do_nothing" msgid="3743764740430821845">"Jangan lakukan apa pun untuk saat ini"</string> <string name="choose_account_label" msgid="5655203089746423927">"Pilih akun"</string> <string name="add_account_label" msgid="2935267344849993553">"Tambahkan akun"</string> - <string name="add_account_button_label" msgid="3611982894853435874">"Tambahkan akun"</string> + <string name="add_account_button_label" msgid="3611982894853435874">"Tambah akun"</string> <string name="number_picker_increment_button" msgid="2412072272832284313">"Tambah"</string> <string name="number_picker_decrement_button" msgid="476050778386779067">"Kurangi"</string> <string name="number_picker_increment_scroll_mode" msgid="5259126567490114216">"<xliff:g id="VALUE">%s</xliff:g> sentuh & tahan."</string> diff --git a/core/res/res/values-is-rIS/strings.xml b/core/res/res/values-is-rIS/strings.xml index 91de51ddca15..3ca3039e2bc4 100644 --- a/core/res/res/values-is-rIS/strings.xml +++ b/core/res/res/values-is-rIS/strings.xml @@ -1024,7 +1024,7 @@ <string name="volume_icon_description_notification" msgid="7044986546477282274">"Hljóðstyrkur tilkynninga"</string> <string name="ringtone_default" msgid="3789758980357696936">"Sjálfgefinn hringitónn"</string> <string name="ringtone_default_with_actual" msgid="8129563480895990372">"Sjálfgefinn hringitónn (<xliff:g id="ACTUAL_RINGTONE">%1$s</xliff:g>)"</string> - <string name="ringtone_silent" msgid="7937634392408977062">"Enginn"</string> + <string name="ringtone_silent" msgid="7937634392408977062">"Ekkert"</string> <string name="ringtone_picker_title" msgid="3515143939175119094">"Hringitónar"</string> <string name="ringtone_unknown" msgid="5477919988701784788">"Óþekktur hringitónn"</string> <plurals name="wifi_available" formatted="false" msgid="7900333017752027322"> diff --git a/core/res/res/values-it/strings.xml b/core/res/res/values-it/strings.xml index 69632747e685..e96927dfecf6 100644 --- a/core/res/res/values-it/strings.xml +++ b/core/res/res/values-it/strings.xml @@ -595,13 +595,13 @@ <string name="phoneTypeFaxHome" msgid="2067265972322971467">"Fax casa"</string> <string name="phoneTypePager" msgid="7582359955394921732">"Cercapersone"</string> <string name="phoneTypeOther" msgid="1544425847868765990">"Altro"</string> - <string name="phoneTypeCallback" msgid="2712175203065678206">"Callback"</string> + <string name="phoneTypeCallback" msgid="2712175203065678206">"Richiamata"</string> <string name="phoneTypeCar" msgid="8738360689616716982">"Automobile"</string> - <string name="phoneTypeCompanyMain" msgid="540434356461478916">"Azienda, principale"</string> + <string name="phoneTypeCompanyMain" msgid="540434356461478916">"Azienda (principale)"</string> <string name="phoneTypeIsdn" msgid="8022453193171370337">"ISDN"</string> <string name="phoneTypeMain" msgid="6766137010628326916">"Principale"</string> <string name="phoneTypeOtherFax" msgid="8587657145072446565">"Altro fax"</string> - <string name="phoneTypeRadio" msgid="4093738079908667513">"Segnale radio"</string> + <string name="phoneTypeRadio" msgid="4093738079908667513">"Radio"</string> <string name="phoneTypeTelex" msgid="3367879952476250512">"Telex"</string> <string name="phoneTypeTtyTdd" msgid="8606514378585000044">"TTY TDD"</string> <string name="phoneTypeWorkMobile" msgid="1311426989184065709">"Cellulare lavoro"</string> @@ -1587,8 +1587,8 @@ <string name="maximize_button_text" msgid="7543285286182446254">"Ingrandisci"</string> <string name="close_button_text" msgid="3937902162644062866">"Chiudi"</string> <plurals name="selected_count" formatted="false" msgid="7187339492915744615"> - <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> elementi selezionati</item> - <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> elemento selezionato</item> + <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> file selezionati</item> + <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> file selezionato</item> </plurals> <string name="importance_from_user" msgid="7318955817386549931">"Stabilisci tu l\'importanza di queste notifiche."</string> <string name="importance_from_person" msgid="9160133597262938296">"Importante a causa delle persone coinvolte."</string> diff --git a/core/res/res/values-ja/strings.xml b/core/res/res/values-ja/strings.xml index d50e467a5e7f..9618f44d1e56 100644 --- a/core/res/res/values-ja/strings.xml +++ b/core/res/res/values-ja/strings.xml @@ -297,7 +297,7 @@ <string name="permlab_readSms" msgid="8745086572213270480">"テキストメッセージ(SMSまたはMMS)の読み取り"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"タブレットまたはSIMカードに保存されているSMSメッセージの読み取りをアプリに許可します。これにより、すべてのSMSメッセージをコンテンツや機密性に関係なくアプリから読み取ることができるようになります。"</string> <string name="permdesc_readSms" product="tv" msgid="5102425513647038535">"テレビまたはSIMカードに保存されているSMSメッセージの読み取りをアプリに許可します。これにより、すべてのSMSメッセージをコンテンツや機密性に関係なくアプリから読み取ることができるようになります。"</string> - <string name="permdesc_readSms" product="default" msgid="3695967533457240550">"携帯端末またはSIMカードに保存されているSMSメッセージの読み取りをアプリに許可します。これにより、すべてのSMSメッセージをコンテンツや機密性に関係なくアプリから読み取ることができるようになります。"</string> + <string name="permdesc_readSms" product="default" msgid="3695967533457240550">"モバイル端末またはSIMカードに保存されているSMSメッセージの読み取りをアプリに許可します。これにより、すべてのSMSメッセージをコンテンツや機密性に関係なくアプリから読み取ることができるようになります。"</string> <string name="permlab_receiveWapPush" msgid="5991398711936590410">"テキストメッセージ(WAP)の受信"</string> <string name="permdesc_receiveWapPush" msgid="748232190220583385">"WAPメッセージの受信と処理をアプリに許可します。これにより、アプリが端末に届いたメッセージを表示することなく監視または削除できるようになります。"</string> <string name="permlab_getTasks" msgid="6466095396623933906">"実行中のアプリの取得"</string> @@ -315,7 +315,7 @@ <string name="permlab_persistentActivity" msgid="8841113627955563938">"アプリの常時実行"</string> <string name="permdesc_persistentActivity" product="tablet" msgid="8525189272329086137">"アプリにその一部をメモリに常駐させることを許可します。これにより他のアプリが使用できるメモリが制限されるため、タブレットの動作が遅くなることがあります。"</string> <string name="permdesc_persistentActivity" product="tv" msgid="5086862529499103587">"アプリにその一部をメモリに常駐させることを許可します。これにより他のアプリが使用できるメモリが制限されるため、テレビの動作が遅くなることがあります。"</string> - <string name="permdesc_persistentActivity" product="default" msgid="4384760047508278272">"アプリにその一部をメモリに常駐させることを許可します。これにより他のアプリが使用できるメモリが制限されるため、携帯端末の動作が遅くなることがあります。"</string> + <string name="permdesc_persistentActivity" product="default" msgid="4384760047508278272">"アプリにその一部をメモリに常駐させることを許可します。これにより他のアプリが使用できるメモリが制限されるため、モバイル端末の動作が遅くなることがあります。"</string> <string name="permlab_getPackageSize" msgid="7472921768357981986">"アプリのストレージ容量の計測"</string> <string name="permdesc_getPackageSize" msgid="3921068154420738296">"アプリのコード、データ、キャッシュサイズを取得することをアプリに許可します"</string> <string name="permlab_writeSettings" msgid="2226195290955224730">"システム設定の変更"</string> @@ -323,37 +323,37 @@ <string name="permlab_receiveBootCompleted" msgid="5312965565987800025">"起動時の実行"</string> <string name="permdesc_receiveBootCompleted" product="tablet" msgid="7390304664116880704">"システムの起動後に自動的に起動することをアプリに許可します。許可すると、タブレットの起動時間が長くなったり、アプリが常に実行されるためにタブレット全体の動作が遅くなったりする可能性があります。"</string> <string name="permdesc_receiveBootCompleted" product="tv" msgid="4525890122209673621">"システムの起動後に自動的に起動することをアプリに許可します。許可すると、テレビの起動時間が長くなったり、アプリが常に実行されるためにテレビ全体の動作が遅くなったりする可能性があります。"</string> - <string name="permdesc_receiveBootCompleted" product="default" msgid="513950589102617504">"システムの起動後に自動的に起動することをアプリに許可します。許可すると、携帯端末の起動時間が長くなったり、アプリが常に実行されるために携帯端末全体の動作が遅くなったりする可能性があります。"</string> + <string name="permdesc_receiveBootCompleted" product="default" msgid="513950589102617504">"システムの起動後に自動的に起動することをアプリに許可します。許可すると、モバイル端末の起動時間が長くなったり、アプリが常に実行されるためにモバイル端末全体の動作が遅くなったりする可能性があります。"</string> <string name="permlab_broadcastSticky" msgid="7919126372606881614">"stickyブロードキャストの配信"</string> <string name="permdesc_broadcastSticky" product="tablet" msgid="7749760494399915651">"配信が終了してもメモリに残るstickyブロードキャストの配信をアプリに許可します。この許可を使用し過ぎると、メモリの使用量が増えてタブレットの動作が遅くなったり不安定になったりする恐れがあります。"</string> <string name="permdesc_broadcastSticky" product="tv" msgid="6839285697565389467">"配信が終了してもメモリに残るstickyブロードキャストの配信をアプリに許可します。この許可を使用し過ぎると、メモリの使用量が増えてテレビの動作が遅くなったり不安定になったりする恐れがあります。"</string> - <string name="permdesc_broadcastSticky" product="default" msgid="2825803764232445091">"配信が終了してもメモリに残るstickyブロードキャストの配信をアプリに許可します。この許可を使用し過ぎると、メモリの使用量が増えて携帯端末の動作が遅くなったり不安定になったりする恐れがあります。"</string> + <string name="permdesc_broadcastSticky" product="default" msgid="2825803764232445091">"配信が終了してもメモリに残るstickyブロードキャストの配信をアプリに許可します。この許可を使用し過ぎると、メモリの使用量が増えてモバイル端末の動作が遅くなったり不安定になったりする恐れがあります。"</string> <string name="permlab_readContacts" msgid="8348481131899886131">"連絡先の読み取り"</string> <string name="permdesc_readContacts" product="tablet" msgid="5294866856941149639">"タブレットに保存されている連絡先に関するデータの読み取りをアプリに許可します。このデータには、電話、メール、または他の手段で特定の相手と連絡をとった頻度も含まれます。これにより、アプリに連絡先データの保存を許可することになり、悪意のあるアプリによって知らないうちに連絡先データが共有される恐れがあります。"</string> <string name="permdesc_readContacts" product="tv" msgid="1839238344654834087">"テレビに保存されている連絡先に関するデータの読み取りをアプリに許可します。このデータには、電話、メール、または他の手段で特定の相手と連絡をとった頻度も含まれます。これにより、アプリに連絡先データの保存を許可することになり、悪意のあるアプリによって知らないうちに連絡先データが共有される恐れがあります。"</string> - <string name="permdesc_readContacts" product="default" msgid="8440654152457300662">"携帯端末に保存されている連絡先に関するデータの読み取りをアプリに許可します。このデータには、電話、メール、または他の手段で特定の相手と連絡をとった頻度も含まれます。これにより、アプリに連絡先データの保存を許可することになり、悪意のあるアプリによって知らないうちに連絡先データが共有される恐れがあります。"</string> + <string name="permdesc_readContacts" product="default" msgid="8440654152457300662">"モバイル端末に保存されている連絡先に関するデータの読み取りをアプリに許可します。このデータには、電話、メール、または他の手段で特定の相手と連絡をとった頻度も含まれます。これにより、アプリに連絡先データの保存を許可することになり、悪意のあるアプリによって知らないうちに連絡先データが共有される恐れがあります。"</string> <string name="permlab_writeContacts" msgid="5107492086416793544">"連絡先の変更"</string> <string name="permdesc_writeContacts" product="tablet" msgid="897243932521953602">"タブレットに保存されている連絡先に関するデータの変更をアプリに許可します。このデータには、電話、メール、または他の手段で特定の相手と連絡をとった頻度も含まれます。これにより、アプリが連絡先データを削除できるようになります。"</string> <string name="permdesc_writeContacts" product="tv" msgid="5438230957000018959">"テレビに保存されている連絡先に関するデータの変更をアプリに許可します。このデータには、電話、メール、または他の手段で特定の相手と連絡をとった頻度も含まれます。これにより、アプリが連絡先データを削除できるようになります。"</string> - <string name="permdesc_writeContacts" product="default" msgid="589869224625163558">"携帯端末に保存されている連絡先に関するデータの変更をアプリに許可します。このデータには、電話、メール、または他の手段で特定の相手と連絡をとった頻度も含まれます。これにより、アプリが連絡先データを削除できるようになります。"</string> + <string name="permdesc_writeContacts" product="default" msgid="589869224625163558">"モバイル端末に保存されている連絡先に関するデータの変更をアプリに許可します。このデータには、電話、メール、または他の手段で特定の相手と連絡をとった頻度も含まれます。これにより、アプリが連絡先データを削除できるようになります。"</string> <string name="permlab_readCallLog" msgid="3478133184624102739">"通話履歴の読み取り"</string> <string name="permdesc_readCallLog" product="tablet" msgid="3700645184870760285">"タブレットの通話履歴(着信や発信のデータなど)の読み取りをアプリに許可します。これにより、アプリに通話履歴データの保存を許可することになり、悪意のあるアプリによって知らないうちに通話履歴データが共有される恐れがあります。"</string> <string name="permdesc_readCallLog" product="tv" msgid="5611770887047387926">"テレビの通話履歴(着信や発信のデータなど)の読み取りをアプリに許可します。これにより、アプリに通話履歴データの保存を許可することになり、悪意のあるアプリによって知らないうちに通話履歴データが共有される恐れがあります。"</string> - <string name="permdesc_readCallLog" product="default" msgid="5777725796813217244">"携帯端末の通話履歴(着信や発信のデータなど)の読み取りをアプリに許可します。これにより、アプリに通話履歴データの保存を許可することになり、悪意のあるアプリによって知らないうちに通話履歴データが共有される恐れがあります。"</string> + <string name="permdesc_readCallLog" product="default" msgid="5777725796813217244">"モバイル端末の通話履歴(着信や発信のデータなど)の読み取りをアプリに許可します。これにより、アプリに通話履歴データの保存を許可することになり、悪意のあるアプリによって知らないうちに通話履歴データが共有される恐れがあります。"</string> <string name="permlab_writeCallLog" msgid="8552045664743499354">"通話履歴の書き込み"</string> <string name="permdesc_writeCallLog" product="tablet" msgid="6661806062274119245">"タブレットの通話履歴(着信や発信のデータなど)の変更をアプリに許可します。この許可を悪意のあるアプリに利用されると、通話履歴が消去または変更される恐れがあります。"</string> <string name="permdesc_writeCallLog" product="tv" msgid="4225034892248398019">"テレビの通話履歴(着信や発信のデータなど)の変更をアプリに許可します。この許可を悪意のあるアプリに利用されると、通話履歴が消去または変更される恐れがあります。"</string> - <string name="permdesc_writeCallLog" product="default" msgid="683941736352787842">"携帯端末の通話履歴(着信や発信のデータなど)の変更をアプリに許可します。この許可を悪意のあるアプリに利用されると、通話履歴が消去または変更される恐れがあります。"</string> + <string name="permdesc_writeCallLog" product="default" msgid="683941736352787842">"モバイル端末の通話履歴(着信や発信のデータなど)の変更をアプリに許可します。この許可を悪意のあるアプリに利用されると、通話履歴が消去または変更される恐れがあります。"</string> <string name="permlab_bodySensors" msgid="4683341291818520277">"ボディーセンサー(心拍数モニターなど)へのアクセス"</string> <string name="permdesc_bodySensors" product="default" msgid="4380015021754180431">"心拍数など、身体状態を監視するセンサーからのデータにアクセスすることをアプリに許可します。"</string> <string name="permlab_readCalendar" msgid="5972727560257612398">"カレンダーの予定と機密情報の読み取り"</string> <string name="permdesc_readCalendar" product="tablet" msgid="4216462049057658723">"タブレットに保存されているカレンダーの予定(友だちや同僚の予定も含めすべて)を読み取ることをアプリに許可します。これにより、アプリがカレンダーのデータを機密性に関係なく共有または保存できるようになる可能性があります。"</string> <string name="permdesc_readCalendar" product="tv" msgid="3191352452242394196">"テレビに保存されているカレンダーの予定(友だちや同僚の予定も含めすべて)を読み取ることをアプリに許可します。これにより、アプリがカレンダーのデータを機密性に関係なく共有または保存できるようになる可能性があります。"</string> - <string name="permdesc_readCalendar" product="default" msgid="7434548682470851583">"携帯端末に保存されているカレンダーの予定(友だちや同僚の予定も含めすべて)を読み取ることをアプリに許可します。これにより、アプリがカレンダーのデータを機密性に関係なく共有または保存できるようになる可能性があります。"</string> + <string name="permdesc_readCalendar" product="default" msgid="7434548682470851583">"モバイル端末に保存されているカレンダーの予定(友だちや同僚の予定も含めすべて)を読み取ることをアプリに許可します。これにより、アプリがカレンダーのデータを機密性に関係なく共有または保存できるようになる可能性があります。"</string> <string name="permlab_writeCalendar" msgid="8438874755193825647">"カレンダーの予定の変更や追加を行う、所有者に通知せずにゲストにメールを送信する場合がある"</string> <string name="permdesc_writeCalendar" product="tablet" msgid="6679035520113668528">"ユーザーがタブレットから編集できる予定(友だちや同僚の予定も含む)を追加、削除、変更することをアプリに許可します。これによりアプリは、カレンダーの所有者から発信されたかのようなメッセージを送信したり、所有者の知らないうちに予定を変更したりできるようになる可能性があります。"</string> <string name="permdesc_writeCalendar" product="tv" msgid="1273290605500902507">"ユーザーがテレビから編集できる予定(友だちや同僚の予定も含む)を追加、削除、変更することをアプリに許可します。これによりアプリは、カレンダーの所有者から発信されたかのようなメッセージを送信したり、所有者の知らないうちに予定を変更したりできるようになる可能性があります。"</string> - <string name="permdesc_writeCalendar" product="default" msgid="2324469496327249376">"ユーザーが携帯端末から編集できる予定(友だちや同僚の予定も含む)を追加、削除、変更することをアプリに許可します。これによりアプリは、カレンダーの所有者から発信されたかのようなメッセージを送信したり、所有者の知らないうちに予定を変更したりできるようになる可能性があります。"</string> + <string name="permdesc_writeCalendar" product="default" msgid="2324469496327249376">"ユーザーがモバイル端末から編集できる予定(友だちや同僚の予定も含む)を追加、削除、変更することをアプリに許可します。これによりアプリは、カレンダーの所有者から発信されたかのようなメッセージを送信したり、所有者の知らないうちに予定を変更したりできるようになる可能性があります。"</string> <string name="permlab_accessLocationExtraCommands" msgid="2836308076720553837">"位置情報提供者の追加コマンドアクセス"</string> <string name="permdesc_accessLocationExtraCommands" msgid="6078307221056649927">"位置情報提供元の追加のコマンドにアクセスすることをアプリに許可します。許可すると、アプリがGPSなどの位置情報源の動作を妨害する恐れがあります。"</string> <string name="permlab_accessFineLocation" msgid="251034415460950944">"正確な位置情報(GPSとネットワーク基地局)へのアクセス"</string> @@ -381,7 +381,7 @@ <string name="permlab_wakeLock" product="default" msgid="573480187941496130">"端末のスリープを無効にする"</string> <string name="permdesc_wakeLock" product="tablet" msgid="7311319824400447868">"タブレットのスリープを無効にすることをアプリに許可します。"</string> <string name="permdesc_wakeLock" product="tv" msgid="3208534859208996974">"テレビのスリープを無効にすることをアプリに許可します。"</string> - <string name="permdesc_wakeLock" product="default" msgid="8559100677372928754">"携帯端末のスリープを無効にすることをアプリに許可します。"</string> + <string name="permdesc_wakeLock" product="default" msgid="8559100677372928754">"モバイル端末のスリープを無効にすることをアプリに許可します。"</string> <string name="permlab_transmitIr" msgid="7545858504238530105">"赤外線の送信"</string> <string name="permdesc_transmitIr" product="tablet" msgid="5358308854306529170">"タブレットの赤外線送信機能の使用をアプリに許可します。"</string> <string name="permdesc_transmitIr" product="tv" msgid="3926790828514867101">"テレビの赤外線送信機能の使用をアプリに許可します。"</string> @@ -393,11 +393,11 @@ <string name="permlab_setTimeZone" msgid="2945079801013077340">"タイムゾーンの設定"</string> <string name="permdesc_setTimeZone" product="tablet" msgid="1676983712315827645">"タブレットのタイムゾーンの変更をアプリに許可します。"</string> <string name="permdesc_setTimeZone" product="tv" msgid="888864653946175955">"テレビのタイムゾーンの変更をアプリに許可します。"</string> - <string name="permdesc_setTimeZone" product="default" msgid="4499943488436633398">"携帯端末のタイムゾーンの変更をアプリに許可します。"</string> + <string name="permdesc_setTimeZone" product="default" msgid="4499943488436633398">"モバイル端末のタイムゾーンの変更をアプリに許可します。"</string> <string name="permlab_getAccounts" msgid="1086795467760122114">"この端末上のアカウントの検索"</string> <string name="permdesc_getAccounts" product="tablet" msgid="2741496534769660027">"タブレットで認識されているアカウントのリストの取得をアプリに許可します。これには、インストールしたアプリによって作成されたアカウントも含まれます。"</string> <string name="permdesc_getAccounts" product="tv" msgid="4190633395633907543">"テレビで認識されているアカウントのリストの取得をアプリに許可します。これには、インストールしたアプリによって作成されたアカウントも含まれます。"</string> - <string name="permdesc_getAccounts" product="default" msgid="3448316822451807382">"携帯端末で認識されているアカウントのリストの取得をアプリに許可します。これには、インストールしたアプリによって作成されたアカウントも含まれます。"</string> + <string name="permdesc_getAccounts" product="default" msgid="3448316822451807382">"モバイル端末で認識されているアカウントのリストの取得をアプリに許可します。これには、インストールしたアプリによって作成されたアカウントも含まれます。"</string> <string name="permlab_accessNetworkState" msgid="4951027964348974773">"ネットワーク接続の表示"</string> <string name="permdesc_accessNetworkState" msgid="8318964424675960975">"存在するネットワークや接続しているネットワークなど、ネットワーク接続に関する情報を表示することをアプリに許可します。"</string> <string name="permlab_createNetworkSockets" msgid="7934516631384168107">"ネットワークへのフルアクセス"</string> @@ -413,21 +413,21 @@ <string name="permlab_changeWifiMulticastState" msgid="1368253871483254784">"Wi-Fiマルチキャストの受信を許可する"</string> <string name="permdesc_changeWifiMulticastState" product="tablet" msgid="7969774021256336548">"マルチキャストアドレスを使用して、このタブレットだけでなくWi-Fiネットワーク上のすべてのデバイスに送信されたパケットを受信することをアプリに許可します。マルチキャスト以外のモードよりも電池の消費量が大きくなります。"</string> <string name="permdesc_changeWifiMulticastState" product="tv" msgid="9031975661145014160">"マルチキャストアドレスを使用して、このテレビだけでなくWi-Fiネットワーク上のすべてのデバイスに送信されたパケットを受信することをアプリに許可します。マルチキャスト以外のモードよりも電池の消費量が大きくなります。"</string> - <string name="permdesc_changeWifiMulticastState" product="default" msgid="6851949706025349926">"マルチキャストアドレスを使用して、この携帯端末だけでなくWi-Fiネットワーク上のすべてのデバイスに送信されたパケットを受信することをアプリに許可します。マルチキャスト以外のモードよりも電池の消費量が大きくなります。"</string> + <string name="permdesc_changeWifiMulticastState" product="default" msgid="6851949706025349926">"マルチキャストアドレスを使用して、このモバイル端末だけでなくWi-Fiネットワーク上のすべてのデバイスに送信されたパケットを受信することをアプリに許可します。マルチキャスト以外のモードよりも電池の消費量が大きくなります。"</string> <string name="permlab_bluetoothAdmin" msgid="6006967373935926659">"Bluetoothの設定へのアクセス"</string> <string name="permdesc_bluetoothAdmin" product="tablet" msgid="6921177471748882137">"ローカルのBluetoothタブレットを設定することと、リモート端末を検出してペアに設定することをアプリに許可します。"</string> <string name="permdesc_bluetoothAdmin" product="tv" msgid="3373125682645601429">"ローカルのBluetoothテレビを設定することと、リモート端末を検出してペア設定することをアプリに許可します。"</string> - <string name="permdesc_bluetoothAdmin" product="default" msgid="8931682159331542137">"ローカルのBluetooth携帯端末を設定することと、リモート端末を検出してペアに設定することをアプリに許可します。"</string> + <string name="permdesc_bluetoothAdmin" product="default" msgid="8931682159331542137">"ローカルのBluetoothモバイル端末を設定することと、リモート端末を検出してペアに設定することをアプリに許可します。"</string> <string name="permlab_accessWimaxState" msgid="4195907010610205703">"WiMAXへの接続と切断"</string> <string name="permdesc_accessWimaxState" msgid="6360102877261978887">"WiMAXがONになっているかどうかを識別し、接続されているWiMAXネットワークの情報を表示することをアプリに許可します。"</string> <string name="permlab_changeWimaxState" msgid="340465839241528618">"WiMAX状態の変更"</string> <string name="permdesc_changeWimaxState" product="tablet" msgid="3156456504084201805">"タブレットのWiMAXネットワークへの接続と切断をアプリに許可します。"</string> <string name="permdesc_changeWimaxState" product="tv" msgid="6022307083934827718">"テレビのWiMAXネットワークへの接続と切断をアプリに許可します。"</string> - <string name="permdesc_changeWimaxState" product="default" msgid="697025043004923798">"携帯端末のWiMAXネットワークへの接続と切断をアプリに許可します。"</string> + <string name="permdesc_changeWimaxState" product="default" msgid="697025043004923798">"モバイル端末のWiMAXネットワークへの接続と切断をアプリに許可します。"</string> <string name="permlab_bluetooth" msgid="6127769336339276828">"Bluetoothデバイスのペアの設定"</string> <string name="permdesc_bluetooth" product="tablet" msgid="3480722181852438628">"タブレットのBluetooth設定を表示すること、ペアの端末に接続すること/ペアの端末からの接続を受け入れることをアプリに許可します。"</string> <string name="permdesc_bluetooth" product="tv" msgid="3974124940101104206">"テレビのBluetooth設定を表示すること、ペア設定した端末に接続すること、ペア設定した端末からの接続を受け入れることをアプリに許可します。"</string> - <string name="permdesc_bluetooth" product="default" msgid="3207106324452312739">"携帯端末のBluetooth設定を表示すること、ペアの端末に接続すること/ペアの端末からの接続を受け入れることをアプリに許可します。"</string> + <string name="permdesc_bluetooth" product="default" msgid="3207106324452312739">"モバイル端末のBluetooth設定を表示すること、ペアの端末に接続すること/ペアの端末からの接続を受け入れることをアプリに許可します。"</string> <string name="permlab_nfc" msgid="4423351274757876953">"NFCの管理"</string> <string name="permdesc_nfc" msgid="7120611819401789907">"NFCタグ、カード、リーダーとの通信をアプリに許可します。"</string> <string name="permlab_disableKeyguard" msgid="3598496301486439258">"画面ロックの無効化"</string> @@ -518,7 +518,7 @@ <string name="policylab_watchLogin" msgid="914130646942199503">"画面ロック解除試行の監視"</string> <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"画面のロック解除に正しくないパスワードを入力した回数を監視し、回数が多すぎる場合はタブレットをロックするかタブレットのデータをすべて消去します。"</string> <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"画面のロック解除に入力したパスワードが間違っていた回数を監視し、回数が多すぎる場合はテレビをロックするかテレビのデータをすべて消去します。"</string> - <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"画面のロック解除に正しくないパスワードを入力した回数を監視し、回数が多すぎる場合は携帯端末をロックするか携帯端末のデータをすべて消去します。"</string> + <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"画面のロック解除に正しくないパスワードを入力した回数を監視し、回数が多すぎる場合はモバイル端末をロックするかモバイル端末のデータをすべて消去します。"</string> <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"画面のロック解除の際に入力したパスワードが間違っていた回数を監視し、回数が多すぎる場合はタブレットをロックするかこのユーザーのデータをすべて消去します。"</string> <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"画面のロック解除の際に入力したパスワードが間違っていた回数を監視し、回数が多すぎる場合はテレビをロックするかこのユーザーのデータをすべて消去します。"</string> <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"画面のロック解除の際に入力したパスワードが間違っていた回数を監視し、回数が多すぎる場合はスマートフォンをロックするかこのユーザーのデータをすべて消去します。"</string> @@ -705,7 +705,7 @@ <string name="lockscreen_too_many_failed_pin_attempts_dialog_message" msgid="6216672706545696955">"正しくないPINを<xliff:g id="NUMBER_0">%1$d</xliff:g>回入力しました。\n\n<xliff:g id="NUMBER_1">%2$d</xliff:g>秒後にもう一度お試しください。"</string> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="9191611984625460820">"ロック解除パターンの入力を<xliff:g id="NUMBER_0">%1$d</xliff:g>回間違えました。あと<xliff:g id="NUMBER_1">%2$d</xliff:g>回間違えると、タブレットのロック解除にGoogleへのログインが必要になります。\n\n<xliff:g id="NUMBER_2">%3$d</xliff:g>秒後にもう一度お試しください。"</string> <string name="lockscreen_failed_attempts_almost_glogin" product="tv" msgid="5316664559603394684">"ロック解除パターンの入力を<xliff:g id="NUMBER_0">%1$d</xliff:g>回間違えました。あと<xliff:g id="NUMBER_1">%2$d</xliff:g>回間違えると、テレビのロック解除にGoogleへのログインが必要になります。\n\n<xliff:g id="NUMBER_2">%3$d</xliff:g>秒以内にもう一度お試しください。"</string> - <string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="2590227559763762751">"ロック解除パターンの入力を<xliff:g id="NUMBER_0">%1$d</xliff:g>回間違えました。あと<xliff:g id="NUMBER_1">%2$d</xliff:g>回間違えると、携帯端末のロック解除にGoogleへのログインが必要になります。\n\n<xliff:g id="NUMBER_2">%3$d</xliff:g>秒後にもう一度お試しください。"</string> + <string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="2590227559763762751">"ロック解除パターンの入力を<xliff:g id="NUMBER_0">%1$d</xliff:g>回間違えました。あと<xliff:g id="NUMBER_1">%2$d</xliff:g>回間違えると、モバイル端末のロック解除にGoogleへのログインが必要になります。\n\n<xliff:g id="NUMBER_2">%3$d</xliff:g>秒後にもう一度お試しください。"</string> <string name="lockscreen_failed_attempts_almost_at_wipe" product="tablet" msgid="6128106399745755604">"タブレットのロック解除に<xliff:g id="NUMBER_0">%1$d</xliff:g>回失敗しました。あと<xliff:g id="NUMBER_1">%2$d</xliff:g>回失敗すると、タブレットは工場出荷状態にリセットされ、ユーザーのデータはすべて失われます。"</string> <string name="lockscreen_failed_attempts_almost_at_wipe" product="tv" msgid="950408382418270260">"テレビのロック解除に<xliff:g id="NUMBER_0">%1$d</xliff:g>回失敗しました。あと<xliff:g id="NUMBER_1">%2$d</xliff:g>回失敗すると、テレビは出荷時設定にリセットされ、ユーザーのデータはすべて失われます。"</string> <string name="lockscreen_failed_attempts_almost_at_wipe" product="default" msgid="8603565142156826565">"端末のロック解除に<xliff:g id="NUMBER_0">%1$d</xliff:g>回失敗しました。あと<xliff:g id="NUMBER_1">%2$d</xliff:g>回失敗すると、端末は工場出荷状態にリセットされ、ユーザーのデータはすべて失われます。"</string> @@ -795,7 +795,7 @@ <string name="permlab_writeHistoryBookmarks" msgid="3714785165273314490">"ウェブのブックマークと履歴の書き込み"</string> <string name="permdesc_writeHistoryBookmarks" product="tablet" msgid="6825527469145760922">"タブレットに保存されているブラウザの履歴やブックマークの変更をアプリに許可します。これにより、アプリがブラウザデータを消去または変更できるようになる可能性があります。注: この許可は、サードパーティブラウザまたはウェブブラウジング機能を備えたその他のアプリでは適用されない場合があります。"</string> <string name="permdesc_writeHistoryBookmarks" product="tv" msgid="7007393823197766548">"テレビに保存されているブラウザの履歴やブックマークの変更をアプリに許可します。これにより、アプリがブラウザデータを消去または変更できるようになる可能性があります。注: この許可は、サードパーティブラウザまたはウェブブラウジング機能を備えたその他のアプリでは適用されない場合があります。"</string> - <string name="permdesc_writeHistoryBookmarks" product="default" msgid="8497389531014185509">"携帯端末に保存されているブラウザの履歴やブックマークの変更をアプリに許可します。これにより、アプリがブラウザデータを消去または変更できるようになる可能性があります。注: この許可は、サードパーティブラウザまたはウェブブラウジング機能を備えたその他のアプリでは適用されない場合があります。"</string> + <string name="permdesc_writeHistoryBookmarks" product="default" msgid="8497389531014185509">"モバイル端末に保存されているブラウザの履歴やブックマークの変更をアプリに許可します。これにより、アプリがブラウザデータを消去または変更できるようになる可能性があります。注: この許可は、サードパーティブラウザまたはウェブブラウジング機能を備えたその他のアプリでは適用されない場合があります。"</string> <string name="permlab_setAlarm" msgid="1379294556362091814">"アラームの設定"</string> <string name="permdesc_setAlarm" msgid="316392039157473848">"インストール済みアラームアプリのアラームを設定することをアプリに許可します。この機能が実装されていないアラームアプリもあります。"</string> <string name="permlab_addVoicemail" msgid="5525660026090959044">"ボイスメールの追加"</string> @@ -822,7 +822,7 @@ <string name="searchview_description_voice" msgid="2453203695674994440">"音声検索"</string> <string name="enable_explore_by_touch_warning_title" msgid="7460694070309730149">"タッチガイドをONにしますか?"</string> <string name="enable_explore_by_touch_warning_message" product="tablet" msgid="8655887539089910577">"<xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>がタッチガイドをONにしようとしています。タッチガイドをONにすると、指の位置にあるアイテムの説明を読み上げたり表示したりできます。また、タブレットを通常とは違うジェスチャーで操作できます。"</string> - <string name="enable_explore_by_touch_warning_message" product="default" msgid="2708199672852373195">"<xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>がタッチガイドをONにしようとしています。タッチガイドをONにすると、指の位置にあるアイテムの説明を読み上げたり表示したりできます。また、携帯端末を通常とは違うジェスチャーで操作できます。"</string> + <string name="enable_explore_by_touch_warning_message" product="default" msgid="2708199672852373195">"<xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>がタッチガイドをONにしようとしています。タッチガイドをONにすると、指の位置にあるアイテムの説明を読み上げたり表示したりできます。また、モバイル端末を通常とは違うジェスチャーで操作できます。"</string> <string name="oneMonthDurationPast" msgid="7396384508953779925">"1か月前"</string> <string name="beforeOneMonthDurationPast" msgid="909134546836499826">"1か月前"</string> <plurals name="last_num_days" formatted="false" msgid="5104533550723932025"> @@ -1061,7 +1061,7 @@ <string name="wifi_p2p_show_pin_message" msgid="8530563323880921094">"PIN:"</string> <string name="wifi_p2p_frequency_conflict_message" product="tablet" msgid="8012981257742232475">"タブレットが<xliff:g id="DEVICE_NAME">%1$s</xliff:g>に接続されている間は一時的にWi-Fi接続が切断されます"</string> <string name="wifi_p2p_frequency_conflict_message" product="tv" msgid="3087858235069421128">"テレビが<xliff:g id="DEVICE_NAME">%1$s</xliff:g>に接続されている間は一時的にWi-Fi接続が切断されます"</string> - <string name="wifi_p2p_frequency_conflict_message" product="default" msgid="7363907213787469151">"携帯端末が<xliff:g id="DEVICE_NAME">%1$s</xliff:g>に接続されている間は一時的にWi-Fi接続が解除されます。"</string> + <string name="wifi_p2p_frequency_conflict_message" product="default" msgid="7363907213787469151">"モバイル端末が<xliff:g id="DEVICE_NAME">%1$s</xliff:g>に接続されている間は一時的にWi-Fi接続が解除されます。"</string> <string name="select_character" msgid="3365550120617701745">"文字を挿入"</string> <string name="sms_control_title" msgid="7296612781128917719">"SMSメッセージの送信中"</string> <string name="sms_control_message" msgid="3867899169651496433">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>が大量のSMSメッセージを送信しています。このアプリにこのままメッセージの送信を許可しますか?"</string> @@ -1321,7 +1321,7 @@ <string name="activity_resolver_work_profiles_support" msgid="185598180676883455">"%1$sは仕事用プロファイルをサポートしていません"</string> <string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"タブレット"</string> <string name="default_audio_route_name" product="tv" msgid="9158088547603019321">"テレビ"</string> - <string name="default_audio_route_name" product="default" msgid="4239291273420140123">"携帯端末"</string> + <string name="default_audio_route_name" product="default" msgid="4239291273420140123">"モバイル端末"</string> <string name="default_audio_route_name_headphones" msgid="8119971843803439110">"ヘッドホン"</string> <string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"ホルダーのスピーカー"</string> <string name="default_media_route_name_hdmi" msgid="2450970399023478055">"HDMI"</string> @@ -1375,13 +1375,13 @@ <string name="kg_too_many_failed_pattern_attempts_dialog_message" msgid="74089475965050805">"ロック解除パターンの入力を<xliff:g id="NUMBER_0">%1$d</xliff:g>回間違えました。\n\n<xliff:g id="NUMBER_1">%2$d</xliff:g>秒後にもう一度お試しください。"</string> <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="1575557200627128949">"タブレットのロック解除に<xliff:g id="NUMBER_0">%1$d</xliff:g>回失敗しました。あと<xliff:g id="NUMBER_1">%2$d</xliff:g>回失敗すると、タブレットは出荷時設定にリセットされ、ユーザーのデータはすべて失われます。"</string> <string name="kg_failed_attempts_almost_at_wipe" product="tv" msgid="5621231220154419413">"テレビのロック解除に<xliff:g id="NUMBER_0">%1$d</xliff:g>回失敗しました。あと<xliff:g id="NUMBER_1">%2$d</xliff:g>回失敗すると、テレビは出荷時設定にリセットされ、ユーザーのデータはすべて失われます。"</string> - <string name="kg_failed_attempts_almost_at_wipe" product="default" msgid="4051015943038199910">"携帯端末のロック解除に<xliff:g id="NUMBER_0">%1$d</xliff:g>回失敗しました。あと<xliff:g id="NUMBER_1">%2$d</xliff:g>回失敗すると、端末は出荷時設定にリセットされ、ユーザーのデータはすべて失われます。"</string> + <string name="kg_failed_attempts_almost_at_wipe" product="default" msgid="4051015943038199910">"モバイル端末のロック解除に<xliff:g id="NUMBER_0">%1$d</xliff:g>回失敗しました。あと<xliff:g id="NUMBER_1">%2$d</xliff:g>回失敗すると、端末は出荷時設定にリセットされ、ユーザーのデータはすべて失われます。"</string> <string name="kg_failed_attempts_now_wiping" product="tablet" msgid="2072996269148483637">"タブレットのロック解除を<xliff:g id="NUMBER">%d</xliff:g>回失敗しました。タブレットは出荷時設定にリセットされます。"</string> <string name="kg_failed_attempts_now_wiping" product="tv" msgid="4987878286750741463">"テレビのロック解除に<xliff:g id="NUMBER">%d</xliff:g>回失敗しました。テレビは出荷時設定にリセットされます。"</string> - <string name="kg_failed_attempts_now_wiping" product="default" msgid="4817627474419471518">"携帯端末のロック解除を<xliff:g id="NUMBER">%d</xliff:g>回失敗しました。端末は出荷時設定にリセットされます。"</string> + <string name="kg_failed_attempts_now_wiping" product="default" msgid="4817627474419471518">"モバイル端末のロック解除を<xliff:g id="NUMBER">%d</xliff:g>回失敗しました。端末は出荷時設定にリセットされます。"</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="3253575572118914370">"ロック解除パターンの入力を<xliff:g id="NUMBER_0">%1$d</xliff:g>回間違えました。あと<xliff:g id="NUMBER_1">%2$d</xliff:g>回間違えると、タブレットのロック解除にメールアカウントが必要になります。\n\n<xliff:g id="NUMBER_2">%3$d</xliff:g>秒後にもう一度お試しください。"</string> <string name="kg_failed_attempts_almost_at_login" product="tv" msgid="4224651132862313471">"ロック解除パターンの入力を<xliff:g id="NUMBER_0">%1$d</xliff:g>回間違えました。あと<xliff:g id="NUMBER_1">%2$d</xliff:g>回間違えると、テレビのロック解除にメールアカウントが必要になります。\n\n<xliff:g id="NUMBER_2">%3$d</xliff:g>秒以内にもう一度お試しください。"</string> - <string name="kg_failed_attempts_almost_at_login" product="default" msgid="1437638152015574839">"ロック解除パターンの入力を<xliff:g id="NUMBER_0">%1$d</xliff:g>回間違えました。あと<xliff:g id="NUMBER_1">%2$d</xliff:g>回間違えると、携帯端末のロック解除にメールアカウントが必要になります。\n\n<xliff:g id="NUMBER_2">%3$d</xliff:g>秒後にもう一度お試しください。"</string> + <string name="kg_failed_attempts_almost_at_login" product="default" msgid="1437638152015574839">"ロック解除パターンの入力を<xliff:g id="NUMBER_0">%1$d</xliff:g>回間違えました。あと<xliff:g id="NUMBER_1">%2$d</xliff:g>回間違えると、モバイル端末のロック解除にメールアカウントが必要になります。\n\n<xliff:g id="NUMBER_2">%3$d</xliff:g>秒後にもう一度お試しください。"</string> <string name="kg_text_message_separator" product="default" msgid="4160700433287233771">" - "</string> <string name="kg_reordering_delete_drop_target_text" msgid="7899202978204438708">"削除"</string> <string name="safe_media_volume_warning" product="default" msgid="2276318909314492312">"推奨レベルを超えるまで音量を上げますか?\n\n大音量で長時間聞き続けると、聴力を損なう恐れがあります。"</string> diff --git a/core/res/res/values-ka-rGE/strings.xml b/core/res/res/values-ka-rGE/strings.xml index 8d67d137ee20..c3965e866627 100644 --- a/core/res/res/values-ka-rGE/strings.xml +++ b/core/res/res/values-ka-rGE/strings.xml @@ -604,9 +604,9 @@ <string name="phoneTypeRadio" msgid="4093738079908667513">"რადიო"</string> <string name="phoneTypeTelex" msgid="3367879952476250512">"Telex"</string> <string name="phoneTypeTtyTdd" msgid="8606514378585000044">"TTY TDD"</string> - <string name="phoneTypeWorkMobile" msgid="1311426989184065709">"სამსახურის მობილური"</string> - <string name="phoneTypeWorkPager" msgid="649938731231157056">"სამუშაო პეიჯერი"</string> - <string name="phoneTypeAssistant" msgid="5596772636128562884">"დამხმარე"</string> + <string name="phoneTypeWorkMobile" msgid="1311426989184065709">"სამსახ.მობილური"</string> + <string name="phoneTypeWorkPager" msgid="649938731231157056">"სამსახ.პეიჯერი"</string> + <string name="phoneTypeAssistant" msgid="5596772636128562884">"თანაშემწე"</string> <string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string> <string name="eventTypeCustom" msgid="7837586198458073404">"მორგებული"</string> <string name="eventTypeBirthday" msgid="2813379844211390740">"დაბადების დღე"</string> @@ -1023,7 +1023,7 @@ <string name="volume_icon_description_media" msgid="4217311719665194215">"მედიის ხმა"</string> <string name="volume_icon_description_notification" msgid="7044986546477282274">"შეტყობინების ხმა"</string> <string name="ringtone_default" msgid="3789758980357696936">"ნაგულისხმევი ზარი"</string> - <string name="ringtone_default_with_actual" msgid="8129563480895990372">"ნაგულისხმევი ზარი (<xliff:g id="ACTUAL_RINGTONE">%1$s</xliff:g>)"</string> + <string name="ringtone_default_with_actual" msgid="8129563480895990372">"ნაგულის.ზარი (<xliff:g id="ACTUAL_RINGTONE">%1$s</xliff:g>)"</string> <string name="ringtone_silent" msgid="7937634392408977062">"არც ერთი"</string> <string name="ringtone_picker_title" msgid="3515143939175119094">"ზარები"</string> <string name="ringtone_unknown" msgid="5477919988701784788">"უცნობი ზარი"</string> @@ -1096,7 +1096,7 @@ <string name="no_permissions" msgid="7283357728219338112">"ნებართვა საჭირო არ არის"</string> <string name="perm_costs_money" msgid="4902470324142151116">"ამისათვის შესაძლოა მოგიწიოთ თანხის გადახდა"</string> <string name="dlg_ok" msgid="7376953167039865701">"OK"</string> - <string name="usb_charging_notification_title" msgid="6895185153353640787">"მოწყობილობა USB-ის მეშვეობით იტენება"</string> + <string name="usb_charging_notification_title" msgid="6895185153353640787">"მოწყობილობა USB-თი იტენება"</string> <string name="usb_supplying_notification_title" msgid="5310642257296510271">"მიერთებულ მოწყობილობას ელკვებას USB აწვდის"</string> <string name="usb_mtp_notification_title" msgid="8396264943589760855">"USB ფაილების გადაცემისთვის"</string> <string name="usb_ptp_notification_title" msgid="1347328437083192112">"USB ფოტოების გადაცემისთვის"</string> diff --git a/core/res/res/values-kk-rKZ/strings.xml b/core/res/res/values-kk-rKZ/strings.xml index 984035d8e608..08cde3e96864 100644 --- a/core/res/res/values-kk-rKZ/strings.xml +++ b/core/res/res/values-kk-rKZ/strings.xml @@ -595,7 +595,7 @@ <string name="phoneTypeFaxHome" msgid="2067265972322971467">"Үй факсы"</string> <string name="phoneTypePager" msgid="7582359955394921732">"Пейджер"</string> <string name="phoneTypeOther" msgid="1544425847868765990">"Басқа"</string> - <string name="phoneTypeCallback" msgid="2712175203065678206">"кері телефон шалу нөмірі"</string> + <string name="phoneTypeCallback" msgid="2712175203065678206">"Кері телефон шалу нөмірі"</string> <string name="phoneTypeCar" msgid="8738360689616716982">"Автокөлік"</string> <string name="phoneTypeCompanyMain" msgid="540434356461478916">"Компания негізгі"</string> <string name="phoneTypeIsdn" msgid="8022453193171370337">"ISDN (біріктірілген қызметтердің сандық желісі)"</string> @@ -1615,7 +1615,7 @@ <string name="profile_encrypted_message" msgid="6964994232310195874">"Жұмыс профилінің құлпын ашу үшін түртіңіз"</string> <string name="usb_mtp_launch_notification_title" msgid="8359219638312208932">"<xliff:g id="PRODUCT_NAME">%1$s</xliff:g> қосылу орындалды"</string> <string name="usb_mtp_launch_notification_description" msgid="8541876176425411358">"Файлдарды көру үшін түртіңіз"</string> - <string name="pin_target" msgid="3052256031352291362">"PIN код"</string> + <string name="pin_target" msgid="3052256031352291362">"PIN коды"</string> <string name="unpin_target" msgid="3556545602439143442">"Босату"</string> <string name="app_info" msgid="6856026610594615344">"Қолданба ақпараты"</string> <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string> diff --git a/core/res/res/values-kn-rIN/strings.xml b/core/res/res/values-kn-rIN/strings.xml index 58ffe9c65b4b..be9ded7a013f 100644 --- a/core/res/res/values-kn-rIN/strings.xml +++ b/core/res/res/values-kn-rIN/strings.xml @@ -251,11 +251,11 @@ <string name="permgrouplab_sms" msgid="228308803364967808">"SMS"</string> <string name="permgroupdesc_sms" msgid="4656988620100940350">"SMS ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸಲು ಮತ್ತು ನಿರ್ವಹಿಸಲು"</string> <string name="permgrouplab_storage" msgid="1971118770546336966">"ಸಂಗ್ರಹಣೆ"</string> - <string name="permgroupdesc_storage" msgid="637758554581589203">"ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿ ಫೋಟೋಗಳು, ಮಾಧ್ಯಮ ಮತ್ತು ಫೈಲ್ಗಳನ್ನು ಪ್ರವೇಶಿಸಲು"</string> + <string name="permgroupdesc_storage" msgid="637758554581589203">"ಸಾಧನದಲ್ಲಿ ಫೋಟೋಗಳು, ಮಾಧ್ಯಮ ಮತ್ತು ಫೈಲ್ಗಳನ್ನು ಪ್ರವೇಶಿಸಲು"</string> <string name="permgrouplab_microphone" msgid="171539900250043464">"ಮೈಕ್ರೋಫೋನ್"</string> <string name="permgroupdesc_microphone" msgid="4988812113943554584">"ಆಡಿಯೊ ರೆಕಾರ್ಡ್ ಮಾಡಿ"</string> <string name="permgrouplab_camera" msgid="4820372495894586615">"ಕ್ಯಾಮರಾ"</string> - <string name="permgroupdesc_camera" msgid="3250611594678347720">"ಚಿತ್ರಗಳನ್ನು ತೆಗೆಯಿರಿ ಹಾಗೂ ವೀಡಿಯೊ ರೆಕಾರ್ಡ್ ಮಾಡಿ"</string> + <string name="permgroupdesc_camera" msgid="3250611594678347720">"ಚಿತ್ರಗಳನ್ನು ತೆಗೆಯಲು, ವೀಡಿಯೊ ರೆಕಾರ್ಡ್ ಮಾಡಲು"</string> <string name="permgrouplab_phone" msgid="5229115638567440675">"ಫೋನ್"</string> <string name="permgroupdesc_phone" msgid="6234224354060641055">"ಫೋನ್ ಕರೆ ಮಾಡಲು ಹಾಗೂ ನಿರ್ವಹಿಸಲು"</string> <string name="permgrouplab_sensors" msgid="416037179223226722">"ದೇಹ ಸೆನ್ಸರ್ಗಳು"</string> @@ -296,7 +296,7 @@ <string name="permdesc_sendSms" msgid="7094729298204937667">"SMS ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸಲು ಅಪ್ಲಿಕೇಶನ್ಗೆ ಅವಕಾಶ ನೀಡುತ್ತದೆ. ಇದು ಅನಿರೀಕ್ಷಿತ ವೆಚ್ಚಗಳಿಗೆ ಕಾರಣವಾಗಬಹುದು. ದುರುದ್ದೇಶಪೂರಿತ ಅಪ್ಲಿಕೇಶನ್ಗಳು ನಿಮ್ಮ ದೃಢೀಕರಣವಿಲ್ಲದೆಯೇ ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸುವ ಮೂಲಕ ನಿಮ್ಮ ಹಣವನ್ನು ವ್ಯಯಿಸಬಹುದು."</string> <string name="permlab_readSms" msgid="8745086572213270480">"ನಿಮ್ಮ ಪಠ್ಯ ಸಂದೇಶಗಳನ್ನು ಓದಿ (SMS ಅಥವಾ MMS)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್ ಅಥವಾ ಸಿಮ್ ಕಾರ್ಡ್ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾದ SMS ಸಂದೇಶಗಳನ್ನು ಓದಲು ಅಪ್ಲಿಕೇಶನ್ಗೆ ಅವಕಾಶ ನೀಡುತ್ತದೆ. ಇದು ವಿಷಯ ಅಥವಾ ಗೌಪ್ಯತೆಯನ್ನು ಲೆಕ್ಕಿಸದೆಯೇ, ಎಲ್ಲಾ SMS ಸಂದೇಶಗಳನ್ನು ಓದಲು ಅಪ್ಲಿಕೇಶನ್ಗೆ ಅನುಮತಿಸುತ್ತದೆ."</string> - <string name="permdesc_readSms" product="tv" msgid="5102425513647038535">"ನಿಮ್ಮ ಟಿವಿ ಅಥವಾ SIM ಕಾರ್ಡ್ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾದ SMS ಸಂದೇಶಗಳನ್ನು ಓದಲು ಅಪ್ಲಿಕೇಶನ್ಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಇದು ವಿಷಯ ಅಥವಾ ಗೋಪ್ಯತೆಯನ್ನು ಪರಿಗಣಿಸದೆ, ಎಲ್ಲಾ SMS ಸಂದೇಶಗಳನ್ನು ಓದಲು ಅಪ್ಲಿಕೇಶನ್ಗೆ ಅನುಮತಿಸುತ್ತದೆ."</string> + <string name="permdesc_readSms" product="tv" msgid="5102425513647038535">"ನಿಮ್ಮ ಟಿವಿ ಅಥವಾ ಸಿಮ್ ಕಾರ್ಡ್ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾದ SMS ಸಂದೇಶಗಳನ್ನು ಓದಲು ಅಪ್ಲಿಕೇಶನ್ಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಇದು ವಿಷಯ ಅಥವಾ ಗೋಪ್ಯತೆಯನ್ನು ಪರಿಗಣಿಸದೆ, ಎಲ್ಲಾ SMS ಸಂದೇಶಗಳನ್ನು ಓದಲು ಅಪ್ಲಿಕೇಶನ್ಗೆ ಅನುಮತಿಸುತ್ತದೆ."</string> <string name="permdesc_readSms" product="default" msgid="3695967533457240550">"ನಿಮ್ಮ ಫೋನ್ ಅಥವಾ ಸಿಮ್ ಕಾರ್ಡ್ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾದ SMS ಸಂದೇಶಗಳನ್ನು ಓದಲು ಅಪ್ಲಿಕೇಶನ್ಗೆ ಅವಕಾಶ ನೀಡುತ್ತದೆ. ಇದು ವಿಷಯ ಅಥವಾ ಗೌಪ್ಯತೆಯನ್ನು ಲೆಕ್ಕಿಸದೆಯೇ, ಎಲ್ಲಾ SMS ಸಂದೇಶಗಳನ್ನು ಓದಲು ಅಪ್ಲಿಕೇಶನ್ಗೆ ಅನುಮತಿಸುತ್ತದೆ."</string> <string name="permlab_receiveWapPush" msgid="5991398711936590410">"ಪಠ್ಯ ಸಂದೇಶಗಳನ್ನು ಸ್ವೀಕರಿಸಿ (WAP)"</string> <string name="permdesc_receiveWapPush" msgid="748232190220583385">"WAP ಸಂದೇಶಗಳನ್ನು ಸ್ವೀಕರಿಸಲು ಮತ್ತು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು ಅಪ್ಲಿಕೇಶನ್ಗೆ ಅವಕಾಶ ಮಾಡಿಕೊಡುತ್ತದೆ. ಈ ಅನುಮತಿಯು, ನಿಮಗೆ ಕಳುಹಿಸಲಾಗಿರುವ ಸಂದೇಶಗಳನ್ನು ನಿಮಗೆ ತೋರಿಸದೆಯೇ, ಅವುಗಳನ್ನು ಮಾನಿಟರ್ ಮಾಡುವ ಅಥವಾ ಅಳಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ."</string> @@ -770,7 +770,7 @@ <string name="js_dialog_before_unload_positive_button" msgid="3112752010600484130">"ಈ ಪುಟದಿಂದ ಹೊರಬನ್ನಿ"</string> <string name="js_dialog_before_unload_negative_button" msgid="5614861293026099715">"ಈ ಪುಟದಲ್ಲಿಯೇ ಇರಿ"</string> <string name="js_dialog_before_unload" msgid="3468816357095378590">"<xliff:g id="MESSAGE">%s</xliff:g>\n\nನೀವು ಈ ಪುಟದಿಂದಾಚೆಗೆ ನ್ಯಾವಿಗೇಟ್ ಮಾಡಲು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ?"</string> - <string name="save_password_label" msgid="6860261758665825069">"ದೃಢೀಕರಿಸಿ"</string> + <string name="save_password_label" msgid="6860261758665825069">"ದೃಢೀಕರಿಸು"</string> <string name="double_tap_toast" msgid="4595046515400268881">"ಸಲಹೆ: ಝೂಮ್ ಇನ್ ಮತ್ತು ಝೂಮ್ ಔಟ್ ಮಾಡಲು ಡಬಲ್-ಟ್ಯಾಪ್ ಮಾಡಿ"</string> <string name="autofill_this_form" msgid="4616758841157816676">"ಸ್ವಯಂತುಂಬುವಿಕೆ"</string> <string name="setup_autofill" msgid="7103495070180590814">"ಸ್ವಯಂತುಂಬುವಿಕೆಯನ್ನು ಹೊಂದಿಸಿ"</string> @@ -1239,7 +1239,7 @@ <string name="sync_do_nothing" msgid="3743764740430821845">"ಈಗ ಏನೂ ಮಾಡಬೇಡಿ"</string> <string name="choose_account_label" msgid="5655203089746423927">"ಖಾತೆಯೊಂದನ್ನು ಆರಿಸು"</string> <string name="add_account_label" msgid="2935267344849993553">"ಒಂದು ಖಾತೆ ಸೇರಿಸು"</string> - <string name="add_account_button_label" msgid="3611982894853435874">"ಖಾತೆ ಸೇರಿಸು"</string> + <string name="add_account_button_label" msgid="3611982894853435874">"ಖಾತೆ ಸೇರಿಸಿ"</string> <string name="number_picker_increment_button" msgid="2412072272832284313">"ಹೆಚ್ಚಿಸಿ"</string> <string name="number_picker_decrement_button" msgid="476050778386779067">"ಕಡಿಮೆ ಮಾಡಿ"</string> <string name="number_picker_increment_scroll_mode" msgid="5259126567490114216">"<xliff:g id="VALUE">%s</xliff:g> ಸ್ಪರ್ಶಿಸಿ & ಹಿಡಿದಿಡಿ."</string> @@ -1526,7 +1526,7 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"ನಿಮ್ಮ ನಿರ್ವಾಹಕರಿಂದ ನವೀಕರಿಸಲಾಗಿದೆ"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"ನಿಮ್ಮ ನಿರ್ವಾಹಕರಿಂದ ಅಳಿಸಲಾಗಿದೆ"</string> <string name="battery_saver_description" msgid="1960431123816253034">"ನಿಮ್ಮ ಬ್ಯಾಟರಿಯ ಬಾಳಿಕೆಯನ್ನು ಸುಧಾರಿಸಲು ಸಹಾಯ ಮಾಡಲು, ಬ್ಯಾಟರಿ ಉಳಿಕೆಯು ನಿಮ್ಮ ಸಾಧನದ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ವೈಬ್ರೇಷನ್, ಸ್ಥಳ ಸೇವೆಗಳು ಹಾಗೂ ಹೆಚ್ಚಿನ ಹಿನ್ನೆಲೆ ಡೇಟಾವನ್ನು ಮಿತಿಗೊಳಿಸುತ್ತದೆ. ಸಿಂಕ್ ಮಾಡುವುದನ್ನು ಅವಲಂಬಿಸಿರುವ ಇಮೇಲ್, ಸಂದೇಶ ಕಳುಹಿಸುವಿಕೆ, ಮತ್ತು ಇತರ ಅಪ್ಲಿಕೇಶನ್ಗಳು ನೀವು ತೆರೆಯದ ಹೊರತು ನವೀಕರಣಗೊಳ್ಳುವುದಿಲ್ಲ.\n\nನಿಮ್ಮ ಸಾಧನವು ಚಾರ್ಜ್ ಆಗುತ್ತಿರುವ ಸಮಯದಲ್ಲಿ ಬ್ಯಾಟರಿ ಉಳಿಕೆಯು ಆಫ್ ಆಗುತ್ತದೆ."</string> - <string name="data_saver_description" msgid="6015391409098303235">"ಡೇಟಾ ಬಳಕೆಯನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಸಹಾಯಕಾರಿಯಾಗಿ, ಡೇಟಾ ಸೇವರ್ ಕೆಲವು ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗೆ ಹಿನ್ನೆಲೆಯಲ್ಲಿ ಡೇಟಾ ಕಳುಹಿಸುವುದನ್ನು ಅಥವಾ ಸ್ವೀಕರಿಸುವುದನ್ನು ತಡೆಯುತ್ತದೆ. ನೀವು ಪ್ರಸ್ತುತ ಬಳಸುತ್ತಿರುವ ಅಪ್ಲಿಕೇಶನ್ ಡೇಟಾವನ್ನು ಪ್ರವೇಶಿಸಬಹುದು ಆದರೆ ಕಡಿಮೆ ಪುನರಾವರ್ತಿತವಾಗಿ ಮಾಡಬಹುದು. ಇದರರ್ಥ, ಉದಾಹರಣೆಗೆ, ನೀವು ಅವುಗಳನ್ನು ಟ್ಯಾಪ್ ಮಾಡುವವರೆಗೆ ಆ ಚಿತ್ರಗಳು ಪ್ರದರ್ಶಿಸುವುದಿಲ್ಲ."</string> + <string name="data_saver_description" msgid="6015391409098303235">"ಡೇಟಾ ಬಳಕೆ ಕಡಿಮೆ ಮಾಡುವ ನಿಟ್ಟಿನಲ್ಲಿ, ಡೇಟಾ ಸೇವರ್ ಕೆಲವು ಅಪ್ಲಿಕೇಶನ್ಗಳು ಹಿನ್ನೆಲೆಯಲ್ಲಿ ಡೇಟಾ ಕಳುಹಿಸುವುದನ್ನು ಅಥವಾ ಸ್ವೀಕರಿಸುವುದನ್ನು ತಡೆಯುತ್ತದೆ. ನೀವು ಪ್ರಸ್ತುತ ಬಳಸುತ್ತಿರುವ ಅಪ್ಲಿಕೇಶನ್ ಡೇಟಾವನ್ನು ಪ್ರವೇಶಿಸಬಹುದು ಆದರೆ ಪದೇ ಪದೇ ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ. ಇದರರ್ಥ, ಉದಾಹರಣೆಗೆ, ನೀವು ಅವುಗಳನ್ನು ಟ್ಯಾಪ್ ಮಾಡುವವರೆಗೆ ಆ ಚಿತ್ರಗಳು ಕಾಣಿಸಿಕೊಳ್ಳುವುದಿಲ್ಲ."</string> <string name="data_saver_enable_title" msgid="4674073932722787417">"ಡೇಟಾ ಉಳಿಸುವಿಕೆಯನ್ನು ಆನ್ ಮಾಡುವುದೇ?"</string> <string name="data_saver_enable_button" msgid="7147735965247211818">"ಆನ್ ಮಾಡು"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> @@ -1600,7 +1600,7 @@ <string name="language_selection_title" msgid="2680677278159281088">"ಭಾಷೆ ಸೇರಿಸಿ"</string> <string name="country_selection_title" msgid="2954859441620215513">"ಪ್ರದೇಶ ಪ್ರಾಶಸ್ತ್ಯ"</string> <string name="search_language_hint" msgid="7042102592055108574">"ಭಾಷೆ ಹೆಸರನ್ನು ಟೈಪ್ ಮಾಡಿ"</string> - <string name="language_picker_section_suggested" msgid="8414489646861640885">"ಸಲಹೆ ಮಾಡಿರುವುದು"</string> + <string name="language_picker_section_suggested" msgid="8414489646861640885">"ಸೂಚಿತ ಭಾಷೆ"</string> <string name="language_picker_section_all" msgid="3097279199511617537">"ಎಲ್ಲಾ ಭಾಷೆಗಳು"</string> <string name="locale_search_menu" msgid="2560710726687249178">"ಹುಡುಕು"</string> <string name="work_mode_off_title" msgid="8954725060677558855">"ಕೆಲಸದ ಮೋಡ್ ಆಫ್ ಆಗಿದೆ"</string> diff --git a/core/res/res/values-ko/strings.xml b/core/res/res/values-ko/strings.xml index f9ec64d124b6..a286605fcec9 100644 --- a/core/res/res/values-ko/strings.xml +++ b/core/res/res/values-ko/strings.xml @@ -1523,8 +1523,8 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"관리자에 의해 업데이트됨"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"관리자가 삭제함"</string> <string name="battery_saver_description" msgid="1960431123816253034">"배터리 수명 개선을 위해, 배터리 세이버는 기기의 성능을 줄이고 진동, 위치 서비스 및 대부분의 백그라운드 데이터를 제한합니다. 이메일, 메시지 및 동기화에 의존하는 기타 앱은 앱을 열 때까지 업데이트되지 않을 수 있습니다.\n\n배터리 세이버는 기기를 충전 중일 때는 자동으로 사용 중지됩니다."</string> - <string name="data_saver_description" msgid="6015391409098303235">"데이터 사용량을 줄이기 위해 데이터 세이버는 일부 앱이 백그라운드에서 데이터를 전송하거나 수신하지 못하도록 합니다. 현재 사용 중인 앱에서 데이터에 액세스할 수 있지만 빈도가 줄어듭니다. 즉, 예를 들어 이미지를 탭하기 전에는 이미지가 표시되지 않습니다."</string> - <string name="data_saver_enable_title" msgid="4674073932722787417">"데이터 세이버를 사용할까요?"</string> + <string name="data_saver_description" msgid="6015391409098303235">"데이터 사용량을 줄이기 위해 데이터 절약 모드는 일부 앱이 백그라운드에서 데이터를 전송하거나 수신하지 못하도록 합니다. 현재 사용 중인 앱에서 데이터에 액세스할 수 있지만 빈도가 줄어듭니다. 즉, 예를 들어 이미지를 탭하기 전에는 이미지가 표시되지 않습니다."</string> + <string name="data_saver_enable_title" msgid="4674073932722787417">"데이터 절약 모드를 사용할까요?"</string> <string name="data_saver_enable_button" msgid="7147735965247211818">"사용 설정"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">%1$d분 동안(<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>까지)</item> diff --git a/core/res/res/values-ky-rKG/strings.xml b/core/res/res/values-ky-rKG/strings.xml index b2351820ce85..371b02346752 100644 --- a/core/res/res/values-ky-rKG/strings.xml +++ b/core/res/res/values-ky-rKG/strings.xml @@ -239,23 +239,23 @@ <string name="notification_hidden_text" msgid="1135169301897151909">"Мазмундар жашырылган"</string> <string name="notification_hidden_by_policy_text" msgid="9004631276932584600">"Тийиштүү саясат боюнча жашырылган мазмундар"</string> <string name="safeMode" msgid="2788228061547930246">"Коопсуз режим"</string> - <string name="android_system_label" msgid="6577375335728551336">"Android Тутуму"</string> + <string name="android_system_label" msgid="6577375335728551336">"Android тутуму"</string> <string name="user_owner_label" msgid="1119010402169916617">"Жеке профилге которулуу"</string> <string name="managed_profile_label" msgid="5289992269827577857">"Жумуш профилине которулуу"</string> <string name="permgrouplab_contacts" msgid="3657758145679177612">"Байланыштар"</string> - <string name="permgroupdesc_contacts" msgid="6951499528303668046">"байланыштарыңызга уруксат"</string> + <string name="permgroupdesc_contacts" msgid="6951499528303668046">"байланыштарыңызды көрүүгө"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Жайгашкан жер"</string> - <string name="permgroupdesc_location" msgid="1346617465127855033">"бул түзмөктүн жайгашкан жери тууралуу дайындарды көрүү"</string> + <string name="permgroupdesc_location" msgid="1346617465127855033">"түзмөктүн жайгашкан жери тууралуу дайындарды көрүүгө"</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Күнбарак"</string> <string name="permgroupdesc_calendar" msgid="3889615280211184106">"жылнаамаңызды пайдалануу"</string> <string name="permgrouplab_sms" msgid="228308803364967808">"SMS"</string> <string name="permgroupdesc_sms" msgid="4656988620100940350">"SMS билдирүүлөрдү жиберүү жана көрсөтүү"</string> <string name="permgrouplab_storage" msgid="1971118770546336966">"Сактагыч"</string> - <string name="permgroupdesc_storage" msgid="637758554581589203">"түзмөгүңүздөгү сүрөттөр, медиа жана файлдарга кирүү"</string> + <string name="permgroupdesc_storage" msgid="637758554581589203">"түзмөгүңүздөгү сүрөттөрдү жана башка мультимедиа файлдарын пайдаланууга"</string> <string name="permgrouplab_microphone" msgid="171539900250043464">"Микрофон"</string> <string name="permgroupdesc_microphone" msgid="4988812113943554584">"аудио жаздыруу"</string> <string name="permgrouplab_camera" msgid="4820372495894586615">"Камера"</string> - <string name="permgroupdesc_camera" msgid="3250611594678347720">"сүрөт тартуу жана видео жаздыруу"</string> + <string name="permgroupdesc_camera" msgid="3250611594678347720">"сүрөт жана видео тартууга"</string> <string name="permgrouplab_phone" msgid="5229115638567440675">"Телефон"</string> <string name="permgroupdesc_phone" msgid="6234224354060641055">"телефон чалуу жана аларды башкаруу"</string> <string name="permgrouplab_sensors" msgid="416037179223226722">"Дене сенсорлору"</string> @@ -522,14 +522,14 @@ <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Экрандын кулпусун ачуу учурунда туура эмес терилген сырсөздөрдү тескөө жана сырсөз өтө көп жолу туура эмес терилген болсо, планшетти кулпулап же бул колдонуучунун бардык дайындарын тазалап салуу."</string> <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Экрандын кулпусун ачуу учурунда туура эмес терилген сырсөздөрдү тескөө жана сырсөз өтө көп жолу туура эмес терилген болсо, сыналгыны кулпулап же бул колдонуучунун бардык дайындарын тазалап салуу."</string> <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Экрандын кулпусун ачуу учурунда туура эмес терилген сырсөздөрдү тескөө жана сырсөз өтө көп жолу туура эмес терилген болсо, телефонду кулпулап же бул колдонуучунун бардык дайындарын тазалап салуу."</string> - <string name="policylab_resetPassword" msgid="4934707632423915395">"Экран кулпусун өзгөртүү"</string> + <string name="policylab_resetPassword" msgid="4934707632423915395">"Экран кулпусун өзгөртөт"</string> <string name="policydesc_resetPassword" msgid="1278323891710619128">"Экран кулпусун өзгөртүү."</string> <string name="policylab_forceLock" msgid="2274085384704248431">"Экранды кулпулоо"</string> - <string name="policydesc_forceLock" msgid="1141797588403827138">"Экран качан жана кантип бөгөттөлөөрүн башкаруу."</string> - <string name="policylab_wipeData" msgid="3910545446758639713">"Бардык дайындарды тазалоо"</string> - <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Баштапкы абалга кайтарууну колдонуп, планшеттин бардык берилиштерин эскертүүсүз тазалоо."</string> + <string name="policydesc_forceLock" msgid="1141797588403827138">"Экран качан жана кантип кулпулана турганын башкарат."</string> + <string name="policylab_wipeData" msgid="3910545446758639713">"Бардык дайындарды тазалайт"</string> + <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Алдын-ала эскертпестен, баштапкы абалга келтирүү функциясы менен планшеттеги бардык дайындарды өчүрөт."</string> <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Сыналгынын дайындарын баштапкы абалга кайтарып, алдын-ала эскертпестен өчүрүп салуу."</string> - <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Баштапкы абалга кайтарууну колдонуп, телефондун бардык берилиштерин эскертүүсүз тазалоо."</string> + <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Алдын-ала эскертпестен, баштапкы абалга келтирүү функциясы менен телефондогу бардык дайындарды өчүрөт."</string> <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Колдонуучунун дайындарын тазалоо"</string> <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Бул колдонуучунун ушул планшеттеги дайындарын эскертүүсүз тазалоо."</string> <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Бул колдонуучунун ушул сыналгыдагы дайындарын эскертүүсүз тазалоо."</string> @@ -552,30 +552,30 @@ <item msgid="1735177144948329370">"Үй факсы"</item> <item msgid="603878674477207394">"Пейжер"</item> <item msgid="1650824275177931637">"Башка"</item> - <item msgid="9192514806975898961">"Ыңгайлаштырылган"</item> + <item msgid="9192514806975898961">"Өзгөчө"</item> </string-array> <string-array name="emailAddressTypes"> <item msgid="8073994352956129127">"Башкы бет"</item> <item msgid="7084237356602625604">"Жумуш"</item> <item msgid="1112044410659011023">"Башка"</item> - <item msgid="2374913952870110618">"Ыңгайлаштырылган"</item> + <item msgid="2374913952870110618">"Өзгөчө"</item> </string-array> <string-array name="postalAddressTypes"> <item msgid="6880257626740047286">"Башкы бет"</item> <item msgid="5629153956045109251">"Жумуш"</item> <item msgid="4966604264500343469">"Башка"</item> - <item msgid="4932682847595299369">"Ыңгайлаштырылган"</item> + <item msgid="4932682847595299369">"Өзгөчө"</item> </string-array> <string-array name="imAddressTypes"> <item msgid="1738585194601476694">"Башкы бет"</item> <item msgid="1359644565647383708">"Жумуш"</item> <item msgid="7868549401053615677">"Башка"</item> - <item msgid="3145118944639869809">"Ыңгайлаштырылган"</item> + <item msgid="3145118944639869809">"Өзгөчө"</item> </string-array> <string-array name="organizationTypes"> <item msgid="7546335612189115615">"Жумуш"</item> <item msgid="4378074129049520373">"Башка"</item> - <item msgid="3455047468583965104">"Ыңгайлаштырылган"</item> + <item msgid="3455047468583965104">"Өзгөчө"</item> </string-array> <string-array name="imProtocols"> <item msgid="8595261363518459565">"AIM"</item> @@ -587,7 +587,7 @@ <item msgid="2506857312718630823">"ICQ"</item> <item msgid="1648797903785279353">"Jabber"</item> </string-array> - <string name="phoneTypeCustom" msgid="1644738059053355820">"Ыңгайлаштырылган"</string> + <string name="phoneTypeCustom" msgid="1644738059053355820">"Өзгөчө"</string> <string name="phoneTypeHome" msgid="2570923463033985887">"Башкы бет"</string> <string name="phoneTypeMobile" msgid="6501463557754751037">"Мобилдик"</string> <string name="phoneTypeWork" msgid="8863939667059911633">"Жумуш"</string> @@ -603,29 +603,29 @@ <string name="phoneTypeOtherFax" msgid="8587657145072446565">"Башка факс"</string> <string name="phoneTypeRadio" msgid="4093738079908667513">"Радио"</string> <string name="phoneTypeTelex" msgid="3367879952476250512">"Телекс"</string> - <string name="phoneTypeTtyTdd" msgid="8606514378585000044">"Телетайп түзмөгү TDD"</string> - <string name="phoneTypeWorkMobile" msgid="1311426989184065709">"Жумуш мобил. телефон"</string> + <string name="phoneTypeTtyTdd" msgid="8606514378585000044">"TTY TDD"</string> + <string name="phoneTypeWorkMobile" msgid="1311426989184065709">"Жумуш моб."</string> <string name="phoneTypeWorkPager" msgid="649938731231157056">"Жумуш пейжери"</string> <string name="phoneTypeAssistant" msgid="5596772636128562884">"Жардамчы"</string> <string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string> - <string name="eventTypeCustom" msgid="7837586198458073404">"Ыңгайлаштырылган"</string> + <string name="eventTypeCustom" msgid="7837586198458073404">"Өзгөчө"</string> <string name="eventTypeBirthday" msgid="2813379844211390740">"Туулган күн"</string> <string name="eventTypeAnniversary" msgid="3876779744518284000">"Маараке"</string> <string name="eventTypeOther" msgid="7388178939010143077">"Башка"</string> - <string name="emailTypeCustom" msgid="8525960257804213846">"Ыңгайлаштырылган"</string> + <string name="emailTypeCustom" msgid="8525960257804213846">"Өзгөчө"</string> <string name="emailTypeHome" msgid="449227236140433919">"Башкы бет"</string> <string name="emailTypeWork" msgid="3548058059601149973">"Жумуш"</string> <string name="emailTypeOther" msgid="2923008695272639549">"Башка"</string> <string name="emailTypeMobile" msgid="119919005321166205">"Мобилдик"</string> - <string name="postalTypeCustom" msgid="8903206903060479902">"Ыңгайлаштырылган"</string> + <string name="postalTypeCustom" msgid="8903206903060479902">"Өзгөчө"</string> <string name="postalTypeHome" msgid="8165756977184483097">"Башкы бет"</string> <string name="postalTypeWork" msgid="5268172772387694495">"Жумуш"</string> <string name="postalTypeOther" msgid="2726111966623584341">"Башка"</string> - <string name="imTypeCustom" msgid="2074028755527826046">"Ыңгайлаштырылган"</string> + <string name="imTypeCustom" msgid="2074028755527826046">"Өзгөчө"</string> <string name="imTypeHome" msgid="6241181032954263892">"Башкы бет"</string> <string name="imTypeWork" msgid="1371489290242433090">"Жумуш"</string> <string name="imTypeOther" msgid="5377007495735915478">"Башка"</string> - <string name="imProtocolCustom" msgid="6919453836618749992">"Ыңгайлаштырылган"</string> + <string name="imProtocolCustom" msgid="6919453836618749992">"Өзгөчө"</string> <string name="imProtocolAim" msgid="7050360612368383417">"AIM"</string> <string name="imProtocolMsn" msgid="144556545420769442">"Windows Live"</string> <string name="imProtocolYahoo" msgid="8271439408469021273">"Yahoo"</string> @@ -637,8 +637,8 @@ <string name="imProtocolNetMeeting" msgid="8287625655986827971">"NetMeeting"</string> <string name="orgTypeWork" msgid="29268870505363872">"Жумуш"</string> <string name="orgTypeOther" msgid="3951781131570124082">"Башка"</string> - <string name="orgTypeCustom" msgid="225523415372088322">"Ыңгайлаштырылган"</string> - <string name="relationTypeCustom" msgid="3542403679827297300">"Ыңгайлаштырылган"</string> + <string name="orgTypeCustom" msgid="225523415372088322">"Өзгөчө"</string> + <string name="relationTypeCustom" msgid="3542403679827297300">"Өзгөчө"</string> <string name="relationTypeAssistant" msgid="6274334825195379076">"Жардамчы"</string> <string name="relationTypeBrother" msgid="8757913506784067713">"Ага-ини"</string> <string name="relationTypeChild" msgid="1890746277276881626">"Баласы"</string> @@ -653,7 +653,7 @@ <string name="relationTypeRelative" msgid="1799819930085610271">"Тууган"</string> <string name="relationTypeSister" msgid="1735983554479076481">"Эже-сиңди"</string> <string name="relationTypeSpouse" msgid="394136939428698117">"Жубай"</string> - <string name="sipAddressTypeCustom" msgid="2473580593111590945">"Ыңгайлаштырылган"</string> + <string name="sipAddressTypeCustom" msgid="2473580593111590945">"Өзгөчө"</string> <string name="sipAddressTypeHome" msgid="6093598181069359295">"Башкы бет"</string> <string name="sipAddressTypeWork" msgid="6920725730797099047">"Жумуш"</string> <string name="sipAddressTypeOther" msgid="4408436162950119849">"Башка"</string> @@ -1087,8 +1087,8 @@ <string name="carrier_app_dialog_not_now" msgid="6361378684292268027">"АЗЫР ЭМЕС"</string> <string name="carrier_app_notification_title" msgid="8921767385872554621">"Жаңы SIM карта салынды"</string> <string name="carrier_app_notification_text" msgid="1132487343346050225">"Аны жөндөө үчүн таптап коюңуз"</string> - <string name="time_picker_dialog_title" msgid="8349362623068819295">"Убакыт орнотуу"</string> - <string name="date_picker_dialog_title" msgid="5879450659453782278">"Күнүн орнотуу"</string> + <string name="time_picker_dialog_title" msgid="8349362623068819295">"Убакытты коюу"</string> + <string name="date_picker_dialog_title" msgid="5879450659453782278">"Күндү коюу"</string> <string name="date_time_set" msgid="5777075614321087758">"Коюу"</string> <string name="date_time_done" msgid="2507683751759308828">"Даяр"</string> <string name="perms_new_perm_prefix" msgid="8257740710754301407"><font size="12" fgcolor="#ff33b5e5">"ЖАҢЫ: "</font></string> @@ -1103,8 +1103,8 @@ <string name="usb_midi_notification_title" msgid="4850904915889144654">"MIDI үчүн USB"</string> <string name="usb_accessory_notification_title" msgid="7848236974087653666">"USB аксессуарга байланышты"</string> <string name="usb_notification_message" msgid="3370903770828407960">"Кошумча параметрлерди ачуу үчүн таптап коюңуз."</string> - <string name="adb_active_notification_title" msgid="6729044778949189918">"USB мүчүлүштүктөрдү оңдоо туташтырылган"</string> - <string name="adb_active_notification_message" msgid="4948470599328424059">"USB аркылуу мүчүлүштүктөрдү жоюу мүмкүнчүлүгүн өчүрүү үчүн таптап коюңуз."</string> + <string name="adb_active_notification_title" msgid="6729044778949189918">"USB аркылуу мүчүлүштүктөрдү оңдоо туташтырылган"</string> + <string name="adb_active_notification_message" msgid="4948470599328424059">"USB арклуу мүчүлштктрдү жоюну өчр үчн тийп коюңуз."</string> <string name="taking_remote_bugreport_notification_title" msgid="6742483073875060934">"Мүчүлүштүк тууралуу кабар алынууда…"</string> <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Мүчүлүштүк тууралуу баяндама бөлүшүлсүнбү?"</string> <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Мүчүлүштүк тууралуу баяндама бөлүшүлүүдө…"</string> @@ -1328,7 +1328,7 @@ <string name="default_audio_route_name_headphones" msgid="8119971843803439110">"Кулакчын"</string> <string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"Аудио док бекет"</string> <string name="default_media_route_name_hdmi" msgid="2450970399023478055">"HDMI"</string> - <string name="default_audio_route_category_name" msgid="3722811174003886946">"Систем"</string> + <string name="default_audio_route_category_name" msgid="3722811174003886946">"Тутум"</string> <string name="bluetooth_a2dp_audio_route_name" msgid="8575624030406771015">"Bluetooth аудио"</string> <string name="wireless_display_route_description" msgid="9070346425023979651">"Зымсыз дисплей"</string> <string name="media_route_button_content_description" msgid="591703006349356016">"Тандалгандар"</string> @@ -1348,7 +1348,7 @@ <string name="display_manager_overlay_display_title" msgid="652124517672257172">"<xliff:g id="NAME">%1$s</xliff:g>: <xliff:g id="WIDTH">%2$d</xliff:g>x<xliff:g id="HEIGHT">%3$d</xliff:g>, <xliff:g id="DPI">%4$d</xliff:g> dpi"</string> <string name="display_manager_overlay_display_secure_suffix" msgid="6022119702628572080">", корголгон"</string> <string name="kg_forgot_pattern_button_text" msgid="8852021467868220608">"Үлгү унутулду"</string> - <string name="kg_wrong_pattern" msgid="1850806070801358830">"Үлгү туура эмес"</string> + <string name="kg_wrong_pattern" msgid="1850806070801358830">"Графикалык ачкыч туура эмес"</string> <string name="kg_wrong_password" msgid="2333281762128113157">"Сырсөз туура эмес"</string> <string name="kg_wrong_pin" msgid="1131306510833563801">"PIN-код туура эмес"</string> <string name="kg_too_many_failed_attempts_countdown" msgid="6358110221603297548">"<xliff:g id="NUMBER">%1$d</xliff:g> секундадан кийин кайталаңыз."</string> diff --git a/core/res/res/values-lo-rLA/strings.xml b/core/res/res/values-lo-rLA/strings.xml index c4da92cdbf4e..cf295a35fc60 100644 --- a/core/res/res/values-lo-rLA/strings.xml +++ b/core/res/res/values-lo-rLA/strings.xml @@ -207,7 +207,7 @@ <string name="shutdown_confirm_question" msgid="2906544768881136183">"ທ່ານຕ້ອງການທີ່ຈະປິດບໍ່?"</string> <string name="reboot_safemode_title" msgid="7054509914500140361">"ຣີບູດເຂົ້າ safe mode"</string> <string name="reboot_safemode_confirm" msgid="55293944502784668">"ທ່ານຕ້ອງການຣີບູດເຂົ້າ safe mode ຫຼືບໍ່? ນີ້ຈະເປັນການປິດການເຮັດວຽກຂອງແອັບພລິເຄຊັນ ຈາກພາກສ່ວນທີສາມທັງໝົດທີ່ທ່ານໄດ້ຕິດຕັ້ງໄວ້. ແອັບພລິເຄຊັນເຫຼົ່ານັ້ນ ຈະກັບມາເຮັດວຽກໄດ້ອີກຫຼັງຈາກທ່ານຣີບູດອີກຄັ້ງ."</string> - <string name="recent_tasks_title" msgid="3691764623638127888">"ຫາກໍໃຊ້"</string> + <string name="recent_tasks_title" msgid="3691764623638127888">"ຫຼ້າສຸດ"</string> <string name="no_recent_tasks" msgid="8794906658732193473">"ບໍ່ມີແອັບຯຫຼ້າສຸດ"</string> <string name="global_actions" product="tablet" msgid="408477140088053665">"ໂຕເລືອກແທັບເລັດ"</string> <string name="global_actions" product="tv" msgid="7240386462508182976">"ທາງເລືອກໂທລະພາບ"</string> diff --git a/core/res/res/values-lv/strings.xml b/core/res/res/values-lv/strings.xml index 060d9b632e02..71f2a0785816 100644 --- a/core/res/res/values-lv/strings.xml +++ b/core/res/res/values-lv/strings.xml @@ -600,15 +600,15 @@ <string name="phoneTypeOther" msgid="1544425847868765990">"Cits"</string> <string name="phoneTypeCallback" msgid="2712175203065678206">"Atzvanīšana"</string> <string name="phoneTypeCar" msgid="8738360689616716982">"Automobiļa"</string> - <string name="phoneTypeCompanyMain" msgid="540434356461478916">"Uzņēmuma galvenais tālruņa numurs"</string> + <string name="phoneTypeCompanyMain" msgid="540434356461478916">"Darba tālrunis"</string> <string name="phoneTypeIsdn" msgid="8022453193171370337">"ISDN"</string> <string name="phoneTypeMain" msgid="6766137010628326916">"Galvenais"</string> <string name="phoneTypeOtherFax" msgid="8587657145072446565">"Cits faksa numurs"</string> <string name="phoneTypeRadio" msgid="4093738079908667513">"Radio"</string> <string name="phoneTypeTelex" msgid="3367879952476250512">"Telekss"</string> - <string name="phoneTypeTtyTdd" msgid="8606514378585000044">"Teletaips/surdotālrunis"</string> + <string name="phoneTypeTtyTdd" msgid="8606514378585000044">"TTY TDD"</string> <string name="phoneTypeWorkMobile" msgid="1311426989184065709">"Mobilā tālruņa numurs darbā"</string> - <string name="phoneTypeWorkPager" msgid="649938731231157056">"Peidžera numurs darbā"</string> + <string name="phoneTypeWorkPager" msgid="649938731231157056">"Darba peidžers"</string> <string name="phoneTypeAssistant" msgid="5596772636128562884">"Palīgs"</string> <string name="phoneTypeMms" msgid="7254492275502768992">"Multiziņa"</string> <string name="eventTypeCustom" msgid="7837586198458073404">"Pielāgoti"</string> diff --git a/core/res/res/values-mk-rMK/strings.xml b/core/res/res/values-mk-rMK/strings.xml index 21dc29fe1523..2b36f1f9f5ad 100644 --- a/core/res/res/values-mk-rMK/strings.xml +++ b/core/res/res/values-mk-rMK/strings.xml @@ -53,10 +53,10 @@ <string name="serviceErased" msgid="1288584695297200972">"Бришењето беше успешно."</string> <string name="passwordIncorrect" msgid="7612208839450128715">"Погрешна лозинка."</string> <string name="mmiComplete" msgid="8232527495411698359">"MMI заврши."</string> - <string name="badPin" msgid="9015277645546710014">"Стариот ПИН што го напишавте не е точен."</string> + <string name="badPin" msgid="9015277645546710014">"Стариот PIN што го напишавте не е точен."</string> <string name="badPuk" msgid="5487257647081132201">"ПУК-бројот што го напишавте не е точен."</string> - <string name="mismatchPin" msgid="609379054496863419">"Впишаните ПИН-броеви не се совпаѓаат."</string> - <string name="invalidPin" msgid="3850018445187475377">"Внеси ПИН од 4 до 8 броеви."</string> + <string name="mismatchPin" msgid="609379054496863419">"Впишаните PIN-броеви не се совпаѓаат."</string> + <string name="invalidPin" msgid="3850018445187475377">"Внеси PIN од 4 до 8 броеви."</string> <string name="invalidPuk" msgid="8761456210898036513">"Внеси ПУК од 8 броеви или повеќе."</string> <string name="needPuk" msgid="919668385956251611">"Вашата СИМ картичка е заклучена со ПУК код. Внесете го ПУК кодот за да се отклучи."</string> <string name="needPuk2" msgid="4526033371987193070">"Внесете го ПУК2 кодот за да се одблокира СИМ картичката."</string> @@ -67,15 +67,15 @@ </plurals> <string name="imei" msgid="2625429890869005782">"IMEI"</string> <string name="meid" msgid="4841221237681254195">"MEID"</string> - <string name="ClipMmi" msgid="6952821216480289285">"ИД на дојдовен повикувач"</string> - <string name="ClirMmi" msgid="7784673673446833091">"ИД на појдовен повикувач"</string> + <string name="ClipMmi" msgid="6952821216480289285">"ID на дојдовен повикувач"</string> + <string name="ClirMmi" msgid="7784673673446833091">"ID на појдовен повикувач"</string> <string name="ColpMmi" msgid="3065121483740183974">"ИД на поврзана линија"</string> <string name="ColrMmi" msgid="4996540314421889589">"Забрана на ИД на поврзана линија"</string> - <string name="CfMmi" msgid="5123218989141573515">"Препраќање повик"</string> + <string name="CfMmi" msgid="5123218989141573515">"Проследување повик"</string> <string name="CwMmi" msgid="9129678056795016867">"Повик на чекање"</string> <string name="BaMmi" msgid="455193067926770581">"Забрана за повик"</string> <string name="PwdMmi" msgid="7043715687905254199">"Промена на лозинка"</string> - <string name="PinMmi" msgid="3113117780361190304">"Промена на ПИН"</string> + <string name="PinMmi" msgid="3113117780361190304">"Промена на PIN"</string> <string name="CnipMmi" msgid="3110534680557857162">"Се повикува прикажаниот број"</string> <string name="CnirMmi" msgid="3062102121430548731">"Повикувачкиот број е ограничен"</string> <string name="ThreeWCMmi" msgid="9051047170321190368">"Повикување на три начини"</string> @@ -87,15 +87,15 @@ <string name="CLIRDefaultOffNextCallOn" msgid="6179425182856418465">"Стандардно, повикувачот со овој ИД не е ограничен. Следен повик: ограничен"</string> <string name="CLIRDefaultOffNextCallOff" msgid="2567998633124408552">"Стандардно, повикувачот со овој ИД не е ограничен. Следен повик: не е ограничен"</string> <string name="serviceNotProvisioned" msgid="8614830180508686666">"Услугата не е предвидена."</string> - <string name="CLIRPermanent" msgid="3377371145926835671">"Не може да го промените поставувањето за ИД на повикувач."</string> + <string name="CLIRPermanent" msgid="3377371145926835671">"Не може да го промените поставувањето за ID на повикувач."</string> <string name="RestrictedOnData" msgid="8653794784690065540">"Услугата за податоци е блокирана."</string> <string name="RestrictedOnEmergency" msgid="6581163779072833665">"Услугата за итни повици е блокирана."</string> <string name="RestrictedOnNormal" msgid="4953867011389750673">"Услугата за гласовно бирање е блокирана."</string> <string name="RestrictedOnAllVoice" msgid="3396963652108151260">"Сите услуги со говор се блокирани."</string> - <string name="RestrictedOnSms" msgid="8314352327461638897">"Услугата за СМС пораки е блокирана."</string> + <string name="RestrictedOnSms" msgid="8314352327461638897">"Услугата за SMS пораки е блокирана."</string> <string name="RestrictedOnVoiceData" msgid="996636487106171320">"Услугите со говор/податоци се блокирани."</string> - <string name="RestrictedOnVoiceSms" msgid="1888588152792023873">"Услугите за гласовно бирање/СМС пораки се блокирани."</string> - <string name="RestrictedOnAll" msgid="5643028264466092821">"Сите услугите со говор/податоци/СМС пораки се блокирани."</string> + <string name="RestrictedOnVoiceSms" msgid="1888588152792023873">"Услугите за гласовно бирање/SMS пораки се блокирани."</string> + <string name="RestrictedOnAll" msgid="5643028264466092821">"Сите услугите со говор/податоци/SMS пораки се блокирани."</string> <string name="peerTtyModeFull" msgid="6165351790010341421">"Рамноправен уред го побара режимот на TTY „FULL“"</string> <string name="peerTtyModeHco" msgid="5728602160669216784">"Рамноправен уред го побара режимот на TTY „HCO“"</string> <string name="peerTtyModeVco" msgid="1742404978686538049">"Рамноправен уред го побара режимот на TTY „VCO“"</string> @@ -103,7 +103,7 @@ <string name="serviceClassVoice" msgid="1258393812335258019">"Глас"</string> <string name="serviceClassData" msgid="872456782077937893">"Податоци"</string> <string name="serviceClassFAX" msgid="5566624998840486475">"Факс"</string> - <string name="serviceClassSMS" msgid="2015460373701527489">"СМС"</string> + <string name="serviceClassSMS" msgid="2015460373701527489">"SMS"</string> <string name="serviceClassDataAsync" msgid="4523454783498551468">"Несинхронизирани"</string> <string name="serviceClassDataSync" msgid="7530000519646054776">"Синхронизирани"</string> <string name="serviceClassPacket" msgid="6991006557993423453">"Пакет"</string> @@ -248,8 +248,8 @@ <string name="permgroupdesc_location" msgid="1346617465127855033">"пристапува до локацијата на овој уред"</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Календар"</string> <string name="permgroupdesc_calendar" msgid="3889615280211184106">"пристапува до календарот"</string> - <string name="permgrouplab_sms" msgid="228308803364967808">"СМС"</string> - <string name="permgroupdesc_sms" msgid="4656988620100940350">"испраќа и прикажува СМС-пораки"</string> + <string name="permgrouplab_sms" msgid="228308803364967808">"SMS"</string> + <string name="permgroupdesc_sms" msgid="4656988620100940350">"испраќа и прикажува SMS-пораки"</string> <string name="permgrouplab_storage" msgid="1971118770546336966">"Меморија"</string> <string name="permgroupdesc_storage" msgid="637758554581589203">"пристапува до фотографии, аудио-видео и датотеки на уредот"</string> <string name="permgrouplab_microphone" msgid="171539900250043464">"Микрофон"</string> @@ -284,20 +284,20 @@ <string name="permdesc_uninstall_shortcut" msgid="6745743474265057975">"Овозможува апликацијата да отстранува кратенки до почетниот екран без интервенција на корисникот."</string> <string name="permlab_processOutgoingCalls" msgid="3906007831192990946">"пренасочи појдовни повици"</string> <string name="permdesc_processOutgoingCalls" msgid="5156385005547315876">"Дозволува апликацијата да го види бројот што се повикува за време на појдовен повик, со опција да го пренасочи повикот кон друг број или да го прекине повикот."</string> - <string name="permlab_receiveSms" msgid="8673471768947895082">"прими текстуални пораки (СМС)"</string> - <string name="permdesc_receiveSms" msgid="6424387754228766939">"Овозможува апликацијата да прима и да обработува СМС пораки. Тоа значи дека апликацијата може да следи или да брише пораки испратени до вашиот уред без да ви ги прикаже вам."</string> - <string name="permlab_receiveMms" msgid="1821317344668257098">"прими текстуални пораки (ММС)"</string> - <string name="permdesc_receiveMms" msgid="533019437263212260">"Овозможува апликацијата да прима и да обработува ММС пораки. Тоа значи дека апликацијата може да следи или да брише пораки испратени до вашиот уред без да ви ги прикаже вам."</string> + <string name="permlab_receiveSms" msgid="8673471768947895082">"прими текстуални пораки (SMS)"</string> + <string name="permdesc_receiveSms" msgid="6424387754228766939">"Овозможува апликацијата да прима и да обработува SMS пораки. Тоа значи дека апликацијата може да следи или да брише пораки испратени до вашиот уред без да ви ги прикаже вам."</string> + <string name="permlab_receiveMms" msgid="1821317344668257098">"прими текстуални пораки (MMS)"</string> + <string name="permdesc_receiveMms" msgid="533019437263212260">"Овозможува апликацијата да прима и да обработува MMS пораки. Тоа значи дека апликацијата може да следи или да брише пораки испратени до вашиот уред без да ви ги прикаже вам."</string> <string name="permlab_readCellBroadcasts" msgid="1598328843619646166">"прочитај пораки за мобилно емитување"</string> <string name="permdesc_readCellBroadcasts" msgid="6361972776080458979">"Овозможува апликациите да ги читаат пораките за мобилно емитување што ги прима вашиот уред. Предупредувањата за мобилно емитување се доставуваат на некои локации, за да ве предупредат на итни ситуации. Злонамерните апликации може да пречат во ефикасноста или работењето на вашиот уред кога се прима емитување за итен случај."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"читај претплатени навестувања на содржина"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Дозволува апликацијата да добива детали за навестувања што се тековно синхронизирани."</string> - <string name="permlab_sendSms" msgid="7544599214260982981">"испрати и прикажи СМС-пораки"</string> - <string name="permdesc_sendSms" msgid="7094729298204937667">"Овозможува апликацијата да испраќа СМС пораки. Ова може да предизвика неочекувани трошоци. Злонамерните апликации може да ве чинат пари поради испраќање пораки без ваша потврда."</string> - <string name="permlab_readSms" msgid="8745086572213270480">"прочитај ги своите текстуални пораки (СМС или ММС)"</string> - <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Овозможува апликацијата да чита СМС пораки зачувани на вашиот таблет или на СИМ картичката. Ова овозможува апликацијата да ги прочита сите СМС пораки, без разлика на нивната содржината или доверливост."</string> - <string name="permdesc_readSms" product="tv" msgid="5102425513647038535">"Дозволува апликацијата да ги чита СМС пораките кои се складирани на вашиот телевизор или СИМ-картичка. Ова дозволува апликацијата да ги чита сите СМС пораки, без разлика на содржината или доверливоста."</string> - <string name="permdesc_readSms" product="default" msgid="3695967533457240550">"Овозможува апликацијата да чита СМС пораки зачувани на вашиот телефон или на СИМ картичката. Ова овозможува апликацијата да ги прочита сите СМС пораки, без разлика на нивната содржина или доверливост."</string> + <string name="permlab_sendSms" msgid="7544599214260982981">"испрати и прикажи SMS-пораки"</string> + <string name="permdesc_sendSms" msgid="7094729298204937667">"Овозможува апликацијата да испраќа SMS пораки. Ова може да предизвика неочекувани трошоци. Злонамерните апликации може да ве чинат пари поради испраќање пораки без ваша потврда."</string> + <string name="permlab_readSms" msgid="8745086572213270480">"прочитај ги своите текстуални пораки (SMS или MMS)"</string> + <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Овозможува апликацијата да чита SMS пораки зачувани на вашиот таблет или на СИМ картичката. Ова овозможува апликацијата да ги прочита сите SMS пораки, без разлика на нивната содржината или доверливост."</string> + <string name="permdesc_readSms" product="tv" msgid="5102425513647038535">"Дозволува апликацијата да ги чита SMS пораките кои се складирани на вашиот телевизор или СИМ-картичка. Ова дозволува апликацијата да ги чита сите SMS пораки, без разлика на содржината или доверливоста."</string> + <string name="permdesc_readSms" product="default" msgid="3695967533457240550">"Овозможува апликацијата да чита SMS пораки зачувани на вашиот телефон или на СИМ картичката. Ова овозможува апликацијата да ги прочита сите SMS пораки, без разлика на нивната содржина или доверливост."</string> <string name="permlab_receiveWapPush" msgid="5991398711936590410">"прими текстуални пораки (WAP)"</string> <string name="permdesc_receiveWapPush" msgid="748232190220583385">"Овозможува апликацијата да прима и да обработува WAP пораки. Оваа дозвола ја опфаќа способноста за следење или за бришење пораки испратени до вашиот уред без да ви ги прикаже вам."</string> <string name="permlab_getTasks" msgid="6466095396623933906">"обнови активни апликации"</string> @@ -318,7 +318,7 @@ <string name="permdesc_persistentActivity" product="default" msgid="4384760047508278272">"Овозможува апликацијата да прави трајни делови од себеси во меморијата. Ова може да ја ограничи расположливата меморија на други апликации што го забавува телефонот."</string> <string name="permlab_getPackageSize" msgid="7472921768357981986">"измери простор за складирање на апликацијата"</string> <string name="permdesc_getPackageSize" msgid="3921068154420738296">"Дозволува апликацијата да ги обнови кодот, податоците и величините на кеш."</string> - <string name="permlab_writeSettings" msgid="2226195290955224730">"измени ги системските подесувања"</string> + <string name="permlab_writeSettings" msgid="2226195290955224730">"менува системски поставки"</string> <string name="permdesc_writeSettings" msgid="7775723441558907181">"Дозволува апликацијата да ги измени податоците за поставки на системот. Злонамерните апликации може да ја нарушат конфигурацијата на системот."</string> <string name="permlab_receiveBootCompleted" msgid="5312965565987800025">"изврши на стартување"</string> <string name="permdesc_receiveBootCompleted" product="tablet" msgid="7390304664116880704">"Дозволува апликацијата сама да стартува откако системот ќе се рестартира. Со тоа можно е телефонот подолго да стартува и да се дозволи апликацијата да го забави таблетот, така што постојано ќе биде активна."</string> @@ -360,8 +360,8 @@ <string name="permdesc_accessFineLocation" msgid="5295047563564981250">"Овозможува апликацијата да ја добие вашата точна локација со користење „Глобален систем за позиционирање (ГПС)“ или извори на локација, како што се мобилни кули и Wi-Fi. Овие услуги за локација мора да се вклучени и достапни за вашиот уред за апликацијата да ги користи. Апликациите може да го користат ова за да утврдат приближно каде се наоѓате и може дополнително да потрошат батерија."</string> <string name="permlab_accessCoarseLocation" msgid="7715277613928539434">"пристап до приближната локација (врз база на мрежа)"</string> <string name="permdesc_accessCoarseLocation" msgid="2538200184373302295">"Овозможува апликацијата да ја добие вашата приближна локација. Оваа локација е изведена од услугите за локација со користење мрежа на извори на локација, како што се мобилни кули и Wi-Fi. Овие услуги за локација мора да се вклучени и достапни за вашиот уред за апликацијата да ги користи. Апликациите може да го користат ова за да утврдат приближно каде се наоѓате."</string> - <string name="permlab_modifyAudioSettings" msgid="6095859937069146086">"промени аудио подесувања"</string> - <string name="permdesc_modifyAudioSettings" msgid="3522565366806248517">"Овозможува апликацијата да ги менува глобалните аудио подесувања, како што се јачината на звукот и кој звучник се користи за излез."</string> + <string name="permlab_modifyAudioSettings" msgid="6095859937069146086">"менува аудио поставки"</string> + <string name="permdesc_modifyAudioSettings" msgid="3522565366806248517">"Овозможува апликацијата да ги менува глобалните аудио поставки, како што се јачината на звукот и кој звучник се користи за излез."</string> <string name="permlab_recordAudio" msgid="3876049771427466323">"снимај аудио"</string> <string name="permdesc_recordAudio" msgid="4906839301087980680">"Овозможува апликацијата да снима аудио со микрофонот. Оваа дозвола овозможува апликацијата да снима аудио во кое било време без ваша потврда."</string> <string name="permlab_sim_communication" msgid="2935852302216852065">"испраќање наредби до СИМ-картичката"</string> @@ -386,11 +386,11 @@ <string name="permdesc_transmitIr" product="tablet" msgid="5358308854306529170">"Овозможува апликацијата да го користи инфрацрвениот предавател на таблетот."</string> <string name="permdesc_transmitIr" product="tv" msgid="3926790828514867101">"Дозволува апликацијата да го користи инфрацрвениот предавател на телевизорот."</string> <string name="permdesc_transmitIr" product="default" msgid="7957763745020300725">"Овозможува апликацијата да го користи инфрацрвениот предавател на телефонот."</string> - <string name="permlab_setWallpaper" msgid="6627192333373465143">"подеси тапет"</string> + <string name="permlab_setWallpaper" msgid="6627192333373465143">"постави позадина"</string> <string name="permdesc_setWallpaper" msgid="7373447920977624745">"Дозволува апликацијата да го постави системскиот тапет."</string> <string name="permlab_setWallpaperHints" msgid="3278608165977736538">"приспособи ја големината на твојот тапет"</string> <string name="permdesc_setWallpaperHints" msgid="8235784384223730091">"Дозволува апликацијата да постави сугестии за големина на системски тапет."</string> - <string name="permlab_setTimeZone" msgid="2945079801013077340">"подеси временска зона"</string> + <string name="permlab_setTimeZone" msgid="2945079801013077340">"постави временска зона"</string> <string name="permdesc_setTimeZone" product="tablet" msgid="1676983712315827645">"Дозволува апликацијата да ја промени часовната зона на таблетот."</string> <string name="permdesc_setTimeZone" product="tv" msgid="888864653946175955">"Дозволува апликацијата да ја промени временската зона на телевизорот."</string> <string name="permdesc_setTimeZone" product="default" msgid="4499943488436633398">"Дозволува апликацијата да ја промени часовната зона на телефонот."</string> @@ -414,7 +414,7 @@ <string name="permdesc_changeWifiMulticastState" product="tablet" msgid="7969774021256336548">"Овозможува апликацијата да добива пакети испратени до сите уреди на Wi-Fi мрежа со користење повеќекратни адреси, а не само вашиот таблет. Користи повеќе батерија отколку кога е во режим на еднократност."</string> <string name="permdesc_changeWifiMulticastState" product="tv" msgid="9031975661145014160">"Дозволува апликацијата да прима пакети испратени до сите уреди на Wi-Fi мрежата со помош на повеќекратни адреси, а не само вашиот телевизор. Тоа користи повеќе енергија отколку режимот кој не е повеќекратен."</string> <string name="permdesc_changeWifiMulticastState" product="default" msgid="6851949706025349926">"Овозможува апликацијата да добива пакети испратени до сите уреди на Wi-Fi мрежа со користење повеќекратни адреси, а не само вашиот телефон. Користи повеќе батерија отколку кога е во режим на еднократност."</string> - <string name="permlab_bluetoothAdmin" msgid="6006967373935926659">"пристапи кон подесувања на Bluetooth"</string> + <string name="permlab_bluetoothAdmin" msgid="6006967373935926659">"пристапува кон поставки на Bluetooth"</string> <string name="permdesc_bluetoothAdmin" product="tablet" msgid="6921177471748882137">"Дозволува апликацијата да го конфигурира таблетот со локалниот Bluetooth и да открива и да се спарува со уреди на далечина."</string> <string name="permdesc_bluetoothAdmin" product="tv" msgid="3373125682645601429">"Дозволете ѝ на апликацијата да го конфигурира локалниот Bluetooth телевизор и да открива и да се спарува со далечински уреди."</string> <string name="permdesc_bluetoothAdmin" product="default" msgid="8931682159331542137">"Дозволува апликацијата да го конфигурира телефонот со локалниот Bluetooth и да открива и да се спарува со уреди на далечина."</string> @@ -453,10 +453,10 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Икона за отпечатоци"</string> - <string name="permlab_readSyncSettings" msgid="6201810008230503052">"прочитај синхронизирани подесувања"</string> - <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Овозможува апликацијата да ги чита подесувањата за синхронизирање на сметка. На пример, така може да се утврди дали апликацијата „Луѓе“ е синхронизирана со сметка."</string> + <string name="permlab_readSyncSettings" msgid="6201810008230503052">"чита поставки за синхронизација"</string> + <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Овозможува апликацијата да ги чита поставките за синхронизирање на сметка. На пример, така може да се утврди дали апликацијата „Луѓе“ е синхронизирана со сметка."</string> <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"вклучи и исклучи синхронизација"</string> - <string name="permdesc_writeSyncSettings" msgid="8956262591306369868">"Овозможува апликацијата да ги менува подесувањата за синхронизирање на сметка. На пример, ова може да се употреби да овозможи синхронизација на апликацијата „Луѓе“ со сметка."</string> + <string name="permdesc_writeSyncSettings" msgid="8956262591306369868">"Овозможува апликацијата да ги менува поставките за синхронизирање на сметка. На пример, ова може да се употреби да овозможи синхронизација на апликацијата „Луѓе“ со сметка."</string> <string name="permlab_readSyncStats" msgid="7396577451360202448">"читај статистика за синхронизација"</string> <string name="permdesc_readSyncStats" msgid="1510143761757606156">"Овозможува апликацијата да ја чита статистиката за синхронизација на сметка, вклучувајќи ја и историјата на синхронизирани настани и колку податоци се синхронизирани."</string> <string name="permlab_sdcardRead" product="nosdcard" msgid="367275095159405468">"прочитај ги содржините на твојата УСБ меморија"</string> @@ -467,8 +467,8 @@ <string name="permlab_sdcardWrite" product="default" msgid="8805693630050458763">"измени ги или избриши ги содржините на твојата СД картичка"</string> <string name="permdesc_sdcardWrite" product="nosdcard" msgid="6175406299445710888">"Дозволува пишување на УСБ-склад."</string> <string name="permdesc_sdcardWrite" product="default" msgid="4337417790936632090">"Дозволува апликацијата да пишува на СД-картичката."</string> - <string name="permlab_use_sip" msgid="2052499390128979920">"остварувај/примај повици преку СИП"</string> - <string name="permdesc_use_sip" msgid="2297804849860225257">"Дозволува апликацијата да остварува и прима повици преку СИП."</string> + <string name="permlab_use_sip" msgid="2052499390128979920">"остварува/прима повици преку SIP"</string> + <string name="permdesc_use_sip" msgid="2297804849860225257">"Дозволува апликацијата да остварува и прима повици преку SIP."</string> <string name="permlab_register_sim_subscription" msgid="3166535485877549177">"регистрира нови телекомуникациски врски преку СИМ"</string> <string name="permdesc_register_sim_subscription" msgid="2138909035926222911">"Дозволува апликацијата да регистрира нови телекомуникациски врски преку СИМ."</string> <string name="permlab_register_call_provider" msgid="108102120289029841">"регистрира нови телекомуникациски врски"</string> @@ -513,8 +513,8 @@ <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Дозволува сопственикот да се поврзе со услуги на операторот. Не треба да се користи за стандардни апликации."</string> <string name="permlab_access_notification_policy" msgid="4247510821662059671">"пристапи до Не вознемирувај"</string> <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Дозволува апликацијата да чита и пишува конфигурација Не вознемирувај."</string> - <string name="policylab_limitPassword" msgid="4497420728857585791">"Подеси правила за лозинката"</string> - <string name="policydesc_limitPassword" msgid="2502021457917874968">"Контролирај ги должината и знаците што се дозволени за лозинки и ПИН-броеви за отклучување екран."</string> + <string name="policylab_limitPassword" msgid="4497420728857585791">"Постави правила за лозинката"</string> + <string name="policydesc_limitPassword" msgid="2502021457917874968">"Контролирај ги должината и знаците што се дозволени за лозинки и PIN-броеви за отклучување екран."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Следи ги обидите за отклучување на екранот"</string> <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Посматрај го бројот на неточни лозинки што се напишани за да се отклучи екранот и заклучи го таблетот или избриши ги сите податоци од него ако бидат напишани премногу неточни лозинки."</string> <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Набљудувај го бројот на погрешно внесени лозинки при отклучување на екранот и заклучи го телевизорот или избриши ги сите негови податоци доколку се внесени премногу погрешни лозинки."</string> @@ -534,11 +534,11 @@ <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Избриши ги податоците на овој корисник на таблетот без предупредување."</string> <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Избриши ги податоците на овој корисник на телевизорот без предупредување."</string> <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Избриши ги податоците на овој корисник на телефонот без предупредување."</string> - <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Подеси го глобалниот прокси на уредот"</string> + <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Постави го глобалниот прокси на уредот"</string> <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Поставете го глобалниот прокси на уредот да се користи додека политиката е овозможена. Само сопственикот на уредот може да го поставува глобалниот прокси."</string> <string name="policylab_expirePassword" msgid="5610055012328825874">"Рок на лозинка за закл. екран"</string> - <string name="policydesc_expirePassword" msgid="5367525762204416046">"Измени колку често мора да се менува лозинката, ПИН-бројот или шемата за заклучување екран."</string> - <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Подеси шифрирање на меморија"</string> + <string name="policydesc_expirePassword" msgid="5367525762204416046">"Измени колку често мора да се менува лозинката, PIN-бројот или шемата за заклучување екран."</string> + <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Постави шифрирање на меморија"</string> <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Барај зачуваните податоци за апликација да се шифрирани."</string> <string name="policylab_disableCamera" msgid="6395301023152297826">"Оневозможи фотоапарати"</string> <string name="policydesc_disableCamera" msgid="2306349042834754597">"Спречи употреба на сите камери на уредот."</string> @@ -558,24 +558,24 @@ <item msgid="8073994352956129127">"Дома"</item> <item msgid="7084237356602625604">"Работа"</item> <item msgid="1112044410659011023">"Други"</item> - <item msgid="2374913952870110618">"Прилагодени"</item> + <item msgid="2374913952870110618">"Приспособени"</item> </string-array> <string-array name="postalAddressTypes"> <item msgid="6880257626740047286">"Дома"</item> <item msgid="5629153956045109251">"Работа"</item> <item msgid="4966604264500343469">"Други"</item> - <item msgid="4932682847595299369">"Прилагодени"</item> + <item msgid="4932682847595299369">"Приспособени"</item> </string-array> <string-array name="imAddressTypes"> <item msgid="1738585194601476694">"Дома"</item> <item msgid="1359644565647383708">"Работа"</item> <item msgid="7868549401053615677">"Други"</item> - <item msgid="3145118944639869809">"Прилагодени"</item> + <item msgid="3145118944639869809">"Приспособени"</item> </string-array> <string-array name="organizationTypes"> <item msgid="7546335612189115615">"Работа"</item> <item msgid="4378074129049520373">"Други"</item> - <item msgid="3455047468583965104">"Прилагодени"</item> + <item msgid="3455047468583965104">"Приспособени"</item> </string-array> <string-array name="imProtocols"> <item msgid="8595261363518459565">"AIM"</item> @@ -587,8 +587,8 @@ <item msgid="2506857312718630823">"ICQ"</item> <item msgid="1648797903785279353">"Jabber"</item> </string-array> - <string name="phoneTypeCustom" msgid="1644738059053355820">"Прилагодени"</string> - <string name="phoneTypeHome" msgid="2570923463033985887">"Приватен"</string> + <string name="phoneTypeCustom" msgid="1644738059053355820">"Приспособени"</string> + <string name="phoneTypeHome" msgid="2570923463033985887">"Домашен"</string> <string name="phoneTypeMobile" msgid="6501463557754751037">"Мобилен"</string> <string name="phoneTypeWork" msgid="8863939667059911633">"Работа"</string> <string name="phoneTypeFaxWork" msgid="3517792160008890912">"Факс на работа"</string> @@ -608,24 +608,24 @@ <string name="phoneTypeWorkPager" msgid="649938731231157056">"Службен пејџер"</string> <string name="phoneTypeAssistant" msgid="5596772636128562884">"Помошник"</string> <string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string> - <string name="eventTypeCustom" msgid="7837586198458073404">"Прилагодени"</string> + <string name="eventTypeCustom" msgid="7837586198458073404">"Приспособени"</string> <string name="eventTypeBirthday" msgid="2813379844211390740">"Роденден"</string> <string name="eventTypeAnniversary" msgid="3876779744518284000">"Годишнина"</string> <string name="eventTypeOther" msgid="7388178939010143077">"Други"</string> - <string name="emailTypeCustom" msgid="8525960257804213846">"Прилагодени"</string> + <string name="emailTypeCustom" msgid="8525960257804213846">"Приспособени"</string> <string name="emailTypeHome" msgid="449227236140433919">"Почетна страница"</string> <string name="emailTypeWork" msgid="3548058059601149973">"Работа"</string> <string name="emailTypeOther" msgid="2923008695272639549">"Други"</string> <string name="emailTypeMobile" msgid="119919005321166205">"Мобилен"</string> - <string name="postalTypeCustom" msgid="8903206903060479902">"Прилагодени"</string> + <string name="postalTypeCustom" msgid="8903206903060479902">"Приспособени"</string> <string name="postalTypeHome" msgid="8165756977184483097">"Дома"</string> <string name="postalTypeWork" msgid="5268172772387694495">"Работа"</string> <string name="postalTypeOther" msgid="2726111966623584341">"Друго"</string> - <string name="imTypeCustom" msgid="2074028755527826046">"Прилагодени"</string> + <string name="imTypeCustom" msgid="2074028755527826046">"Приспособени"</string> <string name="imTypeHome" msgid="6241181032954263892">"Дома"</string> <string name="imTypeWork" msgid="1371489290242433090">"Работа"</string> <string name="imTypeOther" msgid="5377007495735915478">"Друго"</string> - <string name="imProtocolCustom" msgid="6919453836618749992">"Прилагодени"</string> + <string name="imProtocolCustom" msgid="6919453836618749992">"Приспособени"</string> <string name="imProtocolAim" msgid="7050360612368383417">"AIM"</string> <string name="imProtocolMsn" msgid="144556545420769442">"Windows Live"</string> <string name="imProtocolYahoo" msgid="8271439408469021273">"Yahoo"</string> @@ -653,19 +653,19 @@ <string name="relationTypeRelative" msgid="1799819930085610271">"Роднина"</string> <string name="relationTypeSister" msgid="1735983554479076481">"Сестра"</string> <string name="relationTypeSpouse" msgid="394136939428698117">"Брачен другар"</string> - <string name="sipAddressTypeCustom" msgid="2473580593111590945">"Прилагодени"</string> + <string name="sipAddressTypeCustom" msgid="2473580593111590945">"Приспособени"</string> <string name="sipAddressTypeHome" msgid="6093598181069359295">"Дома"</string> <string name="sipAddressTypeWork" msgid="6920725730797099047">"Работа"</string> <string name="sipAddressTypeOther" msgid="4408436162950119849">"Друго"</string> <string name="quick_contacts_not_available" msgid="746098007828579688">"Не е пронајдена апликација за приказ на контактот."</string> - <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Впишете ПИН-код"</string> - <string name="keyguard_password_enter_puk_code" msgid="4800725266925845333">"Внесете ПУК и нов ПИН-код"</string> + <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Впишете PIN-код"</string> + <string name="keyguard_password_enter_puk_code" msgid="4800725266925845333">"Внесете ПУК и нов PIN-код"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1341112146710087048">"ПУК код"</string> - <string name="keyguard_password_enter_pin_prompt" msgid="8027680321614196258">"Нов ПИН-код"</string> + <string name="keyguard_password_enter_pin_prompt" msgid="8027680321614196258">"Нов PIN-код"</string> <string name="keyguard_password_entry_touch_hint" msgid="2644215452200037944"><font size="17">"Допрете за да внесете лозинка"</font></string> <string name="keyguard_password_enter_password_code" msgid="1054721668279049780">"Впишете ја лозинката за да се отклучи"</string> - <string name="keyguard_password_enter_pin_password_code" msgid="6391755146112503443">"Впишете ПИН за да се отклучи"</string> - <string name="keyguard_password_wrong_pin_code" msgid="2422225591006134936">"Погрешен ПИН код."</string> + <string name="keyguard_password_enter_pin_password_code" msgid="6391755146112503443">"Впишете PIN за да се отклучи"</string> + <string name="keyguard_password_wrong_pin_code" msgid="2422225591006134936">"Погрешен PIN код."</string> <string name="keyguard_label_text" msgid="861796461028298424">"За да го отклучите, притиснете „Мени“ и потоа „0“."</string> <string name="emergency_call_dialog_number_for_display" msgid="696192103195090970">"Број за итни случаи"</string> <string name="lockscreen_carrier_default" msgid="6169005837238288522">"Нема услуга"</string> @@ -702,16 +702,16 @@ <string name="lockscreen_sim_unlock_progress_dialog_message" msgid="595323214052881264">"СИМ картичката се отклучува..."</string> <string name="lockscreen_too_many_failed_attempts_dialog_message" msgid="6481623830344107222">"Погрешно сте ја употребиле вашата шема за отклучување <xliff:g id="NUMBER_0">%1$d</xliff:g> пати. \n\nОбидете се повторно за <xliff:g id="NUMBER_1">%2$d</xliff:g> секунди."</string> <string name="lockscreen_too_many_failed_password_attempts_dialog_message" msgid="2725973286239344555">"Погрешно сте ја впишале вашата лозинка <xliff:g id="NUMBER_0">%1$d</xliff:g> пати. \n\nОбидете се повторно за <xliff:g id="NUMBER_1">%2$d</xliff:g> секунди."</string> - <string name="lockscreen_too_many_failed_pin_attempts_dialog_message" msgid="6216672706545696955">"Погрешно сте го впишале вашиот ПИН <xliff:g id="NUMBER_0">%1$d</xliff:g> пати. \n\nОбидете се повторно за <xliff:g id="NUMBER_1">%2$d</xliff:g> секунди."</string> + <string name="lockscreen_too_many_failed_pin_attempts_dialog_message" msgid="6216672706545696955">"Погрешно сте го впишале вашиот PIN <xliff:g id="NUMBER_0">%1$d</xliff:g> пати. \n\nОбидете се повторно за <xliff:g id="NUMBER_1">%2$d</xliff:g> секунди."</string> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="9191611984625460820">"Погрешно ја употребивте шемата за отклучување <xliff:g id="NUMBER_0">%1$d</xliff:g> пати. По уште <xliff:g id="NUMBER_1">%2$d</xliff:g> неуспешни обиди, ќе побараме да го отклучите таблетот со пријавата за Google.\n\n Обидете се повторно за <xliff:g id="NUMBER_2">%3$d</xliff:g> секунди."</string> <string name="lockscreen_failed_attempts_almost_glogin" product="tv" msgid="5316664559603394684">"Неправилно ја исцртавте шемата за отклучување <xliff:g id="NUMBER_0">%1$d</xliff:g> пати. По уште <xliff:g id="NUMBER_1">%2$d</xliff:g> неуспешни обиди, ќе биде побарано да го отклучите вашиот телевизор со пријавување на Google.\n\n Обидете се повторно за <xliff:g id="NUMBER_2">%3$d</xliff:g> секунди."</string> <string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="2590227559763762751">"Погрешно ја употребивте шемата за отклучување <xliff:g id="NUMBER_0">%1$d</xliff:g> пати. По уште <xliff:g id="NUMBER_1">%2$d</xliff:g> неуспешни обиди, ќе побараме да го отклучите телефонот со пријавата за Google.\n\n Обидете се повторно за <xliff:g id="NUMBER_2">%3$d</xliff:g> секунди."</string> - <string name="lockscreen_failed_attempts_almost_at_wipe" product="tablet" msgid="6128106399745755604">"Имавте <xliff:g id="NUMBER_0">%1$d</xliff:g> неуспешни обиди да го отклучите таблетот. Ви преостануваат уште <xliff:g id="NUMBER_1">%2$d</xliff:g> неуспешни обиди и таблетот ќе се ресетира на фабричките подесувања и сите податоци на корисникот ќе се изгубат."</string> + <string name="lockscreen_failed_attempts_almost_at_wipe" product="tablet" msgid="6128106399745755604">"Имавте <xliff:g id="NUMBER_0">%1$d</xliff:g> неуспешни обиди да го отклучите таблетот. Ви преостануваат уште <xliff:g id="NUMBER_1">%2$d</xliff:g> неуспешни обиди и таблетот ќе се ресетира на фабричките поставки и сите податоци на корисникот ќе се изгубат."</string> <string name="lockscreen_failed_attempts_almost_at_wipe" product="tv" msgid="950408382418270260">"Неправилно се обидовте да го отклучите вашиот телевизор <xliff:g id="NUMBER_0">%1$d</xliff:g> пати. По уште <xliff:g id="NUMBER_1">%2$d</xliff:g> неуспешни обиди, телевизорот ќе се ресетира на стандардните фабрички вредности и сите податоци на корисникот ќе бидат изгубени."</string> - <string name="lockscreen_failed_attempts_almost_at_wipe" product="default" msgid="8603565142156826565">"Имавте <xliff:g id="NUMBER_0">%1$d</xliff:g> неуспешни обиди да го отклучите телефонот. Ви преостануваат уште <xliff:g id="NUMBER_1">%2$d</xliff:g> неуспешни обиди и телефонот ќе се ресетира на фабричките подесувања и сите податоци на корисникот ќе се изгубат."</string> - <string name="lockscreen_failed_attempts_now_wiping" product="tablet" msgid="280873516493934365">"Имавте <xliff:g id="NUMBER">%d</xliff:g> неуспешни обиди да го отклучите таблетот. Сега таблетот ќе се ресетира на фабричките подесувања."</string> + <string name="lockscreen_failed_attempts_almost_at_wipe" product="default" msgid="8603565142156826565">"Имавте <xliff:g id="NUMBER_0">%1$d</xliff:g> неуспешни обиди да го отклучите телефонот. Ви преостануваат уште <xliff:g id="NUMBER_1">%2$d</xliff:g> неуспешни обиди и телефонот ќе се ресетира на фабричките поставки и сите податоци на корисникот ќе се изгубат."</string> + <string name="lockscreen_failed_attempts_now_wiping" product="tablet" msgid="280873516493934365">"Имавте <xliff:g id="NUMBER">%d</xliff:g> неуспешни обиди да го отклучите таблетот. Сега таблетот ќе се ресетира на фабричките поставки."</string> <string name="lockscreen_failed_attempts_now_wiping" product="tv" msgid="3195755534096192191">"Неправилно се обидовте да го отклучите вашиот телевизор <xliff:g id="NUMBER">%d</xliff:g> пати. Телевизорот сега ќе биде ресетиран на стандардните фабрички вредности."</string> - <string name="lockscreen_failed_attempts_now_wiping" product="default" msgid="3025504721764922246">"Имавте <xliff:g id="NUMBER">%d</xliff:g> неуспешни обиди да го отклучите телефонот. Сега телефонот ќе се ресетира на фабричките подесувања."</string> + <string name="lockscreen_failed_attempts_now_wiping" product="default" msgid="3025504721764922246">"Имавте <xliff:g id="NUMBER">%d</xliff:g> неуспешни обиди да го отклучите телефонот. Сега телефонот ќе се ресетира на фабричките поставки."</string> <string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"Обидете се повторно за <xliff:g id="NUMBER">%d</xliff:g> секунди."</string> <string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"Ја заборавивте шемата?"</string> <string name="lockscreen_glogin_forgot_pattern" msgid="2588521501166032747">"Отклучи сметка"</string> @@ -1057,14 +1057,14 @@ <string name="wifi_p2p_invitation_to_connect_title" msgid="4958803948658533637">"Покана да се поврзе"</string> <string name="wifi_p2p_from_message" msgid="570389174731951769">"Од:"</string> <string name="wifi_p2p_to_message" msgid="248968974522044099">"До:"</string> - <string name="wifi_p2p_enter_pin_message" msgid="5920929550367828970">"Внеси го бараниот ПИН:"</string> - <string name="wifi_p2p_show_pin_message" msgid="8530563323880921094">"ПИН:"</string> + <string name="wifi_p2p_enter_pin_message" msgid="5920929550367828970">"Внеси го бараниот PIN:"</string> + <string name="wifi_p2p_show_pin_message" msgid="8530563323880921094">"PIN:"</string> <string name="wifi_p2p_frequency_conflict_message" product="tablet" msgid="8012981257742232475">"Таблетот привремено ќе се исклучи од Wi-Fi, додека да се приклучи на <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string> <string name="wifi_p2p_frequency_conflict_message" product="tv" msgid="3087858235069421128">"Телевизорот привремено ќе се исклучи од Wi-Fi мрежата додека е поврзан на <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string> <string name="wifi_p2p_frequency_conflict_message" product="default" msgid="7363907213787469151">"Телефонот привремено ќе се исклучи од Wi-Fi додека е приклучен на <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string> <string name="select_character" msgid="3365550120617701745">"Вметни знак"</string> - <string name="sms_control_title" msgid="7296612781128917719">"Испраќање СМС пораки"</string> - <string name="sms_control_message" msgid="3867899169651496433">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> испраќа голем број СМС пораки. Дали сакате да дозволите оваа апликација да продолжи со испраќање пораки?"</string> + <string name="sms_control_title" msgid="7296612781128917719">"Испраќање SMS пораки"</string> + <string name="sms_control_message" msgid="3867899169651496433">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> испраќа голем број SMS пораки. Дали сакате да дозволите оваа апликација да продолжи со испраќање пораки?"</string> <string name="sms_control_yes" msgid="3663725993855816807">"Дозволи"</string> <string name="sms_control_no" msgid="625438561395534982">"Одбиј"</string> <string name="sms_short_code_confirm_message" msgid="1645436466285310855">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> би сакала да испрати порака до <b><xliff:g id="DEST_ADDRESS">%2$s</xliff:g></b>."</string> @@ -1087,9 +1087,9 @@ <string name="carrier_app_dialog_not_now" msgid="6361378684292268027">"НЕ СЕГА"</string> <string name="carrier_app_notification_title" msgid="8921767385872554621">"Вметната е нова СИМ-картичка"</string> <string name="carrier_app_notification_text" msgid="1132487343346050225">"Допрете за да поставите"</string> - <string name="time_picker_dialog_title" msgid="8349362623068819295">"Подеси време"</string> + <string name="time_picker_dialog_title" msgid="8349362623068819295">"Постави време"</string> <string name="date_picker_dialog_title" msgid="5879450659453782278">"Постави датум"</string> - <string name="date_time_set" msgid="5777075614321087758">"Подеси"</string> + <string name="date_time_set" msgid="5777075614321087758">"Постави"</string> <string name="date_time_done" msgid="2507683751759308828">"Готово"</string> <string name="perms_new_perm_prefix" msgid="8257740710754301407"><font size="12" fgcolor="#ff33b5e5">"НОВО: "</font></string> <string name="perms_description_app" msgid="5139836143293299417">"Обезбедено од <xliff:g id="APP_NAME">%1$s</xliff:g>."</string> @@ -1249,7 +1249,7 @@ <string name="time_picker_increment_hour_button" msgid="3652056055810223139">"Зголеми час"</string> <string name="time_picker_decrement_hour_button" msgid="1377479863429214792">"Намали час"</string> <string name="time_picker_increment_set_pm_button" msgid="4147590696151230863">"Постави попладне"</string> - <string name="time_picker_decrement_set_am_button" msgid="8302140353539486752">"Подеси претпладне"</string> + <string name="time_picker_decrement_set_am_button" msgid="8302140353539486752">"Постави претпладне"</string> <string name="date_picker_increment_month_button" msgid="5369998479067934110">"Зголеми месец"</string> <string name="date_picker_decrement_month_button" msgid="1832698995541726019">"Намали месец"</string> <string name="date_picker_increment_day_button" msgid="7130465412308173903">"Зголеми ден"</string> @@ -1287,7 +1287,7 @@ <string name="storage_usb_drive_label" msgid="4501418548927759953">"<xliff:g id="MANUFACTURER">%s</xliff:g> УСБ-меморија"</string> <string name="storage_usb" msgid="3017954059538517278">"УСБ меморија"</string> <string name="extract_edit_menu_button" msgid="8940478730496610137">"Уреди"</string> - <string name="data_usage_warning_title" msgid="1955638862122232342">"Предупредување за користење податоци"</string> + <string name="data_usage_warning_title" msgid="1955638862122232342">"Опомена за потрошен интернет"</string> <string name="data_usage_warning_body" msgid="6660692274311972007">"Допрете за употреба и поставки."</string> <string name="data_usage_3g_limit_title" msgid="4361523876818447683">"Постигна лимит за 2G-3G податоци"</string> <string name="data_usage_4g_limit_title" msgid="4609566827219442376">"Постигнат лимит за 4G податоци"</string> @@ -1352,21 +1352,21 @@ <string name="kg_forgot_pattern_button_text" msgid="8852021467868220608">"Заборавив шема"</string> <string name="kg_wrong_pattern" msgid="1850806070801358830">"Погрешна шема"</string> <string name="kg_wrong_password" msgid="2333281762128113157">"Погрешна лозинка"</string> - <string name="kg_wrong_pin" msgid="1131306510833563801">"Погрешен ПИН"</string> + <string name="kg_wrong_pin" msgid="1131306510833563801">"Погрешен PIN"</string> <string name="kg_too_many_failed_attempts_countdown" msgid="6358110221603297548">"Обидете се повторно за <xliff:g id="NUMBER">%1$d</xliff:g> секунди."</string> <string name="kg_pattern_instructions" msgid="398978611683075868">"Употреби ја својата шема"</string> - <string name="kg_sim_pin_instructions" msgid="2319508550934557331">"Внеси ПИН на СИМ картичка"</string> - <string name="kg_pin_instructions" msgid="2377242233495111557">"Внеси ПИН"</string> + <string name="kg_sim_pin_instructions" msgid="2319508550934557331">"Внеси PIN на СИМ картичка"</string> + <string name="kg_pin_instructions" msgid="2377242233495111557">"Внеси PIN"</string> <string name="kg_password_instructions" msgid="5753646556186936819">"Внеси лозинка"</string> <string name="kg_puk_enter_puk_hint" msgid="453227143861735537">"СИМ картичката е сега оневозможена. Внесете ПУК код за да продолжите. Контактирајте го операторот за детали."</string> - <string name="kg_puk_enter_pin_hint" msgid="7871604527429602024">"Внеси посакуван ПИН код"</string> - <string name="kg_enter_confirm_pin_hint" msgid="325676184762529976">"Потврди го саканиот ПИН код"</string> + <string name="kg_puk_enter_pin_hint" msgid="7871604527429602024">"Внеси посакуван PIN код"</string> + <string name="kg_enter_confirm_pin_hint" msgid="325676184762529976">"Потврди го саканиот PIN код"</string> <string name="kg_sim_unlock_progress_dialog_message" msgid="8950398016976865762">"СИМ картичката се отклучува..."</string> - <string name="kg_password_wrong_pin_code" msgid="1139324887413846912">"Погрешен ПИН код."</string> - <string name="kg_invalid_sim_pin_hint" msgid="8795159358110620001">"Внесете ПИН кој содржи 4-8 броеви."</string> + <string name="kg_password_wrong_pin_code" msgid="1139324887413846912">"Погрешен PIN код."</string> + <string name="kg_invalid_sim_pin_hint" msgid="8795159358110620001">"Внесете PIN кој содржи 4-8 броеви."</string> <string name="kg_invalid_sim_puk_hint" msgid="6025069204539532000">"ПУК кодот треба да има 8 броеви."</string> <string name="kg_invalid_puk" msgid="3638289409676051243">"Повторно внесете го точниот ПУК код. Повторните обиди трајно ќе ја оневозможат СИМ картичката."</string> - <string name="kg_invalid_confirm_pin_hint" product="default" msgid="7003469261464593516">"ПИН кодовите не се совпаѓаат"</string> + <string name="kg_invalid_confirm_pin_hint" product="default" msgid="7003469261464593516">"PIN кодовите не се совпаѓаат"</string> <string name="kg_login_too_many_attempts" msgid="6486842094005698475">"Премногу обиди со шема"</string> <string name="kg_login_instructions" msgid="1100551261265506448">"За да го отклучите, најавете се со вашата сметка на Google."</string> <string name="kg_login_username_hint" msgid="5718534272070920364">"Корисничко име (е-пошта)"</string> @@ -1375,7 +1375,7 @@ <string name="kg_login_invalid_input" msgid="5754664119319872197">"Неважечко корисничко име или лозинка."</string> <string name="kg_login_account_recovery_hint" msgid="5690709132841752974">"Го заборави своето корисничко име или лозинката?\nПосети"<b>"google.com/accounts/recovery"</b>"."</string> <string name="kg_login_checking_password" msgid="1052685197710252395">"Сметката се проверува..."</string> - <string name="kg_too_many_failed_pin_attempts_dialog_message" msgid="8276745642049502550">"Погрешно сте го впишале вашиот ПИН <xliff:g id="NUMBER_0">%1$d</xliff:g> пати. \n\nОбидете се повторно за <xliff:g id="NUMBER_1">%2$d</xliff:g> секунди."</string> + <string name="kg_too_many_failed_pin_attempts_dialog_message" msgid="8276745642049502550">"Погрешно сте го впишале вашиот PIN <xliff:g id="NUMBER_0">%1$d</xliff:g> пати. \n\nОбидете се повторно за <xliff:g id="NUMBER_1">%2$d</xliff:g> секунди."</string> <string name="kg_too_many_failed_password_attempts_dialog_message" msgid="7813713389422226531">"Погрешно сте ја впишале вашата лозинка <xliff:g id="NUMBER_0">%1$d</xliff:g> пати. \n\nОбидете се повторно за <xliff:g id="NUMBER_1">%2$d</xliff:g> секунди."</string> <string name="kg_too_many_failed_pattern_attempts_dialog_message" msgid="74089475965050805">"Погрешно сте ја употребиле вашата шема за отклучување <xliff:g id="NUMBER_0">%1$d</xliff:g> пати. \n\nОбидете се повторно за <xliff:g id="NUMBER_1">%2$d</xliff:g> секунди."</string> <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="1575557200627128949">"Погрешно сте се обиделе да го отклучите телефонот <xliff:g id="NUMBER_0">%1$d</xliff:g> пати. По <xliff:g id="NUMBER_1">%2$d</xliff:g> неуспешни обиди, телефонот ќе се ресетира на фабрички стандардни вредности и сите податоци за корисникот ќе се изгубат."</string> @@ -1490,15 +1490,15 @@ <string name="reason_service_unavailable" msgid="7824008732243903268">"Услугата печатење не е овозможена"</string> <string name="print_service_installed_title" msgid="2246317169444081628">"Услугате <xliff:g id="NAME">%s</xliff:g> е инсталирана"</string> <string name="print_service_installed_message" msgid="5897362931070459152">"Допри да се овозможи"</string> - <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Внеси ПИН на администратор"</string> - <string name="restr_pin_enter_pin" msgid="3395953421368476103">"Внеси ПИН"</string> + <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Внеси PIN на администратор"</string> + <string name="restr_pin_enter_pin" msgid="3395953421368476103">"Внеси PIN"</string> <string name="restr_pin_incorrect" msgid="8571512003955077924">"Неточно"</string> - <string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"Тековен ПИН"</string> - <string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"Нов ПИН"</string> - <string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Потврди го новиот ПИН"</string> - <string name="restr_pin_create_pin" msgid="8017600000263450337">"Создади ПИН за измена на ограничувањата"</string> - <string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"ПИН кодовите не се совпаѓаат. Обиди се повторно."</string> - <string name="restr_pin_error_too_short" msgid="8173982756265777792">"ПИН кодот е премногу краток. Мора да има најмалку 4 цифри."</string> + <string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"Тековен PIN"</string> + <string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"Нов PIN"</string> + <string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Потврди го новиот PIN"</string> + <string name="restr_pin_create_pin" msgid="8017600000263450337">"Создади PIN за измена на ограничувањата"</string> + <string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"PIN кодовите не се совпаѓаат. Обиди се повторно."</string> + <string name="restr_pin_error_too_short" msgid="8173982756265777792">"PIN кодот е премногу краток. Мора да има најмалку 4 цифри."</string> <plurals name="restr_pin_countdown" formatted="false" msgid="9061246974881224688"> <item quantity="one">Обидете се повторно по <xliff:g id="COUNT">%d</xliff:g> секунда</item> <item quantity="other">Обидете се повторно по <xliff:g id="COUNT">%d</xliff:g> секунди</item> @@ -1521,14 +1521,14 @@ <string name="lock_to_app_toast_locked" msgid="9125176335701699164">"Апликацијата е закачена: откачување не е дозволено на уредов."</string> <string name="lock_to_app_start" msgid="6643342070839862795">"Екранот е закачен"</string> <string name="lock_to_app_exit" msgid="8598219838213787430">"Екранот е откачен"</string> - <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Прашај за ПИН пред откачување"</string> + <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Прашај за PIN пред откачување"</string> <string name="lock_to_app_unlock_pattern" msgid="4182192144797225137">"Прашај за шема за отклучување пред откачување"</string> <string name="lock_to_app_unlock_password" msgid="6380979775916974414">"Прашај за лозинка пред откачување"</string> <string name="package_installed_device_owner" msgid="8420696545959087545">"Инсталирано од администраторот"</string> <string name="package_updated_device_owner" msgid="8856631322440187071">"Ажурирано од администраторот"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Избришано од администраторот"</string> - <string name="battery_saver_description" msgid="1960431123816253034">"За да ви помогне да ја подобрите трајноста на батеријата, штедачот на батеријата ја намалува изведбата на уредот и го ограничува вибрирањето, услугите за локација и повеќето податоци од заднина. Е-поштата, испраќањето пораки и другите апликации кои се потпираат на синхронизација можеби нема да се ажурираат доколку не ги отворите.\n\nШтедачот на батеријата автоматски се исклучува кога уредот се полни."</string> - <string name="data_saver_description" msgid="6015391409098303235">"За да се намали користењето интернет, Штедачот на интернет спречува дел од апликациите да испраќаат или да примаат податоци во заднина. Апликацијата што ја користите во моментов можеби ќе пристапува до податоци, но тоа ќе го прави поретко. Ова значи, на пример, дека сликите нема да се прикажат додека не ги допрете."</string> + <string name="battery_saver_description" msgid="1960431123816253034">"За да ви помогне да ја подобрите трајноста на батеријата, штедачот на батеријата ја намалува изведбата на уредот и го ограничува вибрирањето, услугите за локација и повеќето податоци во заднина. Е-поштата, испраќањето пораки и другите апликации што користат синхронизација можеби нема да се ажурираат доколку не ги отворите.\n\nШтедачот на батеријата автоматски се исклучува кога уредот се полни."</string> + <string name="data_saver_description" msgid="6015391409098303235">"За да се намали користењето интернет, Штедачот на интернет спречува дел од апликациите да испраќаат или да примаат податоци во заднина. Апликацијата што ја користите во моментов можеби ќе пристапува до интернет, но тоа ќе го прави поретко. Ова значи, на пример, дека сликите нема да се прикажат додека не ги допрете."</string> <string name="data_saver_enable_title" msgid="4674073932722787417">"Вклучете Штедач на интернет?"</string> <string name="data_saver_enable_button" msgid="7147735965247211818">"Вклучи"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> @@ -1609,7 +1609,7 @@ <string name="work_mode_off_message" msgid="3286169091278094476">"Дозволете работниот профил да функционира, вклучувајќи ги апликациите, синхронизирањето во заднина и други поврзани функции."</string> <string name="work_mode_turn_on" msgid="2062544985670564875">"Вклучи"</string> <string name="new_sms_notification_title" msgid="8442817549127555977">"Имате нови пораки"</string> - <string name="new_sms_notification_content" msgid="7002938807812083463">"Отворете ја апликацијата за СМС за приказ"</string> + <string name="new_sms_notification_content" msgid="7002938807812083463">"Отворете ја апликацијата за SMS за приказ"</string> <string name="user_encrypted_title" msgid="9054897468831672082">"Некои функции се ограничени"</string> <string name="user_encrypted_message" msgid="4923292604515744267">"Допрете за да отклучите"</string> <string name="user_encrypted_detail" msgid="5708447464349420392">"Кориснички податоци, заклучени"</string> diff --git a/core/res/res/values-ml-rIN/strings.xml b/core/res/res/values-ml-rIN/strings.xml index 9149c4b10c95..ec212382c1f2 100644 --- a/core/res/res/values-ml-rIN/strings.xml +++ b/core/res/res/values-ml-rIN/strings.xml @@ -71,7 +71,7 @@ <string name="ClirMmi" msgid="7784673673446833091">"ഔട്ട്ഗോയിംഗ് കോളർ ഐഡി"</string> <string name="ColpMmi" msgid="3065121483740183974">"കണക്റ്റുചെയ്തിരിക്കുന്ന ലൈൻ ഐഡി"</string> <string name="ColrMmi" msgid="4996540314421889589">"കണക്റ്റുചെയ്തിരിക്കുന്ന ലൈൻ ഐഡി നിയന്ത്രണം"</string> - <string name="CfMmi" msgid="5123218989141573515">"കോൾ കൈമാറൽ"</string> + <string name="CfMmi" msgid="5123218989141573515">"കോൾ ഫോർവേഡിംഗ്"</string> <string name="CwMmi" msgid="9129678056795016867">"കോൾ വെയ്റ്റിംഗ്"</string> <string name="BaMmi" msgid="455193067926770581">"കോൾ നിരോധിക്കൽ"</string> <string name="PwdMmi" msgid="7043715687905254199">"പാസ്വേഡ് മാറ്റം"</string> @@ -231,7 +231,7 @@ <string name="global_actions_toggle_airplane_mode" msgid="5884330306926307456">"ഫ്ലൈറ്റ് മോഡ്"</string> <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"ഫ്ലൈറ്റ് മോഡ് ഓണാണ്"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"ഫ്ലൈറ്റ് മോഡ് ഓഫാണ്"</string> - <string name="global_action_settings" msgid="1756531602592545966">"ക്രമീകരണങ്ങൾ"</string> + <string name="global_action_settings" msgid="1756531602592545966">"ക്രമീകരണം"</string> <string name="global_action_assist" msgid="3892832961594295030">"അസിസ്റ്റ്"</string> <string name="global_action_voice_assist" msgid="7751191495200504480">"വോയ്സ് സഹായം"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"ഇപ്പോൾ ലോക്കുചെയ്യുക"</string> @@ -245,7 +245,7 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"കോൺടാക്റ്റുകൾ"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"നിങ്ങളുടെ കോൺടാക്റ്റുകൾ ആക്സസ്സ് ചെയ്യുക"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"ലൊക്കേഷൻ"</string> - <string name="permgroupdesc_location" msgid="1346617465127855033">"ഈ ഉപകരണത്തിന്റെ ലൊക്കേഷൻ ആക്സസ് ചെയ്യുക"</string> + <string name="permgroupdesc_location" msgid="1346617465127855033">"ഈ ഉപകരണത്തിന്റെ ലൊക്കേഷൻ ആക്സസ് ചെയ്യാൻ"</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"കലണ്ടർ"</string> <string name="permgroupdesc_calendar" msgid="3889615280211184106">"നിങ്ങളുടെ കലണ്ടർ ആക്സസ്സ് ചെയ്യുക"</string> <string name="permgrouplab_sms" msgid="228308803364967808">"SMS"</string> @@ -556,7 +556,7 @@ </string-array> <string-array name="emailAddressTypes"> <item msgid="8073994352956129127">"വീട്ടിലെ ഇമെയിൽ"</item> - <item msgid="7084237356602625604">"ഔദ്യോഗിക ഇമെയിൽ"</item> + <item msgid="7084237356602625604">"ഓഫീസ്"</item> <item msgid="1112044410659011023">"മറ്റുള്ളവ"</item> <item msgid="2374913952870110618">"ഇഷ്ടാനുസൃതം"</item> </string-array> @@ -597,14 +597,14 @@ <string name="phoneTypeOther" msgid="1544425847868765990">"മറ്റുള്ളവ"</string> <string name="phoneTypeCallback" msgid="2712175203065678206">"കോള്ബാക്ക്"</string> <string name="phoneTypeCar" msgid="8738360689616716982">"കാര്"</string> - <string name="phoneTypeCompanyMain" msgid="540434356461478916">"കമ്പനിയിലെ പ്രധാന നമ്പർ"</string> + <string name="phoneTypeCompanyMain" msgid="540434356461478916">"ഓഫീസ് നമ്പർ"</string> <string name="phoneTypeIsdn" msgid="8022453193171370337">"ISDN"</string> <string name="phoneTypeMain" msgid="6766137010628326916">"പ്രധാന നമ്പർ"</string> <string name="phoneTypeOtherFax" msgid="8587657145072446565">"മറ്റുള്ള ഫാക്സ്"</string> <string name="phoneTypeRadio" msgid="4093738079908667513">"റേഡിയോ"</string> <string name="phoneTypeTelex" msgid="3367879952476250512">"ടെലക്സ്"</string> <string name="phoneTypeTtyTdd" msgid="8606514378585000044">"TTY TDD"</string> - <string name="phoneTypeWorkMobile" msgid="1311426989184065709">"ഔദ്യോഗിക മൊബൈല്"</string> + <string name="phoneTypeWorkMobile" msgid="1311426989184065709">"ഓഫീസ് മൊബൈല്"</string> <string name="phoneTypeWorkPager" msgid="649938731231157056">"ഔദ്യോഗിക പേജര്"</string> <string name="phoneTypeAssistant" msgid="5596772636128562884">"അസിസ്റ്റന്റ്"</string> <string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string> @@ -614,7 +614,7 @@ <string name="eventTypeOther" msgid="7388178939010143077">"മറ്റുള്ളവ"</string> <string name="emailTypeCustom" msgid="8525960257804213846">"ഇഷ്ടാനുസൃതം"</string> <string name="emailTypeHome" msgid="449227236140433919">"ഹോം"</string> - <string name="emailTypeWork" msgid="3548058059601149973">"ഔദ്യോഗിക ഇമെയിൽ"</string> + <string name="emailTypeWork" msgid="3548058059601149973">"ഓഫീസ്"</string> <string name="emailTypeOther" msgid="2923008695272639549">"മറ്റുള്ളവ"</string> <string name="emailTypeMobile" msgid="119919005321166205">"മൊബൈൽ"</string> <string name="postalTypeCustom" msgid="8903206903060479902">"ഇഷ്ടാനുസൃതം"</string> @@ -679,7 +679,7 @@ <string name="lockscreen_pattern_wrong" msgid="4317955014948108794">"വീണ്ടും ശ്രമിക്കുക"</string> <string name="lockscreen_password_wrong" msgid="5737815393253165301">"വീണ്ടും ശ്രമിക്കുക"</string> <string name="faceunlock_multiple_failures" msgid="754137583022792429">"മുഖം തിരിച്ചറിഞ്ഞുള്ള അൺലോക്ക് ശ്രമങ്ങളുടെ പരമാവധി കഴിഞ്ഞു"</string> - <string name="lockscreen_missing_sim_message_short" msgid="5099439277819215399">"സിം കാർഡൊന്നുമില്ല"</string> + <string name="lockscreen_missing_sim_message_short" msgid="5099439277819215399">"സിം കാർഡില്ല"</string> <string name="lockscreen_missing_sim_message" product="tablet" msgid="151659196095791474">"ടാബ്ലെറ്റിൽ സിം കാർഡൊന്നുമില്ല."</string> <string name="lockscreen_missing_sim_message" product="tv" msgid="1943633865476989599">"ടിവിയിൽ SIM കാർഡൊന്നുമില്ല."</string> <string name="lockscreen_missing_sim_message" product="default" msgid="2186920585695169078">"ഫോണിൽ സിം കാർഡൊന്നുമില്ല."</string> @@ -717,10 +717,10 @@ <string name="lockscreen_glogin_forgot_pattern" msgid="2588521501166032747">"അക്കൗണ്ട് അൺലോക്ക്"</string> <string name="lockscreen_glogin_too_many_attempts" msgid="2751368605287288808">"വളരെയധികം പാറ്റേൺ ശ്രമങ്ങൾ"</string> <string name="lockscreen_glogin_instructions" msgid="3931816256100707784">"അൺലോക്കുചെയ്യുന്നതിന്, നിങ്ങളുടെ Google അക്കൗണ്ട് ഉപയോഗിച്ച് സൈൻ ഇൻ ചെയ്യുക."</string> - <string name="lockscreen_glogin_username_hint" msgid="8846881424106484447">"ഉപയോക്തൃനാമം (ഇമെയിൽ)"</string> + <string name="lockscreen_glogin_username_hint" msgid="8846881424106484447">"ഉപയോക്താവിന്റെ പേര് (ഇമെയിൽ)"</string> <string name="lockscreen_glogin_password_hint" msgid="5958028383954738528">"പാസ്വേഡ്"</string> <string name="lockscreen_glogin_submit_button" msgid="7130893694795786300">"സൈൻ ഇൻ ചെയ്യുക"</string> - <string name="lockscreen_glogin_invalid_input" msgid="1364051473347485908">"ഉപയോക്തൃനാമമോ പാസ്വേഡോ അസാധുവാണ്."</string> + <string name="lockscreen_glogin_invalid_input" msgid="1364051473347485908">"ഉപയോക്താവിന്റെ പേരോ പാസ്വേഡോ അസാധുവാണ്."</string> <string name="lockscreen_glogin_account_recovery_hint" msgid="1696924763690379073">"നിങ്ങളുടെ ഉപയോക്തൃനാമമോ പാസ്വേഡോ മറന്നുപോയോ?\n"<b>"google.com/accounts/recovery"</b>" സന്ദർശിക്കുക."</string> <string name="lockscreen_glogin_checking_password" msgid="7114627351286933867">"പരിശോധിക്കുന്നു…"</string> <string name="lockscreen_unlock_label" msgid="737440483220667054">"അൺലോക്കുചെയ്യുക"</string> @@ -1022,9 +1022,9 @@ <string name="volume_icon_description_incall" msgid="8890073218154543397">"കോൾ വോളിയം"</string> <string name="volume_icon_description_media" msgid="4217311719665194215">"മീഡിയ വോളിയം"</string> <string name="volume_icon_description_notification" msgid="7044986546477282274">"അറിയിപ്പ് വോളിയം"</string> - <string name="ringtone_default" msgid="3789758980357696936">"സ്ഥിര റിംഗ്ടോൺ"</string> - <string name="ringtone_default_with_actual" msgid="8129563480895990372">"സ്ഥിര റിംഗ്ടോൺ (<xliff:g id="ACTUAL_RINGTONE">%1$s</xliff:g>)"</string> - <string name="ringtone_silent" msgid="7937634392408977062">"ഒന്നുമില്ല"</string> + <string name="ringtone_default" msgid="3789758980357696936">"ഡിഫോൾട്ട് റിംഗ്ടോൺ"</string> + <string name="ringtone_default_with_actual" msgid="8129563480895990372">"ഡിഫോൾട്ട് റിംഗ്ടോൺ (<xliff:g id="ACTUAL_RINGTONE">%1$s</xliff:g>)"</string> + <string name="ringtone_silent" msgid="7937634392408977062">"ഒന്നും വേണ്ട"</string> <string name="ringtone_picker_title" msgid="3515143939175119094">"റിംഗ്ടോണുകൾ"</string> <string name="ringtone_unknown" msgid="5477919988701784788">"അജ്ഞാത റിംഗ്ടോൺ"</string> <plurals name="wifi_available" formatted="false" msgid="7900333017752027322"> @@ -1335,7 +1335,7 @@ <string name="media_route_chooser_title" msgid="1751618554539087622">"ഉപകരണത്തിലേക്ക് കണക്റ്റുചെയ്യുക"</string> <string name="media_route_chooser_title_for_remote_display" msgid="3395541745872017583">"സ്ക്രീൻ ഉപകരണത്തിലേക്ക് കാസ്റ്റുചെയ്യുക"</string> <string name="media_route_chooser_searching" msgid="4776236202610828706">"ഉപകരണങ്ങൾക്കായി തിരയുന്നു…"</string> - <string name="media_route_chooser_extended_settings" msgid="87015534236701604">"ക്രമീകരണങ്ങൾ"</string> + <string name="media_route_chooser_extended_settings" msgid="87015534236701604">"ക്രമീകരണം"</string> <string name="media_route_controller_disconnect" msgid="8966120286374158649">"വിച്ഛേദിക്കുക"</string> <string name="media_route_status_scanning" msgid="7279908761758293783">"സ്കാൻ ചെയ്യുന്നു..."</string> <string name="media_route_status_connecting" msgid="6422571716007825440">"കണക്റ്റുചെയ്യുന്നു..."</string> @@ -1367,7 +1367,7 @@ <string name="kg_invalid_confirm_pin_hint" product="default" msgid="7003469261464593516">"പിൻ കോഡുകൾ പൊരുത്തപ്പെടുന്നില്ല"</string> <string name="kg_login_too_many_attempts" msgid="6486842094005698475">"വളരെയധികം പാറ്റേൺ ശ്രമങ്ങൾ"</string> <string name="kg_login_instructions" msgid="1100551261265506448">"അൺലോക്കുചെയ്യുന്നതിന്, നിങ്ങളുടെ Google അക്കൗണ്ട് ഉപയോഗിച്ച് സൈൻ ഇൻ ചെയ്യുക."</string> - <string name="kg_login_username_hint" msgid="5718534272070920364">"ഉപയോക്തൃനാമം (ഇമെയിൽ)"</string> + <string name="kg_login_username_hint" msgid="5718534272070920364">"ഉപയോക്താവിന്റെ പേര് (ഇമെയിൽ)"</string> <string name="kg_login_password_hint" msgid="9057289103827298549">"പാസ്വേഡ്"</string> <string name="kg_login_submit_button" msgid="5355904582674054702">"സൈൻ ഇൻ ചെയ്യുക"</string> <string name="kg_login_invalid_input" msgid="5754664119319872197">"ഉപയോക്തൃനാമമോ പാസ്വേഡോ അസാധുവാണ്."</string> diff --git a/core/res/res/values-mn-rMN/strings.xml b/core/res/res/values-mn-rMN/strings.xml index 6c345cf1035b..06634767d2dd 100644 --- a/core/res/res/values-mn-rMN/strings.xml +++ b/core/res/res/values-mn-rMN/strings.xml @@ -144,7 +144,7 @@ <string name="cfTemplateRegisteredTime" msgid="6781621964320635172">"<xliff:g id="BEARER_SERVICE_CODE">{0}</xliff:g>: дамжуулагдаагүй"</string> <string name="fcComplete" msgid="3118848230966886575">"Онцлог код дуусав."</string> <string name="fcError" msgid="3327560126588500777">"Холболтын асуудал эсвэл буруу функцын код."</string> - <string name="httpErrorOk" msgid="1191919378083472204">"Тийм"</string> + <string name="httpErrorOk" msgid="1191919378083472204">"ОК"</string> <string name="httpError" msgid="7956392511146698522">"Сүлжээний алдаа гарав."</string> <string name="httpErrorLookup" msgid="4711687456111963163">"URL олдсонгүй."</string> <string name="httpErrorUnsupportedAuthScheme" msgid="6299980280442076799">"Сайт гэрчлэлийн схем дэмжигдэхгүй."</string> @@ -246,7 +246,7 @@ <string name="permgroupdesc_contacts" msgid="6951499528303668046">"харилцагч руугаа хандах"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Байршил"</string> <string name="permgroupdesc_location" msgid="1346617465127855033">"энэ төхөөрөмжийн байршилд хандалт хийх"</string> - <string name="permgrouplab_calendar" msgid="5863508437783683902">"Календарь"</string> + <string name="permgrouplab_calendar" msgid="5863508437783683902">"Хуанли"</string> <string name="permgroupdesc_calendar" msgid="3889615280211184106">"Хуанли руу хандах"</string> <string name="permgrouplab_sms" msgid="228308803364967808">"Мессеж"</string> <string name="permgroupdesc_sms" msgid="4656988620100940350">"SMS мессежийг илгээх, харах"</string> @@ -351,9 +351,9 @@ <string name="permdesc_readCalendar" product="tv" msgid="3191352452242394196">"Апп-д таны найз, эсвэл хамтран ажиллагсдын гэх мэт таны телевиз дээр хадгалагдсан бүх хуанлийн үйл ажиллагааг уншихыг зөвшөөрдөг. Энэ нь апп-д таны хуанлийн өгөгдлийг нууцлалтай эсэхээс үл хамааран хадгалахыг зөвшөөрч болох юм."</string> <string name="permdesc_readCalendar" product="default" msgid="7434548682470851583">"Allows the app to read all calendar events stored on your phone, including those of friends or co-workers. This may allow the app to share or save your calendar data, regardless of confidentiality or sensitivity. Апп нь таны утсан дээр хадгалагдсан найзууд болон хамтран ажиллагсдын календарийн бүх хуваарийг унших боломжтой. Энэ нь апп-д таны календарийн датаг нууц эсвэл эмзэг эсэхээс нь үл хамааран хуваалцах эсвэл хадгалах боломжийг олгоно."</string> <string name="permlab_writeCalendar" msgid="8438874755193825647">"календарын хуваарийг нэмэх эсвэл өөрчлөх болон эзэмшигчид мэдэгдэлгүйгээр зочидруу имэйл илгээх"</string> - <string name="permdesc_writeCalendar" product="tablet" msgid="6679035520113668528">"Апп нь таблет дээр та болон таны найзууд, хамтран ажиллагсдын өөрчилж чадах үйл явдлуудыг нэмэх, хасах болон солих боломжтой. Энэ нь апп-д, календарь эзэмшигчээс ирсэн мэт харагдах мессежийг илгээх эсвэл эзэмшигчд нь мэдэгдэлгүйгээр үйл явдлуудыг өөрчлөх боломжийг олгоно."</string> + <string name="permdesc_writeCalendar" product="tablet" msgid="6679035520113668528">"Апп нь таблет дээр таны, найзууд, хамтран ажиллагсдын өөрчилж чадах үйл явдлуудыг нэмэх, хасах, солих боломжтой. Энэ нь апп-д, хуанли эзэмшигчээс ирсэн мэт харагдах мессежийг илгээх эсвэл эзэмшигчд нь мэдэгдэлгүйгээр үйл явдлуудыг өөрчлөх боломжийг олгоно."</string> <string name="permdesc_writeCalendar" product="tv" msgid="1273290605500902507">"Апп-д таны телевиз дээрээ өөрчилж болох найз эсвэл хамтран ажиллагсдын үйл явдлыг нэмэх, устгах, өөрчлөхийг зөвшөөрдөг. Энэ нь апп-д хуанлийн үйл явдлын эзэд явуулсан мэт харагдах зурвасыг илгээхийг зөвшөөрдөг бөгөөд тухайн эздэд мэдэгдэлгүйгээр үйл явдлыг өөрчлөхийг зөвшөөрдөг."</string> - <string name="permdesc_writeCalendar" product="default" msgid="2324469496327249376">"Апп нь утсан дээр та болон таны найзууд, хамтран ажиллагсдын өөрчилж чадах үйл явдлуудыг нэмэх, хасах болон солих боломжтой. Энэ нь апп-д, календарь эзэмшигчээс ирсэн мэт харагдах мессежийг илгээх эсвэл эзэмшигчид нь мэдэгдэлгүйгээр үйл явдлуудыг өөрчлөх боломжийг олгоно."</string> + <string name="permdesc_writeCalendar" product="default" msgid="2324469496327249376">"Апп нь утсан дээр таны, найзууд, хамтран ажиллагсдын өөрчилж чадах үйл явдлуудыг нэмэх, хасах, солих боломжтой. Энэ нь апп-д, хуанли эзэмшигчээс ирсэн мэт харагдах мессежийг илгээх эсвэл эзэмшигчид нь мэдэгдэлгүйгээр үйл явдлуудыг өөрчлөх боломжийг олгоно."</string> <string name="permlab_accessLocationExtraCommands" msgid="2836308076720553837">"байршил нийлүүлэгчийн нэмэлт тушаалд хандах"</string> <string name="permdesc_accessLocationExtraCommands" msgid="6078307221056649927">"Апп нь байршил нийлүүлэгчийн нэмэлт тушаалд хандах боломжтой. Энэ нь апп-д GPS эсвэл бусад байршлын үйлчилгээний ажиллагаанд нөлөөлөх боломжийг олгоно."</string> <string name="permlab_accessFineLocation" msgid="251034415460950944">"тодорхой байршилд хандах (GPS, сүлжээнд суурилсан)"</string> @@ -414,7 +414,7 @@ <string name="permdesc_changeWifiMulticastState" product="tablet" msgid="7969774021256336548">"Апп нь олон дамжуулал ашиглан Wi-Fi сүлжээн дэх бүх төхөөрөмжрүү пакет илгээх болон хүлээн авах боломжтой. Энэ нь олон дамжуулал ашиглахгүй горимоос илүү их тэжээл зарцуулна."</string> <string name="permdesc_changeWifiMulticastState" product="tv" msgid="9031975661145014160">"Апп-д зөвхөн таны телевиз ч биш, Wi-Fi сүлжээг ашиглаж буй бүх төхөөрөмжид илгээсэн мэдээллийг хүлээн авахыг зөвшөөрдөг. Энэ нь олон хаягт горимоос илүү их эрчим хүч хэрэглэдэг."</string> <string name="permdesc_changeWifiMulticastState" product="default" msgid="6851949706025349926">"Апп нь олон дамжуулал ашиглан Wi-Fi сүлжээн дэх бүх төхөөрөмжрүү пакет илгээх болон хүлээн авах боломжтой. Энэ нь олон дамжуулал ашиглахгүй горимоос илүү их тэжээл зарцуулна."</string> - <string name="permlab_bluetoothAdmin" msgid="6006967373935926659">"Блютүүт тохиргоонд хандах"</string> + <string name="permlab_bluetoothAdmin" msgid="6006967373935926659">"Bluetooth тохиргоонд хандах"</string> <string name="permdesc_bluetoothAdmin" product="tablet" msgid="6921177471748882137">"Апп нь дотоод блютүүт таблетын тохиргоог харах боломжтой ба хос болох төхөөрөмжтэй холболтыг зөвшөөрөх болон хийх боломжтой"</string> <string name="permdesc_bluetoothAdmin" product="tv" msgid="3373125682645601429">"Телевизийн суурин Bluetooth-г тохируулах, алсын төхөөрөмжийг илрүүлэх болон холбогдохыг апп-д зөвшөөрдөг."</string> <string name="permdesc_bluetoothAdmin" product="default" msgid="8931682159331542137">"Апп нь утасны дотоод блютүүтыг тохируулах боломжтой ба гадаад төхөөрөмжийг олох болон хос үүсгэх боломжтой."</string> @@ -424,10 +424,10 @@ <string name="permdesc_changeWimaxState" product="tablet" msgid="3156456504084201805">"Апп нь WiMAX сүлжээнд таблетыг холбох болон салгах боломжтой."</string> <string name="permdesc_changeWimaxState" product="tv" msgid="6022307083934827718">"Телевизийг WiMAX сүлжээнд холбох, салгахыг апп-д зөвшөөрдөг."</string> <string name="permdesc_changeWimaxState" product="default" msgid="697025043004923798">"Апп нь WiMAX сүлжээнд утсыг холбох болон салгах боломжтой."</string> - <string name="permlab_bluetooth" msgid="6127769336339276828">"Блютүүт төхөөрөмжтэй хос үүсгэх"</string> + <string name="permlab_bluetooth" msgid="6127769336339276828">"Bluetooth төхөөрөмжтэй хос үүсгэх"</string> <string name="permdesc_bluetooth" product="tablet" msgid="3480722181852438628">"Апп нь таблет дээрх блютүүт тохиргоог харах боломжтой ба хос болох төхөөрөмжтэй холболтыг зөвшөөрөх болон хийх боломжтой."</string> <string name="permdesc_bluetooth" product="tv" msgid="3974124940101104206">"Телевизийн Bluetooth тохиргоог нээж харах, бусад төхөөрөмжтэй холболт хийх болон хүлээн авахыг апп-д зөвшөөрдөг."</string> - <string name="permdesc_bluetooth" product="default" msgid="3207106324452312739">"Апп нь утсан дээрх Блютүүт тохиргоог харах боломжтой ба хос болох төхөөрөмжтэй холболтыг зөвшөөрөх болон хийх боломжтой."</string> + <string name="permdesc_bluetooth" product="default" msgid="3207106324452312739">"Апп нь утсан дээрх Bluetooth тохиргоог харах боломжтой ба хос болох төхөөрөмжтэй холболтыг зөвшөөрөх болон хийх боломжтой."</string> <string name="permlab_nfc" msgid="4423351274757876953">"ойролцоо талбарын холбоог удирдах"</string> <string name="permdesc_nfc" msgid="7120611819401789907">"Апп нь Ойролцоо Талбарын Холболт(NFC) таг, карт, болон уншигчтай холбогдох боломжтой."</string> <string name="permlab_disableKeyguard" msgid="3598496301486439258">"дэлгэцний түгжээг идэвхгүй болгох"</string> @@ -894,7 +894,7 @@ <string name="VideoView_error_title" msgid="3534509135438353077">"Видео алдаа"</string> <string name="VideoView_error_text_invalid_progressive_playback" msgid="3186670335938670444">"Энэ видео энэ төхөөрөмж дээр урсгалаар гарч чадахгүй."</string> <string name="VideoView_error_text_unknown" msgid="3450439155187810085">"Энэ видеог тоглуулах боломжгүй."</string> - <string name="VideoView_error_button" msgid="2822238215100679592">"Тийм"</string> + <string name="VideoView_error_button" msgid="2822238215100679592">"ОК"</string> <string name="relative_time" msgid="1818557177829411417">"<xliff:g id="DATE">%1$s</xliff:g>, <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="noon" msgid="7245353528818587908">"үд"</string> <string name="Noon" msgid="3342127745230013127">"Үд"</string> @@ -923,9 +923,9 @@ <string name="low_internal_storage_view_text_no_boot" msgid="6935190099204693424">"Системд хангалттай сан байхгүй байна. 250MБ чөлөөтэй зай байгаа эсэхийг шалгаад дахин эхлүүлнэ үү."</string> <string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> ажиллаж байна"</string> <string name="app_running_notification_text" msgid="1197581823314971177">"Илүү мэдээлэл авах эсвэл апп-г зогсоохын тулд товшино уу."</string> - <string name="ok" msgid="5970060430562524910">"Тийм"</string> + <string name="ok" msgid="5970060430562524910">"ОК"</string> <string name="cancel" msgid="6442560571259935130">"Цуцлах"</string> - <string name="yes" msgid="5362982303337969312">"Тийм"</string> + <string name="yes" msgid="5362982303337969312">"ОК"</string> <string name="no" msgid="5141531044935541497">"Цуцлах"</string> <string name="dialog_alert_title" msgid="2049658708609043103">"Анхаар"</string> <string name="loading" msgid="7933681260296021180">"Ачааллаж байна..."</string> @@ -974,7 +974,7 @@ <string name="anr_activity_process" msgid="1622382268908620314">"<xliff:g id="ACTIVITY">%1$s</xliff:g> хариу өгөхгүй байна"</string> <string name="anr_application_process" msgid="6417199034861140083">"<xliff:g id="APPLICATION">%1$s</xliff:g> хариу өгөхгүй байна"</string> <string name="anr_process" msgid="6156880875555921105">"<xliff:g id="PROCESS">%1$s</xliff:g> явц хариу өгөхгүй байна"</string> - <string name="force_close" msgid="8346072094521265605">"Тийм"</string> + <string name="force_close" msgid="8346072094521265605">"ОК"</string> <string name="report" msgid="4060218260984795706">"Мэдэгдэх"</string> <string name="wait" msgid="7147118217226317732">"Хүлээх"</string> <string name="webpage_unresponsive" msgid="3272758351138122503">"Хуудас хариу өгөхгүй байна.\n\nТа энийг хаах уу?"</string> @@ -1013,7 +1013,7 @@ <string name="volume_music_hint_playing_through_bluetooth" msgid="9165984379394601533">"Блютүүтээр тоглож байна"</string> <string name="volume_music_hint_silent_ringtone_selected" msgid="8310739960973156272">"Хонхны дууг чимээгүй болгов"</string> <string name="volume_call" msgid="3941680041282788711">"Ирсэн дуудлагын дууны хэмжээ"</string> - <string name="volume_bluetooth_call" msgid="2002891926351151534">"Блютүүт ирсэн дуудлагын дууны хэмжээ"</string> + <string name="volume_bluetooth_call" msgid="2002891926351151534">"Bluetooth ирсэн дуудлагын дууны хэмжээ"</string> <string name="volume_alarm" msgid="1985191616042689100">"Сэрүүлгийн дууны хэмжээ"</string> <string name="volume_notification" msgid="2422265656744276715">"Мэдэгдлийн дууны хэмжээ"</string> <string name="volume_unknown" msgid="1400219669770445902">"Дууны хэмжээ"</string> @@ -1095,7 +1095,7 @@ <string name="perms_description_app" msgid="5139836143293299417">"<xliff:g id="APP_NAME">%1$s</xliff:g> өгсөн."</string> <string name="no_permissions" msgid="7283357728219338112">"Зөвшөөрөл шаардахгүй"</string> <string name="perm_costs_money" msgid="4902470324142151116">"Энэ таныг төлбөрт оруулж болзошгүй"</string> - <string name="dlg_ok" msgid="7376953167039865701">"Тийм"</string> + <string name="dlg_ok" msgid="7376953167039865701">"OK"</string> <string name="usb_charging_notification_title" msgid="6895185153353640787">"Энэ төхөөрөмжийг USB цэнэглэж байна"</string> <string name="usb_supplying_notification_title" msgid="5310642257296510271">"Залгасан төхөөрөмжөөс USB цэнэг авч байна"</string> <string name="usb_mtp_notification_title" msgid="8396264943589760855">"Файл шилжүүлэх USB"</string> @@ -1326,7 +1326,7 @@ <string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"Чанга яригчийг суулгах"</string> <string name="default_media_route_name_hdmi" msgid="2450970399023478055">"HDMI"</string> <string name="default_audio_route_category_name" msgid="3722811174003886946">"Систем"</string> - <string name="bluetooth_a2dp_audio_route_name" msgid="8575624030406771015">"Блютүүт аудио"</string> + <string name="bluetooth_a2dp_audio_route_name" msgid="8575624030406771015">"Bluetooth аудио"</string> <string name="wireless_display_route_description" msgid="9070346425023979651">"Утасгүй дэлгэц"</string> <string name="media_route_button_content_description" msgid="591703006349356016">"Дамжуулах"</string> <string name="media_route_chooser_title" msgid="1751618554539087622">"Төхөөрөмжтэй холбох"</string> diff --git a/core/res/res/values-mr-rIN/strings.xml b/core/res/res/values-mr-rIN/strings.xml index 3fa1fdf3be32..d3d5478b8da2 100644 --- a/core/res/res/values-mr-rIN/strings.xml +++ b/core/res/res/values-mr-rIN/strings.xml @@ -164,7 +164,7 @@ <string name="contentServiceSync" msgid="8353523060269335667">"संकालन करा"</string> <string name="contentServiceSyncNotificationTitle" msgid="397743349191901458">"संकालन करा"</string> <string name="contentServiceTooManyDeletesNotificationDesc" msgid="8100981435080696431">"खूप <xliff:g id="CONTENT_TYPE">%s</xliff:g> हटविणे."</string> - <string name="low_memory" product="tablet" msgid="6494019234102154896">"टॅब्लेट संचयन पूर्ण भरले आहे. स्थान मोकळे करण्यासाठी काही फाईल हटवा."</string> + <string name="low_memory" product="tablet" msgid="6494019234102154896">"टॅबलेट संचयन पूर्ण भरले आहे. स्थान मोकळे करण्यासाठी काही फाईल हटवा."</string> <string name="low_memory" product="watch" msgid="4415914910770005166">"पाहण्याचे संचयन पूर्ण भरले आहे. स्थान मोकळे करण्यासाठी काही फायली हटवा."</string> <string name="low_memory" product="tv" msgid="516619861191025923">"टीव्ही संचयन भरले आहे. स्थान मोकळे करण्यासाठी काही फायली हटवा."</string> <string name="low_memory" product="default" msgid="3475999286680000541">"फोन संचयन पूर्ण भरले आहे. स्थान मोकळे करण्यासाठी काही फायली हटवा."</string> @@ -182,7 +182,7 @@ <string name="factory_reset_warning" msgid="5423253125642394387">"आपले डिव्हाइस मिटविले जाईल"</string> <string name="factory_reset_message" msgid="4905025204141900666">"प्रशासन अॅपमध्ये घटक गहाळ किंवा दूषित आहेत आणि वापरला जाऊ शकत नाही. आपले डिव्हाइस आता मिटविले जाईल. सहाय्यासाठी आपल्या प्रशासकाशी संपर्क साधा."</string> <string name="me" msgid="6545696007631404292">"मी"</string> - <string name="power_dialog" product="tablet" msgid="8545351420865202853">"टॅब्लेट पर्याय"</string> + <string name="power_dialog" product="tablet" msgid="8545351420865202853">"टॅबलेट पर्याय"</string> <string name="power_dialog" product="tv" msgid="6153888706430556356">"टीव्ही पर्याय"</string> <string name="power_dialog" product="default" msgid="1319919075463988638">"फोन पर्याय"</string> <string name="silent_mode" msgid="7167703389802618663">"मूक मोड"</string> @@ -200,7 +200,7 @@ <string name="reboot_to_reset_title" msgid="4142355915340627490">"फॅक्टरी डेटा रीसेट"</string> <string name="reboot_to_reset_message" msgid="2432077491101416345">"रीस्टार्ट करीत आहे..."</string> <string name="shutdown_progress" msgid="2281079257329981203">"बंद होत आहे…"</string> - <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"आपला टॅब्लेट बंद होईल."</string> + <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"आपला टॅबलेट बंद होईल."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"आपला टीव्ही बंद होईल."</string> <string name="shutdown_confirm" product="watch" msgid="3490275567476369184">"आपले घड्याळ बंद होईल."</string> <string name="shutdown_confirm" product="default" msgid="649792175242821353">"आपला फोन बंद होईल."</string> @@ -209,7 +209,7 @@ <string name="reboot_safemode_confirm" msgid="55293944502784668">"आपण सुरक्षित मोडमध्ये रीबूट करू इच्छिता? हे आपण स्थापित केलेले सर्व तृतीय पक्ष अनुप्रयोग अक्षम करेल. आपण पुन्हा रीबूट करता तेव्हा ते पुनर्संचयित केले जातील."</string> <string name="recent_tasks_title" msgid="3691764623638127888">"अलीकडील"</string> <string name="no_recent_tasks" msgid="8794906658732193473">"अलीकडील कोणतेही अॅप्स नाहीत."</string> - <string name="global_actions" product="tablet" msgid="408477140088053665">"टॅब्लेट पर्याय"</string> + <string name="global_actions" product="tablet" msgid="408477140088053665">"टॅबलेट पर्याय"</string> <string name="global_actions" product="tv" msgid="7240386462508182976">"टीव्ही पर्याय"</string> <string name="global_actions" product="default" msgid="2406416831541615258">"फोन पर्याय"</string> <string name="global_action_lock" msgid="2844945191792119712">"स्क्रीन लॉक"</string> @@ -253,9 +253,9 @@ <string name="permgrouplab_storage" msgid="1971118770546336966">"संचयन"</string> <string name="permgroupdesc_storage" msgid="637758554581589203">"आपल्या डिव्हाइस वरील फोटो, मीडिया आणि फायलींमध्ये प्रवेश"</string> <string name="permgrouplab_microphone" msgid="171539900250043464">"मायक्रोफोन"</string> - <string name="permgroupdesc_microphone" msgid="4988812113943554584">"ऑडिओ रेकॉर्ड करा"</string> + <string name="permgroupdesc_microphone" msgid="4988812113943554584">"ऑडिओ रेकॉर्ड"</string> <string name="permgrouplab_camera" msgid="4820372495894586615">"कॅमेरा"</string> - <string name="permgroupdesc_camera" msgid="3250611594678347720">"चित्रे घ्या आणि व्हिडिओ रेकॉर्ड करा"</string> + <string name="permgroupdesc_camera" msgid="3250611594678347720">"चित्रे घेण्याची आणि व्हिडिओ रेकॉर्ड"</string> <string name="permgrouplab_phone" msgid="5229115638567440675">"फोन"</string> <string name="permgroupdesc_phone" msgid="6234224354060641055">"फोन कॉल आणि व्यवस्थापित"</string> <string name="permgrouplab_sensors" msgid="416037179223226722">"शरीर सेन्सर"</string> @@ -313,7 +313,7 @@ <string name="permlab_systemAlertWindow" msgid="3543347980839518613">"अन्य अॅप्सवर काढा"</string> <string name="permdesc_systemAlertWindow" msgid="8584678381972820118">"अन्य अनुप्रयोगांच्या शीर्षस्थानी किंवा वापरकर्ता इंटरफेसच्या भागांवर कार्य करण्यासाठी अॅप ला अनुमती देते. ते कोणत्याही अनुप्रयोगात आपल्या इंटरफेसच्या वापरात व्यत्यय आणू शकते किंवा आपल्याला इतर अनुप्रयोगांमध्ये दिसत आहे असे वाटणाऱ्या गोष्टी बदलू शकते."</string> <string name="permlab_persistentActivity" msgid="8841113627955563938">"अॅप नेहमी चालवा"</string> - <string name="permdesc_persistentActivity" product="tablet" msgid="8525189272329086137">"अॅप ला मेमरीमध्ये कायम असलेले त्याचे स्वतःचे भाग बनविण्यास अनुमती देते. हे टॅब्लेट धीमा करून अन्य अॅप्सवर उपलब्ध असलेल्या मेमरीवर मर्यादा घालू शकते."</string> + <string name="permdesc_persistentActivity" product="tablet" msgid="8525189272329086137">"अॅप ला मेमरीमध्ये कायम असलेले त्याचे स्वतःचे भाग बनविण्यास अनुमती देते. हे टॅबलेट धीमा करून अन्य अॅप्सवर उपलब्ध असलेल्या मेमरीवर मर्यादा घालू शकते."</string> <string name="permdesc_persistentActivity" product="tv" msgid="5086862529499103587">"अॅपला मेमरीमध्ये कायम असलेले त्याचे स्वतःचे भाग बनविण्यासाठी अनुमती देते. हे टीव्ही धीमा करून इतर अॅप्सवर उपलब्ध असलेली मेमरी मर्यादित करू शकते."</string> <string name="permdesc_persistentActivity" product="default" msgid="4384760047508278272">"अॅप ला मेमरीमध्ये कायम असलेले त्याचे स्वतःचे भाग बनविण्यास अनुमती देते. हे फोन धीमा करून अन्य अॅप्सवर उपलब्ध असलेल्या मेमरीवर मर्यादा घालू शकते."</string> <string name="permlab_getPackageSize" msgid="7472921768357981986">"अॅप संचयन स्थान मोजा"</string> @@ -321,8 +321,8 @@ <string name="permlab_writeSettings" msgid="2226195290955224730">"सिस्टम सेटिंग्ज सुधारित करा"</string> <string name="permdesc_writeSettings" msgid="7775723441558907181">"सिस्टीमचा सेटिंग्ज डेटा सुधारित करण्यासाठी अॅप ला अनुमती देते. दुर्भावनापूर्ण अॅप्स आपल्या सिस्टीमचे कॉन्फिगरेशन दूषित करू शकतात."</string> <string name="permlab_receiveBootCompleted" msgid="5312965565987800025">"सुरूवातीस चालवा"</string> - <string name="permdesc_receiveBootCompleted" product="tablet" msgid="7390304664116880704">"जसे सिस्टीम बूट करणे समाप्त करते तसे अॅप ला स्वतः प्रारंभ करण्यास अनुमती देते. यामुळे टॅब्लेट प्रारंभ करण्यास वेळ लागू शकतो आणि नेहमी चालू राहून एकंदर टॅब्लेटला धीमे करण्यास अॅप ला अनुमती देते."</string> - <string name="permdesc_receiveBootCompleted" product="tv" msgid="4525890122209673621">"सिस्टीम बूट करणे समाप्त करते तसेच अॅपने स्वतः प्रारंभ करण्यास त्याला अनुमती देते. यामुळे टीव्ही प्रारंभ करण्यासाठी त्यास जास्त वेळ लागू शकतो आणि नेहमी चालू ठेवून संपूर्ण टॅब्लेट धीमे करण्यासाठी अॅपला अनुमती देते."</string> + <string name="permdesc_receiveBootCompleted" product="tablet" msgid="7390304664116880704">"जसे सिस्टीम बूट करणे समाप्त करते तसे अॅप ला स्वतः प्रारंभ करण्यास अनुमती देते. यामुळे टॅबलेट प्रारंभ करण्यास वेळ लागू शकतो आणि नेहमी चालू राहून एकंदर टॅबलेटला धीमे करण्यास अॅप ला अनुमती देते."</string> + <string name="permdesc_receiveBootCompleted" product="tv" msgid="4525890122209673621">"सिस्टीम बूट करणे समाप्त करते तसेच अॅपने स्वतः प्रारंभ करण्यास त्याला अनुमती देते. यामुळे टीव्ही प्रारंभ करण्यासाठी त्यास जास्त वेळ लागू शकतो आणि नेहमी चालू ठेवून संपूर्ण टॅबलेट धीमे करण्यासाठी अॅपला अनुमती देते."</string> <string name="permdesc_receiveBootCompleted" product="default" msgid="513950589102617504">"जसे सिस्टीम बूट करणे समाप्त करते तसे अॅप ला स्वतः प्रारंभ करण्यास अनुमती देते. यामुळे फोन प्रारंभ करण्यास वेळ लागू शकतो आणि नेहमी चालू राहून एकंदर फोनला धीमे करण्यास अॅप ला अनुमती देते."</string> <string name="permlab_broadcastSticky" msgid="7919126372606881614">"रोचक प्रसारण पाठवा"</string> <string name="permdesc_broadcastSticky" product="tablet" msgid="7749760494399915651">"रोचक प्रसारणे पाठविण्यासाठी अॅप ला अनुमती देते, जे प्रसारण समाप्त झाल्यानंतर देखील तसेच राहते. अत्याधिक वापरामुळे बरीच मेमरी वापरली जाऊन तो टॅब्लेटला धीमा किंवा अस्थिर करू शकतो."</string> @@ -362,7 +362,7 @@ <string name="permdesc_accessCoarseLocation" msgid="2538200184373302295">"आपले अंदाजे स्थान देण्याची अॅप ला अनुमती देते. हे स्थान सेल टॉवर आणि वाय-फाय सारखे नेटवर्क स्थान स्त्रोत वापरून स्थान सेवांद्वारे मिळवले आहे. अॅपला त्या वापरण्यासाठी या स्थान सेवा चालू असणे आणि आपल्या डिव्हाइसवर उपलब्ध असणे आवश्यक आहे. अॅप्स हे आपण कुठे आहात याचा अंदाज लावण्यासाठी वापरू शकतात."</string> <string name="permlab_modifyAudioSettings" msgid="6095859937069146086">"आपल्या ऑडिओ सेटिंग्ज बदला"</string> <string name="permdesc_modifyAudioSettings" msgid="3522565366806248517">"व्हॉल्यूम आणि आउटपुटसाठी कोणता स्पीकर वापरला आहे यासारख्या समग्र ऑडिओ सेटिंग्ज सुधारित करण्यासाठी अॅप ला अनुमती देते."</string> - <string name="permlab_recordAudio" msgid="3876049771427466323">"ऑडिओ रेकॉर्ड करा"</string> + <string name="permlab_recordAudio" msgid="3876049771427466323">"ऑडिओ रेकॉर्ड"</string> <string name="permdesc_recordAudio" msgid="4906839301087980680">"मायक्रोफोनसह ऑडिओ रेकॉर्ड करण्यासाठी अॅप ला अनुमती देते. ही परवानगी आपल्या पुष्टिकरणाशिवाय कोणत्याही वेळी ऑडिओ रेकॉर्ड करण्यासाठी अॅप ला अनुमती देते."</string> <string name="permlab_sim_communication" msgid="2935852302216852065">"सिम वर आदेश पाठवा"</string> <string name="permdesc_sim_communication" msgid="5725159654279639498">"अॅप ला सिम वर आदेश पाठविण्याची अनुमती देते. हे खूप धोकादायक असते."</string> @@ -376,7 +376,7 @@ <string name="permdesc_accessImsCallService" msgid="8992884015198298775">"आपल्या हस्तक्षेपाशिवाय अॅपला कॉल करण्यासाठी IMS सेवा वापरण्याची अनुमती देते."</string> <string name="permlab_readPhoneState" msgid="9178228524507610486">"फोन स्थिती आणि ओळख वाचा"</string> <string name="permdesc_readPhoneState" msgid="1639212771826125528">"डिव्हाइसच्या फोन वैशिष्ट्यांवर प्रवेश करण्यास अॅप ला अनुमती देते. ही परवानगी कॉल सक्रिय असला किंवा नसला तरीही, फोन नंबर आणि डिव्हाइस ID आणि कॉलद्वारे कनेक्ट केलेला रीमोट नंबर निर्धारित करण्यासाठी अॅप ला अनुमती देते."</string> - <string name="permlab_wakeLock" product="tablet" msgid="1531731435011495015">"टॅब्लेट निष्क्रिय होण्यापासून प्रतिबंधित करा"</string> + <string name="permlab_wakeLock" product="tablet" msgid="1531731435011495015">"टॅबलेट निष्क्रिय होण्यापासून प्रतिबंधित करा"</string> <string name="permlab_wakeLock" product="tv" msgid="2601193288949154131">"निष्क्रिय होण्यापासून प्रतिबंध करा"</string> <string name="permlab_wakeLock" product="default" msgid="573480187941496130">"फोन निष्क्रिय होण्यापासून प्रतिबंधित करा"</string> <string name="permdesc_wakeLock" product="tablet" msgid="7311319824400447868">"टॅब्लेटला निष्क्रिय होण्यापासून प्रतिबंधित करण्यासाठी अॅप ला अनुमती देते."</string> @@ -415,13 +415,13 @@ <string name="permdesc_changeWifiMulticastState" product="tv" msgid="9031975661145014160">"केवळ आपला टीव्ही न वापरता, एकाधिक पत्ते वापरून एका वाय-फाय नेटवकवरील सर्व डिव्हाइसवर पाठविलेली पॅकेट प्राप्त करण्यासाठी अॅपला अनुमती देते."</string> <string name="permdesc_changeWifiMulticastState" product="default" msgid="6851949706025349926">"मल्टिकास्ट पत्ते वापरून फक्त आपल्या फोनवर नाही, तर वाय-फाय नेटवर्कवरील सर्व डिव्हाइसेसवर पाठविलेले पॅकेट प्राप्त करण्यासाठी अॅप ला अनुमती देते. हे गैर-मल्टिकास्ट मोडपेक्षा अधिक उर्जा वापरते."</string> <string name="permlab_bluetoothAdmin" msgid="6006967373935926659">"ब्लूटुथ सेटिंग्जवर प्रवेश करा"</string> - <string name="permdesc_bluetoothAdmin" product="tablet" msgid="6921177471748882137">"स्थानिक ब्लूटुथ टॅब्लेट कॉन्फिगर करण्याकरिता आणि दूरस्थ डिव्हाइसेस शोधण्यासाठी आणि त्यासह जोडण्यासाठी अॅप ला अनुमती देते."</string> + <string name="permdesc_bluetoothAdmin" product="tablet" msgid="6921177471748882137">"स्थानिक ब्लूटुथ टॅबलेट कॉन्फिगर करण्याकरिता आणि दूरस्थ डिव्हाइसेस शोधण्यासाठी आणि त्यासह जोडण्यासाठी अॅप ला अनुमती देते."</string> <string name="permdesc_bluetoothAdmin" product="tv" msgid="3373125682645601429">"स्थानिक ब्लूटुथ टीव्ही कॉन्फिगर करण्यासाठी आणि दूरस्थ डिव्हाइसेससह शोधण्यासाठी आणि जोडण्यासाठी अॅपला अनुमती देते."</string> <string name="permdesc_bluetoothAdmin" product="default" msgid="8931682159331542137">"स्थानिक ब्लूटुथ फोन कॉन्फिगर करण्याकरिता आणि दूरस्थ डिव्हाइसेस शोधण्यासाठी आणि त्यासह जोडण्यासाठी अॅप ला अनुमती देते."</string> <string name="permlab_accessWimaxState" msgid="4195907010610205703">"WiMAX कनेक्ट करा आणि त्यावरून डिस्कनेक्ट करा"</string> <string name="permdesc_accessWimaxState" msgid="6360102877261978887">"WiMAX सक्षम केले आहे किंवा नाही आणि कनेक्ट केलेल्या कोणत्याही WiMAX नेटवर्क विषयीची माहिती निर्धारित करण्यासाठी अॅप ला अनुमती देते."</string> <string name="permlab_changeWimaxState" msgid="340465839241528618">"WiMAX स्थिती बदला"</string> - <string name="permdesc_changeWimaxState" product="tablet" msgid="3156456504084201805">"WiMAX नेटवर्कवर टॅब्लेट कनेक्ट करण्यास आणि त्यावरून टॅब्लेट डिस्कनेक्ट करण्यास अॅप ला अनुमती देते."</string> + <string name="permdesc_changeWimaxState" product="tablet" msgid="3156456504084201805">"WiMAX नेटवर्कवर टॅबलेट कनेक्ट करण्यास आणि त्यावरून टॅबलेट डिस्कनेक्ट करण्यास अॅप ला अनुमती देते."</string> <string name="permdesc_changeWimaxState" product="tv" msgid="6022307083934827718">"WiMAX नेटवर्कवरून टीव्ही कनेक्ट करण्यासाठी आणि त्यावरून टीव्ही डिस्कनेक्ट करण्यासाठी अॅपला अनुमती देते."</string> <string name="permdesc_changeWimaxState" product="default" msgid="697025043004923798">"WiMAX नेटवर्कवर फोन कनेक्ट करण्यास आणि त्यावरून फोन डिस्कनेक्ट करण्यास अॅप ला अनुमती देते."</string> <string name="permlab_bluetooth" msgid="6127769336339276828">"ब्लूटुथ डिव्हाइसेससह जोडा"</string> @@ -516,10 +516,10 @@ <string name="policylab_limitPassword" msgid="4497420728857585791">"संकेतशब्द नियम सेट करा"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"स्क्रीन लॉक संकेतशब्द आणि पिन मध्ये अनुमती दिलेली लांबी आणि वर्ण नियंत्रित करा."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"स्क्रीन-अनलॉक प्रयत्नांचे परीक्षण करा"</string> - <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"टाइप केलेल्या अयोग्य संकेतशब्दांच्या अंकांचे परीक्षण करा. स्क्रीन अनलॉक केली जाते, तेव्हा टॅब्लेट लॉक करा किंवा बरेच संकेतशब्द टाइप केले असल्यास टॅब्लेटचा सर्व डेटा मिटवा."</string> + <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"टाइप केलेल्या अयोग्य संकेतशब्दांच्या अंकांचे परीक्षण करा. स्क्रीन अनलॉक केली जाते, तेव्हा टॅबलेट लॉक करा किंवा बरेच संकेतशब्द टाइप केले असल्यास टॅबलेटचा सर्व डेटा मिटवा."</string> <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"स्क्रीन अनलॉक करताना टाइप केलेल्या चुकीच्या संकेतशब्दांच्या संख्येचे परीक्षण करा आणि टीव्ही लॉक करा किंवा अनेक चुकीचे संकेतशब्द टाइप केले असल्यास टीव्हीचा सर्व डेटा मिटवा."</string> <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"टाइप केलेल्या अयोग्य संकेतशब्दांच्या अंकांचे परीक्षण करा. स्क्रीन अनलॉक केली जाते, तेव्हा फोन लॉक करा किंवा बरेच संकेतशब्द टाइप केले असल्यास फोनचा सर्व डेटा मिटवा."</string> - <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"स्क्रीन अनलॉक करताना टाइप केलेल्या चुकीच्या संकेतशब्दांच्या संख्येचे परीक्षण करा आणि टॅब्लेट लॉक करा किंवा अनेक चुकीचे संकेतशब्द टाइप केले असल्यास या वापरकर्त्याचा सर्व डेटा मिटवा."</string> + <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"स्क्रीन अनलॉक करताना टाइप केलेल्या चुकीच्या संकेतशब्दांच्या संख्येचे परीक्षण करा आणि टॅबलेट लॉक करा किंवा अनेक चुकीचे संकेतशब्द टाइप केले असल्यास या वापरकर्त्याचा सर्व डेटा मिटवा."</string> <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"स्क्रीन अनलॉक करताना टाइप केलेल्या चुकीच्या संकेतशब्दांच्या संख्येचे परीक्षण करा आणि टीव्ही लॉक करा किंवा अनेक चुकीचे संकेतशब्द टाइप केले असल्यास या वापरकर्त्याचा सर्व डेटा मिटवा."</string> <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"टाइप केलेल्या अयोग्य संकेतशब्दांच्या अंकांचे परीक्षण करा. स्क्रीन अनलॉक केली जाते, तेव्हा फोन लॉक करा किंवा बरेच संकेतशब्द टाइप केले असल्यास या वापरकर्त्याचा सर्व डेटा मिटवा."</string> <string name="policylab_resetPassword" msgid="4934707632423915395">"स्क्रीन लॉक बदला"</string> @@ -703,13 +703,13 @@ <string name="lockscreen_too_many_failed_attempts_dialog_message" msgid="6481623830344107222">"आपण आपला अनलॉक नमुना <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा अयोग्यरितीने काढला. \n\n <xliff:g id="NUMBER_1">%2$d</xliff:g> सेकंदांमध्ये पुन्हा प्रयत्न करा."</string> <string name="lockscreen_too_many_failed_password_attempts_dialog_message" msgid="2725973286239344555">"आपण आपला संकेतशब्द <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा अयोग्यरितीने टाइप केला आहे. \n\n <xliff:g id="NUMBER_1">%2$d</xliff:g> सेकंदांमध्ये पुन्हा प्रयत्न करा."</string> <string name="lockscreen_too_many_failed_pin_attempts_dialog_message" msgid="6216672706545696955">"आपण आपला पिन <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा अयोग्यरितीने टाइप केला आहे. \n\n <xliff:g id="NUMBER_1">%2$d</xliff:g> सेकंदांमध्ये पुन्हा प्रयत्न करा."</string> - <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="9191611984625460820">"आपण आपला अनलॉक नमुना <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा चुकीचा रेखांकित केला आहे. <xliff:g id="NUMBER_1">%2$d</xliff:g> अधिक अयशस्वी प्रयत्नांनंतर, आपल्याला आपले Google साइन इन वापरून आपला टॅब्लेट अनलॉक करण्यास सांगितले जाईल.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> सेकंदांमध्ये पुन्हा प्रयत्न करा."</string> + <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="9191611984625460820">"आपण आपला अनलॉक नमुना <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा चुकीचा रेखांकित केला आहे. <xliff:g id="NUMBER_1">%2$d</xliff:g> अधिक अयशस्वी प्रयत्नांनंतर, आपल्याला आपले Google साइन इन वापरून आपला टॅबलेट अनलॉक करण्यास सांगितले जाईल.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> सेकंदांमध्ये पुन्हा प्रयत्न करा."</string> <string name="lockscreen_failed_attempts_almost_glogin" product="tv" msgid="5316664559603394684">"आपण <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा आपला अनलॉक नमुना अयोग्यरित्या काढला आहे. आणखी <xliff:g id="NUMBER_1">%2$d</xliff:g> अयशस्वी प्रयत्नांनंतर, आपल्याला आपले Google साइन इन वापरून आपला टीव्ही अनलॉक करण्यास सांगितले जाईल.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> सेकंदांनी पुन्हा प्रयत्न करा."</string> <string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="2590227559763762751">"आपण आपला अनलॉक नमुना <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा चुकीचा रेखांकित केला आहे. <xliff:g id="NUMBER_1">%2$d</xliff:g> अधिक अयशस्वी प्रयत्नांनंतर, आपल्याला आपले Google साइन इन वापरून आपला फोन अनलॉक करण्यास सांगितले जाईल.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> सेकंदांमध्ये पुन्हा प्रयत्न करा."</string> - <string name="lockscreen_failed_attempts_almost_at_wipe" product="tablet" msgid="6128106399745755604">"आपण <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा टॅब्लेट अनलॉक करण्याचे चुकीचे प्रयत्न केले. आणखी <xliff:g id="NUMBER_1">%2$d</xliff:g> अयशस्वी प्रयत्नांनंतर, टॅब्लेट फॅक्टरी डीफॉल्टवर रीसेट केला जाईल आणि सर्व वापरकर्ता डेटा गमावला जाईल."</string> + <string name="lockscreen_failed_attempts_almost_at_wipe" product="tablet" msgid="6128106399745755604">"आपण <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा टॅबलेट अनलॉक करण्याचे चुकीचे प्रयत्न केले. आणखी <xliff:g id="NUMBER_1">%2$d</xliff:g> अयशस्वी प्रयत्नांनंतर, टॅबलेट फॅक्टरी डीफॉल्टवर रीसेट केला जाईल आणि सर्व वापरकर्ता डेटा गमावला जाईल."</string> <string name="lockscreen_failed_attempts_almost_at_wipe" product="tv" msgid="950408382418270260">"आपण <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा टीव्ही अनलॉक करण्याचा अयोग्यरित्या प्रयत्न केला. आणखी <xliff:g id="NUMBER_1">%2$d</xliff:g> अयशस्वी प्रयत्नांनंतर, टीव्ही फॅक्टरी डीफॉल्टवर रीसेट केला जाईल आणि सर्व वापरकर्ता डेटा गमावेल."</string> <string name="lockscreen_failed_attempts_almost_at_wipe" product="default" msgid="8603565142156826565">"आपण <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा फोन अनलॉक करण्याचे चुकीचे प्रयत्न केले. आणखी <xliff:g id="NUMBER_1">%2$d</xliff:g> अयशस्वी प्रयत्नांनंतर, फोन फॅक्टरी डीफॉल्टवर रीसेट केला जाईल आणि सर्व वापरकर्ता डेटा गमावला जाईल."</string> - <string name="lockscreen_failed_attempts_now_wiping" product="tablet" msgid="280873516493934365">"आपण <xliff:g id="NUMBER">%d</xliff:g> वेळा टॅब्लेट अनलॉक करण्याचे चुकीचे प्रयत्न केले. टॅब्लेट आता फॅक्टरी डीफॉल्टवर रीसेट केले जाईल."</string> + <string name="lockscreen_failed_attempts_now_wiping" product="tablet" msgid="280873516493934365">"आपण <xliff:g id="NUMBER">%d</xliff:g> वेळा टॅबलेट अनलॉक करण्याचे चुकीचे प्रयत्न केले. टॅबलेट आता फॅक्टरी डीफॉल्टवर रीसेट केले जाईल."</string> <string name="lockscreen_failed_attempts_now_wiping" product="tv" msgid="3195755534096192191">"आपण <xliff:g id="NUMBER">%d</xliff:g> वेळा टीव्ही अनलॉक करण्याचा अयोग्यरित्या प्रयत्न केला. टीव्ही आता फॅक्टरी डीफॉल्टवर रीसेट केला जाईल."</string> <string name="lockscreen_failed_attempts_now_wiping" product="default" msgid="3025504721764922246">"आपण <xliff:g id="NUMBER">%d</xliff:g> वेळा फोन अनलॉक करण्याचे चुकीचे प्रयत्न केले. फोन आता फॅक्टरी डीफॉल्टवर रीसेट केला जाईल."</string> <string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"<xliff:g id="NUMBER">%d</xliff:g> सेकंदांमध्ये पुन्हा प्रयत्न करा."</string> @@ -1322,7 +1322,7 @@ <string name="activity_resolver_use_always" msgid="8017770747801494933">"नेहमी"</string> <string name="activity_resolver_use_once" msgid="2404644797149173758">"फक्त एकदाच"</string> <string name="activity_resolver_work_profiles_support" msgid="185598180676883455">"%1$s कार्य प्रोफाईलचे समर्थन करीत नाही"</string> - <string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"टॅब्लेट"</string> + <string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"टॅबलेट"</string> <string name="default_audio_route_name" product="tv" msgid="9158088547603019321">"टीव्ही"</string> <string name="default_audio_route_name" product="default" msgid="4239291273420140123">"फोन"</string> <string name="default_audio_route_name_headphones" msgid="8119971843803439110">"हेडफोन"</string> @@ -1376,13 +1376,13 @@ <string name="kg_too_many_failed_pin_attempts_dialog_message" msgid="8276745642049502550">"आपण आपला पिन <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा अयोग्यरितीने टाइप केला आहे. \n\n <xliff:g id="NUMBER_1">%2$d</xliff:g> सेकंदांमध्ये पुन्हा प्रयत्न करा."</string> <string name="kg_too_many_failed_password_attempts_dialog_message" msgid="7813713389422226531">"आपण आपला संकेतशब्द <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा अयोग्यरितीने टाइप केला आहे. \n\n <xliff:g id="NUMBER_1">%2$d</xliff:g> सेकंदांमध्ये पुन्हा प्रयत्न करा."</string> <string name="kg_too_many_failed_pattern_attempts_dialog_message" msgid="74089475965050805">"आपण आपला अनलॉक नमुना <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा अयोग्यरितीने काढला आहे. \n\n <xliff:g id="NUMBER_1">%2$d</xliff:g> सेकंदांमध्ये पुन्हा प्रयत्न करा."</string> - <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="1575557200627128949">"आपण <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा टॅब्लेट अनलॉक करण्याचा अयोग्यपणे प्रयत्न केला. <xliff:g id="NUMBER_1">%2$d</xliff:g> आणखी अयशस्वी प्रयत्नांनंतर, टॅब्लेट फॅक्टरी डीफॉल्टवर रीसेट केला जाईल आणि वापरकर्ता डेटा गमावेल."</string> + <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="1575557200627128949">"आपण <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा टॅबलेट अनलॉक करण्याचा अयोग्यपणे प्रयत्न केला. <xliff:g id="NUMBER_1">%2$d</xliff:g> आणखी अयशस्वी प्रयत्नांनंतर, टॅबलेट फॅक्टरी डीफॉल्टवर रीसेट केला जाईल आणि वापरकर्ता डेटा गमावेल."</string> <string name="kg_failed_attempts_almost_at_wipe" product="tv" msgid="5621231220154419413">"आपण <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा टीव्ही अनलॉक करण्याचा अयोग्यरित्या प्रयत्न केला. आणखी <xliff:g id="NUMBER_1">%2$d</xliff:g> अयशस्वी प्रयत्नांनंतर, टीव्ही फॅक्टरी डीफॉल्टवर रीसेट केला जाईल आणि सर्व वापरकर्ता डेटा गमावेल."</string> <string name="kg_failed_attempts_almost_at_wipe" product="default" msgid="4051015943038199910">"आपण <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा फोन अनलॉक करण्याचा अयोग्यपणे प्रयत्न केला. <xliff:g id="NUMBER_1">%2$d</xliff:g> आणखी अयशस्वी प्रयत्नांनंतर, फोन फॅक्टरी डीफॉल्टवर रीसेट केला जाईल आणि वापरकर्ता डेटा गमावेल."</string> - <string name="kg_failed_attempts_now_wiping" product="tablet" msgid="2072996269148483637">"आपण <xliff:g id="NUMBER">%d</xliff:g> वेळा टॅब्लेट अनलॉक करण्याचा अयोग्यपणे प्रयत्न केला. टॅब्लेट आता फॅक्टरी डीफॉल्ट वर रीसेट केला जाईल."</string> + <string name="kg_failed_attempts_now_wiping" product="tablet" msgid="2072996269148483637">"आपण <xliff:g id="NUMBER">%d</xliff:g> वेळा टॅबलेट अनलॉक करण्याचा अयोग्यपणे प्रयत्न केला. टॅबलेट आता फॅक्टरी डीफॉल्ट वर रीसेट केला जाईल."</string> <string name="kg_failed_attempts_now_wiping" product="tv" msgid="4987878286750741463">"आपण <xliff:g id="NUMBER">%d</xliff:g> वेळा टीव्ही अनलॉक करण्याचा अयोग्यरित्या प्रयत्न केला. टीव्ही आता फॅक्टरी डीफॉल्टवर रीसेट केला जाईल."</string> <string name="kg_failed_attempts_now_wiping" product="default" msgid="4817627474419471518">"आपण <xliff:g id="NUMBER">%d</xliff:g> वेळा फोन अनलॉक करण्याचा अयोग्यपणे प्रयत्न केला. फोन आता फॅक्टरी डीफॉल्ट वर रीसेट केला जाईल."</string> - <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="3253575572118914370">"आपण आपला अनलॉक नमुना <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा अयोग्यपणे काढला आहे. आणखी <xliff:g id="NUMBER_1">%2$d</xliff:g> अयशस्वी प्रयत्नांनंतर, आपल्याला ईमेल खाते वापरून आपला टॅब्लेट अनलॉक करण्यास सांगितले जाईल.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> सेकंदांमध्ये पुन्हा प्रयत्न करा."</string> + <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="3253575572118914370">"आपण आपला अनलॉक नमुना <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा अयोग्यपणे काढला आहे. आणखी <xliff:g id="NUMBER_1">%2$d</xliff:g> अयशस्वी प्रयत्नांनंतर, आपल्याला ईमेल खाते वापरून आपला टॅबलेट अनलॉक करण्यास सांगितले जाईल.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> सेकंदांमध्ये पुन्हा प्रयत्न करा."</string> <string name="kg_failed_attempts_almost_at_login" product="tv" msgid="4224651132862313471">"आपण <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा आपला अनलॉक नमुना अयोग्यरित्या काढला आहे. आणखी <xliff:g id="NUMBER_1">%2$d</xliff:g> अयशस्वी प्रयत्नांनंतर, आपल्याला ईमेल खाते वापरून आपला टीव्ही अनलॉक करण्यास सांगितले जाईल.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> सेकंदांनी पुन्हा प्रयत्न करा."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="1437638152015574839">"आपण आपला अनलॉक नमुना <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा अयोग्यपणे काढला आहे. आणखी <xliff:g id="NUMBER_1">%2$d</xliff:g> अयशस्वी प्रयत्नांनंतर, आपल्याला ईमेल खाते वापरून आपला फोन अनलॉक करण्यास सांगितले जाईल.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> सेकंदांमध्ये पुन्हा प्रयत्न करा."</string> <string name="kg_text_message_separator" product="default" msgid="4160700433287233771">" — "</string> diff --git a/core/res/res/values-my-rMM/strings.xml b/core/res/res/values-my-rMM/strings.xml index bb054d84185c..dea7dbe1d6e8 100644 --- a/core/res/res/values-my-rMM/strings.xml +++ b/core/res/res/values-my-rMM/strings.xml @@ -122,16 +122,16 @@ <string name="roamingText11" msgid="4154476854426920970">"ရုန်းမင်းစာတမ်းဖွင့်ရန်"</string> <string name="roamingText12" msgid="1189071119992726320">"ရုန်းမင်းစာတမ်းပိတ်ထားရန်"</string> <string name="roamingTextSearching" msgid="8360141885972279963">"ဆားဗစ်အားရှာဖွေနေသည်"</string> - <string name="wfcRegErrorTitle" msgid="2301376280632110664">"ဝိုင်ဖိုင် ခေါ်ဆိုမှု"</string> + <string name="wfcRegErrorTitle" msgid="2301376280632110664">"Wi-Fi ခေါ်ဆိုမှု"</string> <string-array name="wfcOperatorErrorAlertMessages"> - <item msgid="2254967670088539682">"ဝိုင်ဖိုင်သုံး၍ ဖုန်းခေါ်ဆိုရန်နှင့် မက်စေ့ဂျ်များပို့ရန်၊ ဤဝန်ဆောင်မှုအား စတင်သုံးနိုင်ရန်အတွက် သင့် မိုဘိုင်းဝန်ဆောင်မှုအား ဦးစွာမေးမြန်းပါ။ ထို့နောက် ဆက်တင်မှတဆင့် ဝိုင်ဖိုင် ခေါ်ဆိုမှုအား ထပ်ဖွင့်ပါ။"</item> + <item msgid="2254967670088539682">"Wi-Fi သုံး၍ ဖုန်းခေါ်ဆိုရန်နှင့် မက်စေ့ဂျ်များပို့ရန်၊ ဤဝန်ဆောင်မှုအား စတင်သုံးနိုင်ရန်အတွက် သင့် မိုဘိုင်းဝန်ဆောင်မှုအား ဦးစွာမေးမြန်းပါ။ ထို့နောက် ဆက်တင်မှတဆင့် Wi-Fi ခေါ်ဆိုမှုအား ထပ်ဖွင့်ပါ။"</item> </string-array> <string-array name="wfcOperatorErrorNotificationMessages"> <item msgid="6177300162212449033">"သင့် မိုဘိုင်းဝန်ဆောင်မှုဖြင့် မှတ်ပုံတင်ရန်"</item> </string-array> <string-array name="wfcSpnFormats"> <item msgid="6830082633573257149">"%s"</item> - <item msgid="4397097370387921767">"%s ဝိုင်ဖိုင် ခေါ်ဆိုမှု"</item> + <item msgid="4397097370387921767">"%s Wi-Fi ခေါ်ဆိုမှု"</item> </string-array> <string name="wifi_calling_off_summary" msgid="8720659586041656098">"ပိတ်ထားရသည်"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"ဝိုင်ဖိုင်အား ပိုနှစ်သက်သော"</string> @@ -144,7 +144,7 @@ <string name="cfTemplateRegisteredTime" msgid="6781621964320635172">"<xliff:g id="BEARER_SERVICE_CODE">{0}</xliff:g>: ထပ်ဆင့်မပို့နိုင်ပါ"</string> <string name="fcComplete" msgid="3118848230966886575">"ပုံစံကုတ်ပြီးဆုံးသည်"</string> <string name="fcError" msgid="3327560126588500777">"ဆက်သွယ်မှုဆိုင်ရာပြသနာ သို့မဟုတ် တရားမဝင်သောပုံစံကုတ်"</string> - <string name="httpErrorOk" msgid="1191919378083472204">"ကောင်းပြီ"</string> + <string name="httpErrorOk" msgid="1191919378083472204">"အိုကေ"</string> <string name="httpError" msgid="7956392511146698522">"ကွန်ရက်အမှားအယွင်း ရှိပါသည်"</string> <string name="httpErrorLookup" msgid="4711687456111963163">"URL ကို ရှာဖွေ့ မတွေ့ရှိပါ"</string> <string name="httpErrorUnsupportedAuthScheme" msgid="6299980280442076799">"ဆိုက် မှန်ကန်မှု စိစစ်ရေး စနစ်ကို ပံ့ပိုး မပေးပါ။"</string> @@ -176,11 +176,11 @@ <string name="ssl_ca_cert_noti_by_administrator" msgid="550758088185764312">"သင့်အလုပ်ပရိုဖိုင် စီမံခန့်ခွဲသူမှ"</string> <string name="ssl_ca_cert_noti_managed" msgid="4030263497686867141">"<xliff:g id="MANAGING_DOMAIN">%s</xliff:g> ဖြင့်"</string> <string name="work_profile_deleted" msgid="5005572078641980632">"အလုပ်ပရိုဖိုင် ဖျက်ပြီးဖြစ်၏"</string> - <string name="work_profile_deleted_description" msgid="6305147513054341102">"အက်ဒမင် အပလီကေးရှင်း ပျောက်နေသောကြောင့် အလုပ်ပရိုဖိုင် ပျက်သွားသည်။"</string> + <string name="work_profile_deleted_description" msgid="6305147513054341102">"အက်ဒမင် အက်ပ် ပျောက်နေသောကြောင့် အလုပ်ပရိုဖိုင် ပျက်သွားသည်။"</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"အလုပ်ပရိုဖိုင် အက်ဒမင် အပလီကေးရှင်းပျောက်နေသည် သို့မဟုတ် ပျက်စီးနေသည်။ ထို့ကြောင့် သင့်အလုပ်ပရိုဖိုင်နှင့် ဆက်စပ်နေသော ဒေတာများအား ပယ်ဖျက်ခြင်းခံရမည်။ အကူအညီတောင်းခံရန် သင့်အက်ဒမင်အား ဆက်သွယ်ပါ။"</string> <string name="work_profile_deleted_description_dpm_wipe" msgid="6019770344820507579">"ဤစက်ကိရိယာတွင် သင့်အလုပ်ပရိုဖိုင် မရှိတော့ပါ။"</string> <string name="factory_reset_warning" msgid="5423253125642394387">"သင့်ကိရိယာအား ပယ်ဖျက်လိမ့်မည်"</string> - <string name="factory_reset_message" msgid="4905025204141900666">"အက်ဒမင် အပလီကေးရှင်း၏ အစိတ်အပိုင်းများ ပျောက်နေသည် သို့မဟုတ် ပျက်စီးနေသည်။ သင့်ကိရိယာအား ပယ်ဖျက်လိမ့်မည်။ အကူအညီတောင်းခံရန် သင့်အက်ဒမင်အား ဆက်သွယ်ပါ။"</string> + <string name="factory_reset_message" msgid="4905025204141900666">"အက်ဒမင် အက်ပ်၏ အစိတ်အပိုင်းများ ပျောက်နေသည် သို့မဟုတ် ပျက်စီးနေသည်။ သင့်ကိရိယာအား ပယ်ဖျက်လိမ့်မည်။ အကူအညီတောင်းခံရန် သင့်အက်ဒမင်အား ဆက်သွယ်ပါ။"</string> <string name="me" msgid="6545696007631404292">"ကျွန်ုပ်"</string> <string name="power_dialog" product="tablet" msgid="8545351420865202853">"Tabletဆိုင်ရာရွေးချယ်မှုများ"</string> <string name="power_dialog" product="tv" msgid="6153888706430556356">"တီဗွီ ရွေးချယ်စရာများ"</string> @@ -208,7 +208,7 @@ <string name="reboot_safemode_title" msgid="7054509914500140361">"safe mode ဖြင့် ပြန်လည် စ တင်ရန်"</string> <string name="reboot_safemode_confirm" msgid="55293944502784668">"safe mode ကို ပြန်လည် စတင် မလား? ဒီလို စတင်ခြင်းဟာ သင် သွင်းထားသော တတိယပါတီ အပလီကေးရှင်းများအား ရပ်ဆိုင်းထားပါမည်။ ပုံမှန်အတိုင်း ပြန်စလျှင် ထိုအရာများ ပြန်လည် ရောက်ရှိလာပါမည်။"</string> <string name="recent_tasks_title" msgid="3691764623638127888">"လတ်တလော"</string> - <string name="no_recent_tasks" msgid="8794906658732193473">"မကြာမီတုန်းက appများ မရှိပါ"</string> + <string name="no_recent_tasks" msgid="8794906658732193473">"မကြာမီတုန်းက အက်ပ်များ မရှိပါ"</string> <string name="global_actions" product="tablet" msgid="408477140088053665">"Tabletဆိုင်ရာရွေးချယ်မှုများ"</string> <string name="global_actions" product="tv" msgid="7240386462508182976">"တီဗွီ ရွေးချယ်စရာများ"</string> <string name="global_actions" product="default" msgid="2406416831541615258">"ဖုန်းဆိုင်ရာရွေးချယ်မှုများ"</string> @@ -273,17 +273,17 @@ <string name="capability_title_canPerformGestures" msgid="7418984730362576862">"လက်ဟန်များ အသုံးပြုပါ"</string> <string name="capability_desc_canPerformGestures" msgid="8296373021636981249">"တို့ခြင်း၊ ပွတ်ဆွဲခြင်း၊ နှင့် အခြား လက်ဟန်များကို အသုံးပြုနိုင်ပါသည်။"</string> <string name="permlab_statusBar" msgid="7417192629601890791">"အခြေအနေပြဘားအား အလုပ်မလုပ်ခိုင်းရန်သို့မဟုတ် မွမ်းမံရန်"</string> - <string name="permdesc_statusBar" msgid="8434669549504290975">"appအား အခြေအနေပြ ဘားကို ပိတ်ခွင့် သို့မဟတ် စနစ် အိုင်ကွန်များကို ထည့်ခြင်း ဖယ်ရှားခြင်း ပြုလုပ်ခွင့် ပြုသည်။"</string> + <string name="permdesc_statusBar" msgid="8434669549504290975">"အက်ပ်အား အခြေအနေပြ ဘားကို ပိတ်ခွင့် သို့မဟတ် စနစ် အိုင်ကွန်များကို ထည့်ခြင်း ဖယ်ရှားခြင်း ပြုလုပ်ခွင့် ပြုသည်။"</string> <string name="permlab_statusBarService" msgid="4826835508226139688">"အခြေအနေပြ ဘားဖြစ်ပါစေ"</string> - <string name="permdesc_statusBarService" msgid="716113660795976060">"appအား အခြေအနေပြ ဘားဖြစ်ခွင့် ပြုသည်။"</string> + <string name="permdesc_statusBarService" msgid="716113660795976060">"အက်ပ်အား အခြေအနေပြ ဘားဖြစ်ခွင့် ပြုသည်။"</string> <string name="permlab_expandStatusBar" msgid="1148198785937489264">"အခြေအနေပြဘားအား ချဲ့/ပြန့်ခြင်း"</string> - <string name="permdesc_expandStatusBar" msgid="6917549437129401132">"appအား အခြေအနေပြ ဘားကို ချဲ့ခွင့် သို့မဟုတ် ခေါက်သိမ်းခွင့် ပြုသည်။"</string> + <string name="permdesc_expandStatusBar" msgid="6917549437129401132">"အက်ပ်အား အခြေအနေပြ ဘားကို ချဲ့ခွင့် သို့မဟုတ် ခေါက်သိမ်းခွင့် ပြုသည်။"</string> <string name="permlab_install_shortcut" msgid="4279070216371564234">"အတိုကောက်များအား ထည့်သွင်းခြင်း"</string> <string name="permdesc_install_shortcut" msgid="8341295916286736996">"အပလီကေးရှင်းအား အသုံးပြုသူ လုပ်ဆောင်ခြင်း မပါပဲ ပင်မ မြင်ကွင်းအား ပြောင်းလဲခွင့် ပေးခြင်း"</string> <string name="permlab_uninstall_shortcut" msgid="4729634524044003699">"အတိုကောက်များ ဖယ်ထုတ်ခြင်း"</string> <string name="permdesc_uninstall_shortcut" msgid="6745743474265057975">"အပလီကေးရှင်းအား အသုံးပြုသူ လုပ်ဆောင်ခြင်း မပါပဲ ပင်မ မြင်ကွင်းအား ဖယ်ရှားခွင့် ပေးခြင်း"</string> <string name="permlab_processOutgoingCalls" msgid="3906007831192990946">"အထွက် ခေါ်ဆိုမှုများအား လမ်းလွှဲပြောင်းခြင်း"</string> - <string name="permdesc_processOutgoingCalls" msgid="5156385005547315876">"appအား အပြင်သို့ ဖုန်းခေါ်ဆိုမှု အတွင်းမှာ ဆက်ခဲ့သည့် နံပါတ်ကို ကြည့်နိုင်ကာ ခေါ်ဆိုမှုကို အခြား နံပါတ် တစ်ခုသို့ ပြောင်းလဲပစ်ခြင်း သို့မဟုတ် ခေါ်ဆိုမှုကို လုံးဝ ဖျက်သိမ်းခွင့် ပြုသည်။"</string> + <string name="permdesc_processOutgoingCalls" msgid="5156385005547315876">"အက်ပ်အား အပြင်သို့ ဖုန်းခေါ်ဆိုမှု အတွင်းမှာ ဆက်ခဲ့သည့် နံပါတ်ကို ကြည့်နိုင်ကာ ခေါ်ဆိုမှုကို အခြား နံပါတ် တစ်ခုသို့ ပြောင်းလဲပစ်ခြင်း သို့မဟုတ် ခေါ်ဆိုမှုကို လုံးဝ ဖျက်သိမ်းခွင့် ပြုသည်။"</string> <string name="permlab_receiveSms" msgid="8673471768947895082">"စာပို့ခြင်းအား လက်ခံရယူခြင်း (စာတိုစနစ်)"</string> <string name="permdesc_receiveSms" msgid="6424387754228766939">"အပလီကေးရှင်းအား စာတိုများ လက်ခံခြင်း၊ ဆောင်ရွက်ခြင်း ခွင့်ပြုပါ။ ဤခွင့်ပြုချက်တွင် အပလီကေးရှင်းအနေဖြင့် သင် လက်ခံရရှိသော စာများအား သင့်အား မပြပဲစောင့်ကြည့်ခွင့်နှင့် ဖျက်ပစ်ခွင့်များ ပါဝင်ပါသည်။"</string> <string name="permlab_receiveMms" msgid="1821317344668257098">"စာပို့ခြင်းအား လက်ခံရယူခြင်း (ရုပ်သံစာ)"</string> @@ -291,46 +291,46 @@ <string name="permlab_readCellBroadcasts" msgid="1598328843619646166">"စာတိုများ ဖြန့်ဝေခြင်းစနစ်အား ဖတ်ခြင်း"</string> <string name="permdesc_readCellBroadcasts" msgid="6361972776080458979">"အပလီကေးရှင်းကို သင်၏ စက်ပစ္စည်းမှ လက်ခံရရှိသော အများလွှင့်ထုတ်ချက်များကို ဖတ်ရန် ခွင့်ပြုသည်။ အများလွှင့်ထုတ်ချက်များသည် အရေးပေါ်အခြေအနေများကို သင့်အား သတိပေးရန် အချို့ နေရာများတွင် ပို့ပေးသည်။ အရေးပေါ်သတိပေးချက် ထုတ်လွှင့်ချက်ကို လက်ခံရရှိချိန်တွင်အန္တရာယ် ဖြစ်စေနိုင်သော အပလီကေးရှင်းများသည် သင့်စက်ပစ္စည်း၏ လုပ်ငန်းလည်ပတ်မှုနှင့် စွမ်းဆောင်မှုကို ဝင်စွက်ဖက်နိုင်သည်။"</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"အမည်သွင်းထားသောဖိဖ့်များကို ဖတ်ခြင်း"</string> - <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"appအား လောလောဆယ် စင့်က် လုပ်ပြီးသား ထည့်သွင်းမှုများ ဆိုင်ရာ အသေးစိတ်များကို ရယူခွင့်ပြုသည်။"</string> + <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"အက်ပ်အား လောလောဆယ် စင့်က် လုပ်ပြီးသား ထည့်သွင်းမှုများ ဆိုင်ရာ အသေးစိတ်များကို ရယူခွင့်ပြုသည်။"</string> <string name="permlab_sendSms" msgid="7544599214260982981">"SMS စာများကို ပို့ကာ ကြည့်မည်"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"အပလီကေးရှင်းအား စာတိုပို့ခွင့် ပြုပါ။ မမျှော်လင့်သော ကုန်ကျမှု ဖြစ်နိုင်ပါသည်။ အန္တရာယ်ရှိ အပလီကေးရှင်းများမှ သင် မသိပဲ စာပို့ခြင်းများ ပြုလုပ်ခြင်းကြောင့် ပိုက်ဆံ အပို ကုန်စေနိုင်သည်"</string> <string name="permlab_readSms" msgid="8745086572213270480">"သင့်ရဲ့ စာပေးပို့ခြင်းများ ဖတ်ခြင်း (စာတို နှင့် ရုပ်သံစာ)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"အပလီကေးရှင်းအား တက်ဘလက် သို့မဟုတ် ဆင်းမ်ကဒ်မှာ သိမ်းဆည်းထားသော စာတိုများ ဖတ်ရှုခွင့်ပြုပါ။ အပလီကေးရှင်းအနေဖြင့် အကြာင်းအရာ သို့မဟုတ် ယုံကြည်စိတ်ချရမှုကို ဂရုမပြုပဲ စာတိုအားလုံးကို ဖတ်နိုင်ပါလိမ်မည်။"</string> - <string name="permdesc_readSms" product="tv" msgid="5102425513647038535">"သင့်တီဗွီ သို့မဟုတ် ဆင်းမ်ကဒ်တွင် သိမ်းထားသည့် SMS စာများကို app အား ဖတ်ခွင့်ပြုပါ။ ထိုသို့ခွင့်ပြုခြင်းဖြင့် app သည် အကြောင်းအရာ သို့မဟုတ် ယုံကြည်စိတ်ချရမှု တို့နှင့် မသက်ဆိုင်ဘဲ၊ SMS စာများအားလုံးကို ဖတ်နိုင်မည်ဖြစ်၏။"</string> + <string name="permdesc_readSms" product="tv" msgid="5102425513647038535">"သင့်တီဗွီ သို့မဟုတ် ဆင်းမ်ကဒ်တွင် သိမ်းထားသည့် SMS စာများကို အက်ပ် အား ဖတ်ခွင့်ပြုပါ။ ထိုသို့ခွင့်ပြုခြင်းဖြင့် အက်ပ် သည် အကြောင်းအရာ သို့မဟုတ် ယုံကြည်စိတ်ချရမှု တို့နှင့် မသက်ဆိုင်ဘဲ၊ SMS စာများအားလုံးကို ဖတ်နိုင်မည်ဖြစ်၏။"</string> <string name="permdesc_readSms" product="default" msgid="3695967533457240550">"အပလီကေးရှင်းအား ဖုန်း သို့မဟုတ် ဆင်းမ်ကဒ်မှာ သိမ်းဆည်းထားသော စာတိုများ ဖတ်ရှုခွင့်ပြုပါ။ အပလီကေးရှင်းအနေဖြင့် အကြာင်းအရာ သို့မဟုတ် ယုံကြည်စိတ်ချရမှုကို ဂရုမပြုပဲ စာတိုအားလုံးကို ဖတ်နိုင်ပါလိမ်မည်။"</string> <string name="permlab_receiveWapPush" msgid="5991398711936590410">"စာပို့ခြင်းအား လက်ခံရယူခြင်း (WAP)"</string> <string name="permdesc_receiveWapPush" msgid="748232190220583385">"အပလီကေးရှင်းအား WAP စာများ လက်ခံခြင်း၊ ဆောင်ရွက်ခြင်း ခွင့်ပြုပါ။ ဤခွင့်ပြုချက်တွင် အပလီကေးရှင်းအနေဖြင့် သင် လက်ခံရရှိသော စာများအား သင့်အား မပြပဲစောင့်ကြည့်ခွင့်နှင့် ဖျက်ပစ်ခွင့်များ ပါဝင်ပါသည်။"</string> - <string name="permlab_getTasks" msgid="6466095396623933906">"အလုပ်လုပ်နေကြသည့် appများကို ရယူခြင်း"</string> + <string name="permlab_getTasks" msgid="6466095396623933906">"အလုပ်လုပ်နေကြသည့် အက်ပ်များကို ရယူခြင်း"</string> <string name="permdesc_getTasks" msgid="7454215995847658102">"အပလီကေးရှင်းအား လက်ရှိနဲ့ လတ်တလော လုပ်ဆောင်ခဲ့သော သတင်းအချက်အလက် အသေးစိတ်အား ထုတ်ယူခွင့်ပြုရန်။ အပလီကေးရှင်းမှ သင် ဘယ် အပလီကေးရှင်းများသုံးရှိကြောင့် တွေ့ရှိနိုင်ပါသည်"</string> <string name="permlab_manageProfileAndDeviceOwners" msgid="7918181259098220004">"ကိုယ်ရေးအချက်အလက်နှင့် စက်ပစ္စည်း ပိုင်ရှင်များကို စီမံပါ"</string> <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"ကိုယ်ရေးအချက်လက်ပိုင်ရှင်များနှင့်စက်ပစ္စည်းပိုင်ရှင်အား သတ်မှတ်ရန် App အားခွင့်ပြုပါ။"</string> - <string name="permlab_reorderTasks" msgid="2018575526934422779">"အလုပ်လုပ်နေကြသည့် appများကို ပြန်လည်စီစဉ်ခြင်း"</string> + <string name="permlab_reorderTasks" msgid="2018575526934422779">"အလုပ်လုပ်နေကြသည့် အက်ပ်များကို ပြန်လည်စီစဉ်ခြင်း"</string> <string name="permdesc_reorderTasks" msgid="7734217754877439351">"အပလီကေးရှင်းအား နောက်ကွယ် နှင့် ရှေ့မှောက်တွင် လက်ရှိ လုပ်ဆောင်နေမှုများအား ဖယ်ခွင့် ပြုပါ။ သင့် ခွင့်ပြုချက်မပါပဲ လုပ်ဆောင်နိုင်ပါလိမ့်မည်"</string> <string name="permlab_enableCarMode" msgid="5684504058192921098">"ကားမောင်းနေစဥ်စနစ်အား ရရှိစေခြင်း"</string> - <string name="permdesc_enableCarMode" msgid="4853187425751419467">"appအား ကား မုဒ် ဖွင့်ခွင့် ပြုသည်။"</string> + <string name="permdesc_enableCarMode" msgid="4853187425751419467">"အက်ပ်အား ကား မုဒ် ဖွင့်ခွင့် ပြုသည်။"</string> <string name="permlab_killBackgroundProcesses" msgid="3914026687420177202">"အခြား အပလီကေးရှင်းများအား ပိတ်ရန်"</string> <string name="permdesc_killBackgroundProcesses" msgid="4593353235959733119">"အပလီကေးရှင်းအား နောက်ကွယ်တွင် ဖွင့်ထားသော အခြားအပလီကေးရှင်းများရဲ့ လုပ်ဆောင်မှုများအား ရပ်ခွင့်ပေးပါ။ ဒီလိုလုပ်ခြင်းဖြင့် အခြား အပလီကေးရှင်းများ ရပ်တန့်သွားနိုင်ပါသည်"</string> <string name="permlab_systemAlertWindow" msgid="3543347980839518613">"တခြား အပလီကေးရှင်းပေါ်တွင် ထပ်ဆွဲရန်"</string> <string name="permdesc_systemAlertWindow" msgid="8584678381972820118">"အပလီကေးရှင်းအား အခြားအပလီကေးရှင်းများ သို့ တခြား အသုံးပြုသူ မြင်ရသော နေရာများပေါ်တွင် ထပ်၍ ရေးဆွဲခွင့် ပေးသည်။ ဒီခွင့်ပြုမှုဟာ သင် အပလီကေးရှင်းများနဲ့ အသုံးပြုရန် စီစဉ်ထားမှု သို့ သင် မြင်ရသောမြင်ကွင်းအား ပြောင်းလဲမှု ဖြစ်စေနိုင်သည်"</string> - <string name="permlab_persistentActivity" msgid="8841113627955563938">"appကို အမြဲတမ်း အလုပ်လုပ်စေခြင်း"</string> + <string name="permlab_persistentActivity" msgid="8841113627955563938">"အက်ပ်ကို အမြဲတမ်း အလုပ်လုပ်စေခြင်း"</string> <string name="permdesc_persistentActivity" product="tablet" msgid="8525189272329086137">"အပလီကေးရှင်းအား မှတ်ဉာဏ်ထဲတွင် ရေရှည်သိမ်းဆည်ထားရန် ခွင့်ပြုပါ။ ဒီခွင့်ပြုချက်ကြောင့် တခြားအပလီကေးရှင်းအများအတွက် မှတ်ဉာဏ်ရရှိမှု နည်းသွားနိုင်ပြီး တက်ဘလက်လည်း နှေးသွားနိုင်ပါသည်။"</string> - <string name="permdesc_persistentActivity" product="tv" msgid="5086862529499103587">"မှတ်ဉာဏ်တွင် ၎င်း၏အစိတ်အပိုင်းများကိုယ်တိုင် တည်မြဲနေစေရန် app အား ခွင့်ပြုပါ။ ဤနည်းဖြင့် တီဗွီကို နှေးစေသော အခြား app များ၏ မှတ်ဉာဏ်ကို ကန့်သတ်ထားနိုင်သည်။"</string> + <string name="permdesc_persistentActivity" product="tv" msgid="5086862529499103587">"မှတ်ဉာဏ်တွင် ၎င်း၏အစိတ်အပိုင်းများကိုယ်တိုင် တည်မြဲနေစေရန် အက်ပ် အား ခွင့်ပြုပါ။ ဤနည်းဖြင့် တီဗွီကို နှေးစေသော အခြား အက်ပ် များ၏ မှတ်ဉာဏ်ကို ကန့်သတ်ထားနိုင်သည်။"</string> <string name="permdesc_persistentActivity" product="default" msgid="4384760047508278272">"အပလီကေးရှင်းအား မှတ်ဉာဏ်ထဲတွင် ရေရှည်သိမ်းဆည်ထားရန် ခွင့်ပြုပါ။ ဒီခွင့်ပြုချက်ကြောင့် တခြားအပလီကေးရှင်းအများအတွက် မှတ်ဉာဏ်ရရှိမှု နည်းသွားနိုင်ပြီး ဖုန်းလည်း နှေးသွားနိုင်ပါသည်။"</string> - <string name="permlab_getPackageSize" msgid="7472921768357981986">"app သိုလှောင်မှု နေရာကို တိုင်းထွာခြင်း"</string> - <string name="permdesc_getPackageSize" msgid="3921068154420738296">"appအား ၎င်း၏ ကုဒ်၊ ဒေတာ၊ နှင့် ကက်ရှ ဆိုက်များကို ရယူခွင့် ပြုသည်။"</string> + <string name="permlab_getPackageSize" msgid="7472921768357981986">"အက်ပ် သိုလှောင်မှု နေရာကို တိုင်းထွာခြင်း"</string> + <string name="permdesc_getPackageSize" msgid="3921068154420738296">"အက်ပ်အား ၎င်း၏ ကုဒ်၊ ဒေတာ၊ နှင့် ကက်ရှ ဆိုက်များကို ရယူခွင့် ပြုသည်။"</string> <string name="permlab_writeSettings" msgid="2226195290955224730">"စနစ်အပြင်အဆင်အား မွမ်းမံခြင်း"</string> - <string name="permdesc_writeSettings" msgid="7775723441558907181">"appအား စနစ်၏ ဆက်တင် ဒေတာကို မွမ်းမံခွင့် ပြုသည်။ သာမန် appများက သင့် စနစ်၏ စီစဉ်ဖွဲ့စည်းမှုကို ဖျက်ဆီးပစ်နိုင်သည်။"</string> + <string name="permdesc_writeSettings" msgid="7775723441558907181">"အက်ပ်အား စနစ်၏ ဆက်တင် ဒေတာကို မွမ်းမံခွင့် ပြုသည်။ သာမန် အက်ပ်များက သင့် စနစ်၏ စီစဉ်ဖွဲ့စည်းမှုကို ဖျက်ဆီးပစ်နိုင်သည်။"</string> <string name="permlab_receiveBootCompleted" msgid="5312965565987800025">"အစတွင် လုပ်ဆောင်ရန်"</string> - <string name="permdesc_receiveBootCompleted" product="tablet" msgid="7390304664116880704">"appအား စနစ်၏ စတင်မှု ပြီးဆုံးသည့်နှင့် မိမိကိုမိမိ စတင်ခွင့် ပြုသည်။ သို့ဖြစ်၍ ဖုန်း စတင်မှုမှာ အချိန် ပိုကြာနိုင်ပြီး appက တချိန်လုံး အလုပ်လုပ်နေခြင်းကြောင့် တက်ဘလက်၏ အလုပ် တစ်ခုလုံးကို နှေးကွေးလာစေနိုင်သည်။"</string> - <string name="permdesc_receiveBootCompleted" product="tv" msgid="4525890122209673621">"စနစ် စတင်ပြီးသည်နှင့် တစ်ပြိုင်နက် အလိုလို အစပြုရန် app အားခွင့်ပြုပါ။ ထိုသို့ခွင့်ပြုခြင်းဖြင့် တီဗွီအား စရန် အချိန်ကြာစေပြီး အစဉ်အမြဲဖွင့်ထားခြင်းဖြင့် တက်ဘလက်အား နှေးသွားစေရန် app အား ခွင့်ပြုပါ။"</string> - <string name="permdesc_receiveBootCompleted" product="default" msgid="513950589102617504">"appအား စနစ်၏ စတင်မှု ပြီးဆုံးသည့်နှင့် မိမိကိုမိမိ စတင်ခွင့် ပြုသည်။ သို့ဖြစ်၍ ဖုန်း စတင်မှုမှာ အချိန် ပိုကြာနိုင်ပြီး appက တချိန်လုံး အလုပ်လုပ်နေခြင်းကြောင့် ဖုန်း၏ အလုပ် တစ်ခုလုံးကို နှေးကွေးလာစေနိုင်သည်။"</string> + <string name="permdesc_receiveBootCompleted" product="tablet" msgid="7390304664116880704">"အက်ပ်အား စနစ်၏ စတင်မှု ပြီးဆုံးသည့်နှင့် မိမိကိုမိမိ စတင်ခွင့် ပြုသည်။ သို့ဖြစ်၍ ဖုန်း စတင်မှုမှာ အချိန် ပိုကြာနိုင်ပြီး အက်ပ်က တချိန်လုံး အလုပ်လုပ်နေခြင်းကြောင့် တက်ဘလက်၏ အလုပ် တစ်ခုလုံးကို နှေးကွေးလာစေနိုင်သည်။"</string> + <string name="permdesc_receiveBootCompleted" product="tv" msgid="4525890122209673621">"စနစ် စတင်ပြီးသည်နှင့် တစ်ပြိုင်နက် အလိုလို အစပြုရန် အက်ပ် အားခွင့်ပြုပါ။ ထိုသို့ခွင့်ပြုခြင်းဖြင့် တီဗွီအား စရန် အချိန်ကြာစေပြီး အစဉ်အမြဲဖွင့်ထားခြင်းဖြင့် တက်ဘလက်အား နှေးသွားစေရန် အက်ပ် အား ခွင့်ပြုပါ။"</string> + <string name="permdesc_receiveBootCompleted" product="default" msgid="513950589102617504">"အက်ပ်အား စနစ်၏ စတင်မှု ပြီးဆုံးသည့်နှင့် မိမိကိုမိမိ စတင်ခွင့် ပြုသည်။ သို့ဖြစ်၍ ဖုန်း စတင်မှုမှာ အချိန် ပိုကြာနိုင်ပြီး အက်ပ်က တချိန်လုံး အလုပ်လုပ်နေခြင်းကြောင့် ဖုန်း၏ အလုပ် တစ်ခုလုံးကို နှေးကွေးလာစေနိုင်သည်။"</string> <string name="permlab_broadcastSticky" msgid="7919126372606881614">"ကြာရှည်ခံ ထုတ်လွှတ်မှု အားပေးပို့ခြင်း"</string> <string name="permdesc_broadcastSticky" product="tablet" msgid="7749760494399915651">"အပလီကေးရှင်းအား ကြာရှည်ခံ ထုတ်လွှင့်မှု ပြုပါ။ ဒီထုတ်လွှင့်မှုများဟာ ထုတ်လွှင့်မှု ပြီးဆုံးပြီးသွားတည့်တိုင် ကျန်နေမည် ဖြစ်ပါသည်။ အလွန်အကျွံသုံးခြင်းကြောင့် မက်မိုရီ အသုံးများပြီး တက်ဘလက်နှေးခြင်း၊ မတည်ငြိမ်ခြင်း ဖြစ်နိုင်ပါသည်"</string> - <string name="permdesc_broadcastSticky" product="tv" msgid="6839285697565389467">"ထုတ်လွှင့်ခြင်းများ ပြီးဆုံးသည့်နောက် ဆက်လက်ရှိနေသည့်၊ တည်မြဲ ထုတ်လွှင့်မှုများပို့ရန် app အား ခွင့်ပြုပါ။ အလွန်အကျွံ လုပ်ဆောင်ပါက တီဗွီ နှေးသွားခြင်း သို့မဟုတ် မှတ်ဉာဏ်အသုံးများမှုကြောင့် မတည်မငြိမ်ဖြစ်ခြင်းများ ဖြစ်တတ်၏။"</string> + <string name="permdesc_broadcastSticky" product="tv" msgid="6839285697565389467">"ထုတ်လွှင့်ခြင်းများ ပြီးဆုံးသည့်နောက် ဆက်လက်ရှိနေသည့်၊ တည်မြဲ ထုတ်လွှင့်မှုများပို့ရန် အက်ပ် အား ခွင့်ပြုပါ။ အလွန်အကျွံ လုပ်ဆောင်ပါက တီဗွီ နှေးသွားခြင်း သို့မဟုတ် မှတ်ဉာဏ်အသုံးများမှုကြောင့် မတည်မငြိမ်ဖြစ်ခြင်းများ ဖြစ်တတ်၏။"</string> <string name="permdesc_broadcastSticky" product="default" msgid="2825803764232445091">"အပလီကေးရှင်းအား ကြာရှည်ခံ ထုတ်လွှင့်မှု ပြုပါ။ ဒီထုတ်လွှင့်မှုများဟာ ထုတ်လွှင့်မှု ပြီးဆုံးပြီးသွားတည့်တိုင် ကျန်နေမည် ဖြစ်ပါသည်။ အလွန်အကျွံသုံးခြင်းကြောင့် မှတ်ဉာဏ်အသုံးများပြီး ဖုန်းနှေးခြင်း၊ မတည်ငြိမ်ခြင်း ဖြစ်နိုင်ပါသည်"</string> <string name="permlab_readContacts" msgid="8348481131899886131">"အဆက်အသွယ်များအား ဖတ်ခြင်း"</string> <string name="permdesc_readContacts" product="tablet" msgid="5294866856941149639">"အပလီကေးရှင်းအား ခေါ်ဆိုသော အကြိမ်ရေ၊ အီးမေးလ်အကြိမ်ရေ၊ တခြားဆက်သွယ်မှုများစသည်ကဲ့သို့ သင့်တက်ဘလက်မှာ သိမ်းဆည်းထားသော အဆက်အသွယ်များရဲ့ အချက်အလက်ကို ဖတ်ခွင့်ပြုပါ။ ဤသို့ခွင့်ပြုခြင်းအားဖြင့် အပလီကေးရှင်းများကို သင့် အဆက်အသွယ်၏ အချက်မလက်များကို သိမ်းဆည်းရန် ခွင့်ပြုပြီး အန္တရာယ်ရှိသော အပလီကေးရှင်းများမှ ထိုအချက်အလက်များ ကို သင် မသိစေပဲ ဖြန့်ဝေနိုင််မည် ဖြစ်ပါသည်။"</string> - <string name="permdesc_readContacts" product="tv" msgid="1839238344654834087">"တစ်ဦးတစ်ယောက်ထံ သင်ခေါ်ထားသော၊ အီးမေးိပု့ထားသော၊ သို့မဟုတ် တစ်ခြားနည်းဖြင့် အဆက်အသွယ်ပြုထားသော အကြိမ်အရေအတွက် အပါအဝင်၊ သင့်တီဗွီတွင် သိမ်းထားသည့် အဆက်အသွယ်ဆိုင်ရာ အချက်အလက်များ ဖတ်ရန် app အား ခွင့်ပြုပါ။ ဤနည်းဖြင့် သင့် အဆက်အသွယ် အချက်အလက်များအား သိမ်းဆည်းရန် app အား ခွင့်ပြုထားခြင်းဖြစ်ပြီး၊ အဆက်အသွယ် အချက်အလက်များအား အန္တရာယ်ရှိသော app များက သင်မသိဘဲ ဝေမျှနိုင်သည်။"</string> + <string name="permdesc_readContacts" product="tv" msgid="1839238344654834087">"တစ်ဦးတစ်ယောက်ထံ သင်ခေါ်ထားသော၊ အီးမေးိပု့ထားသော၊ သို့မဟုတ် တစ်ခြားနည်းဖြင့် အဆက်အသွယ်ပြုထားသော အကြိမ်အရေအတွက် အပါအဝင်၊ သင့်တီဗွီတွင် သိမ်းထားသည့် အဆက်အသွယ်ဆိုင်ရာ အချက်အလက်များ ဖတ်ရန် အက်ပ် အား ခွင့်ပြုပါ။ ဤနည်းဖြင့် သင့် အဆက်အသွယ် အချက်အလက်များအား သိမ်းဆည်းရန် အက်ပ် အား ခွင့်ပြုထားခြင်းဖြစ်ပြီး၊ အဆက်အသွယ် အချက်အလက်များအား အန္တရာယ်ရှိသော အက်ပ် များက သင်မသိဘဲ ဝေမျှနိုင်သည်။"</string> <string name="permdesc_readContacts" product="default" msgid="8440654152457300662">"အပလီကေးရှင်းအား ခေါ်ဆိုသော အကြိမ်ရေ၊ အီးမေးလ်အကြိမ်ရေ၊ တခြားဆက်သွယ်မှုများစသည်ကဲ့သို့ သင့်ဖုန်းမှာ သိမ်းဆည်းထားသော အဆက်အသွယ်များရဲ့ အချက်အလက်ကို ဖတ်ခွင့်ပြုပါ။ ဤသို့ခွင့်ပြုခြင်းအားဖြင့် အပလီကေးရှင်းများကို သင့် အဆက်အသွယ်၏ အချက်မလက်များကို သိမ်းဆည်းရန် ခွင့်ပြုပြီး အန္တရာယ်ရှိသော အပလီကေးရှင်းများမှ ထိုအချက်အလက်များ ကို သင် မသိစေပဲ ဖြန့်ဝေနိုင််မည် ဖြစ်ပါသည်။"</string> <string name="permlab_writeContacts" msgid="5107492086416793544">"အဆက်အသွယ်များအား ပြင်ဆင်ခြင်း"</string> <string name="permdesc_writeContacts" product="tablet" msgid="897243932521953602">"အပလီကေးရှင်းအား သင့်တက်ဘလက်မှာ သိမ်းဆည်းထားသော အဆက်အသွယ်များရဲ့ အချက်အလက် (အထူးအဆက်အသွယ်များအား ခေါ်ဆိုသော အကြိမ်ရေ၊ အီးမေးလ်ပို့သောအကြိမ်ရေ သို့ အခြားနည်းလမ်းဖြင့်ဆက်သွယ်မှုများ) ကို ပြင်ဆင်ခွင့်ပြုခြင်း။ ဒီခွင့်ပြုချက်က အပလီကေးရှင်းများအား အဆက်အသွယ် အချက်အလက်များ ဖျက်စီးခြင်း လုပ်ဆောင်စေနိုင်မှာ ဖြစ်ပါသည်။"</string> @@ -338,28 +338,28 @@ <string name="permdesc_writeContacts" product="default" msgid="589869224625163558">"အပလီကေးရှင်းအား သင့်ဖုန်းမှာ သိမ်းဆည်းထားသော အဆက်အသွယ်များရဲ့ အချက်အလက် (အထူးအဆက်အသွယ်များအား ခေါ်ဆိုသော အကြိမ်ရေ၊ အီးမေးလ်ပို့သောအကြိမ်ရေ သို့ အခြားနည်းလမ်းဖြင့်ဆက်သွယ်မှုများ) ကို ပြင်ဆင်ခွင့်ပြုခြင်း။ ဒီခွင့်ပြုချက်က အပလီကေးရှင်းများအား အဆက်အသွယ် အချက်အလက်များ ဖျက်စီးခြင်း လုပ်ဆောင်စေနိုင်မှာ ဖြစ်ပါသည်။"</string> <string name="permlab_readCallLog" msgid="3478133184624102739">"ခေါ်ဆိုမှု မှတ်တမ်းအား ဖတ်ခြင်း"</string> <string name="permdesc_readCallLog" product="tablet" msgid="3700645184870760285">"အပလီကေးရှင်းအား တက်ဘလက်၏ အထွက် အဝင် ခေါ်ဆိုမှုများ အပါအဝင် ခေါ်ဆိုမှု မှတ်တမ်းအား ကြည့်ရှုခွင့်ပြုပါ။ အပလီကေးရှင်းအနေဖြင့် ခေါ်ဆိုမှု မှတ်တမ်းအား သိုလှောင်ခြင်း၊ မျှဝေခြင်းများကို သင် မသိရှိပဲ ပြုလုပ်နိုင်မှာ ဖြစ်ပါသည်"</string> - <string name="permdesc_readCallLog" product="tv" msgid="5611770887047387926">"အဝင်အထွက် ခေါ်ဆိုထားသော ဒေတာများ အပါအဝင်၊ သင့် တီဗွီ၏ ခေါ်ဆိုမှု မှတ်တမ်းအား ဖတ်ရန် app အား ခွင့်ပြုပါ။ ဤနည်းဖြင့် သင့် ခေါ်ဆိုမှုမှတ်တမ်းဒေတာကို သိမ်းဆည်းရန် app အား ခွင့်ပြုပြီး၊ အန္တရာယ်ရှိသော app များက သင်အား အသိမပေးဘဲ ခေါ်ဆိုမှုမှတ်တမ်းဒေတာကို ဝေမျှနိုင်သည်။"</string> + <string name="permdesc_readCallLog" product="tv" msgid="5611770887047387926">"အဝင်အထွက် ခေါ်ဆိုထားသော ဒေတာများ အပါအဝင်၊ သင့် တီဗွီ၏ ခေါ်ဆိုမှု မှတ်တမ်းအား ဖတ်ရန် အက်ပ် အား ခွင့်ပြုပါ။ ဤနည်းဖြင့် သင့် ခေါ်ဆိုမှုမှတ်တမ်းဒေတာကို သိမ်းဆည်းရန် အက်ပ် အား ခွင့်ပြုပြီး၊ အန္တရာယ်ရှိသော အက်ပ် များက သင်အား အသိမပေးဘဲ ခေါ်ဆိုမှုမှတ်တမ်းဒေတာကို ဝေမျှနိုင်သည်။"</string> <string name="permdesc_readCallLog" product="default" msgid="5777725796813217244">"အပလီကေးရှင်းအား ဖုန်း၏ အဝင်အထွက် ခေါ်ဆိုမှုများ အပါအဝင် ခေါ်ဆိုမှု မှတ်တမ်းအား ကြည့်ရှုခွင့်ပြုပါ။ အပလီကေးရှင်းအနေဖြင့် ခေါ်ဆိုမှု မှတ်တမ်းအား သိုလှောင်ခြင်း၊ မျှဝေခြင်းများကို သင် မသိရှိပဲ ပြုလုပ်နိုင်မှာ ဖြစ်ပါသည်။"</string> <string name="permlab_writeCallLog" msgid="8552045664743499354">"ခေါ်ဆိုမှုမှတ်တမ်း ရေးသားခြင်း"</string> <string name="permdesc_writeCallLog" product="tablet" msgid="6661806062274119245">"အပလီကေးရှင်းအား သင့်တက်ဘလက်၏ ဖုန်းခေါ်ဆိုမှု မှတ်တမ်း (အဝင်အထွက်ခေါ်ဆိုမှု အချက်အလက်များ) ကို ပြင်ဆင်ခွင့် ပေးခြင်း။ အန္တရာယ်ရှိ အပလီကေးရှင်းများမှ ဤအချက်ကို အသုံးပြု၍ သင့် ဖုန်းခေါ်ဆိုမှု မှတ်တမ်းကို ဖျက်ပစ်ခြင်း၊ ပြင်ဆင်ခြင်းများ ပြုလုပ်နိုင်ပါသည်"</string> <string name="permdesc_writeCallLog" product="tv" msgid="4225034892248398019">"အဝင်အထွက်ခေါ်ဆိုမှု အချက်အလက်များ အပါအဝင်၊ သင့်တီဗွီ၏ ဖုန်းခေါ်ဆိုမှု မှတ်တမ်းကို အပလီကေးရှင်းအား ပြင်ဆင်ခွင့်ပေးခြင်း။ အန္တရာယ်ရှိ အပလီကေးရှင်းများမှ ဤအချက်ကို အသုံးပြု၍ သင့် ဖုန်းခေါ်ဆိုမှု မှတ်တမ်းကို ဖျက်ပစ်ခြင်း၊ ပြင်ဆင်ခြင်းများ ပြုလုပ်နိုင်၏။"</string> <string name="permdesc_writeCallLog" product="default" msgid="683941736352787842">"အပလီကေးရှင်းအား သင့်ဖုန်း၏ ဖုန်းခေါ်ဆိုမှု မှတ်တမ်း (အဝင်အထွက်ခေါ်ဆိုမှု အချက်အလက်များ) ကို ပြင်ဆင်ခွင့် ပေးခြင်း။ အန္တရာယ်ရှိ အပလီကေးရှင်းများမှ ဤအချက်ကို အသုံးပြု၍ သင့် ဖုန်းခေါ်ဆိုမှု မှတ်တမ်းကို ဖျက်ပစ်ခြင်း၊ ပြင်ဆင်ခြင်းများ ပြုလုပ်နိုင်ပါသည်"</string> <string name="permlab_bodySensors" msgid="4683341291818520277">"ခန္ဓာကိုယ် အာရုံကိရိယာများကို (နှလုံးခုန်နှုန်း မော်နီတာလို)ကို ရယူသုံးရန်"</string> - <string name="permdesc_bodySensors" product="default" msgid="4380015021754180431">"သင်၏ နှလုံးခုန်နှုန်းလို ရုပ်ပိုင်း အခြေအနေကို စောင့်ကြပ်သည့် အာရုံခံစက်များထံမှ ဒေတာများကို appအား ရယူသုံးခွင့် ပြုပါ။"</string> + <string name="permdesc_bodySensors" product="default" msgid="4380015021754180431">"သင်၏ နှလုံးခုန်နှုန်းလို ရုပ်ပိုင်း အခြေအနေကို စောင့်ကြပ်သည့် အာရုံခံစက်များထံမှ ဒေတာများကို အက်ပ်အား ရယူသုံးခွင့် ပြုပါ။"</string> <string name="permlab_readCalendar" msgid="5972727560257612398">"ပြက္ခဒိန်အဖြစ်အပျက်များနှင့် လှို့ဝှက်အချက်အလက်များအား ဖတ်ခြင်း"</string> <string name="permdesc_readCalendar" product="tablet" msgid="4216462049057658723">"အပလီကေးရှင်းအား တက်ဘလက်ထဲတွင် သိမ်းထားသော သူငယ်ချင်းနှင့် လုပ်ဖော်ကိုင်ဘက်များ၏ ပြက္ခဒိန် အဖြစ်အပျက်များအပါအဝင် အားလုံးကို ဖတ်ရှုခွင့်ပြုပါ။ ဒီခွင့်ပြုချက်ကြောင့် အပလီကေးရှင်းမှ ပြက္ခဒိန် အဖြစ်အပျက်များအား လျှို့ဝှက်မှု သို့ ဂရုပြုမှု ကို ထည့်သွင်းမစဉ်းစားပဲ သိမ်းဆည်းခြင်း၊ မျှဝေခြင်း ပြုလုပ်စေနိုင်ပါသည်"</string> - <string name="permdesc_readCalendar" product="tv" msgid="3191352452242394196">"သူငယ်ချင်းများ သို့မဟုတ် လုပ်ဖော်ကိုင်ဖက်များ၏ ဖြစ်ရပ်များ အပါအဝင်၊ သင့် တီဗွီတွင် သိမ်းထားသော ပြက္ခဒိန်ရှိ ဖြစ်ရပ်များအား ဖတ်ရန် app အား ခွင့်ပြုပါ။ ဤနည်းဖြင့် ယုံကြည်စိတ်ချရမှု သို့မဟုတ် ထိခိုက်လွယ်မှုတို့နှင့် မသက်ဆိုင်ဘဲ၊ သင့် ပြက္ခဒိန်ရှိ ဒေတာကို ဝေမျှရန် သို့မဟုတ် သိမ်းဆည်းရန် app အား ခွင့်ပြုသည်။"</string> + <string name="permdesc_readCalendar" product="tv" msgid="3191352452242394196">"သူငယ်ချင်းများ သို့မဟုတ် လုပ်ဖော်ကိုင်ဖက်များ၏ ဖြစ်ရပ်များ အပါအဝင်၊ သင့် တီဗွီတွင် သိမ်းထားသော ပြက္ခဒိန်ရှိ ဖြစ်ရပ်များအား ဖတ်ရန် အက်ပ် အား ခွင့်ပြုပါ။ ဤနည်းဖြင့် ယုံကြည်စိတ်ချရမှု သို့မဟုတ် ထိခိုက်လွယ်မှုတို့နှင့် မသက်ဆိုင်ဘဲ၊ သင့် ပြက္ခဒိန်ရှိ ဒေတာကို ဝေမျှရန် သို့မဟုတ် သိမ်းဆည်းရန် အက်ပ် အား ခွင့်ပြုသည်။"</string> <string name="permdesc_readCalendar" product="default" msgid="7434548682470851583">"အပလီကေးရှင်းအားဖုန်းထဲတွင် သိမ်းထားသော သူငယ်ချင်းနှင့် လုပ်ဖော်ကိုင်ဘက်များ၏ ပြက္ခဒိန် အဖြစ်အပျက်များအပါအဝင် အားလုံးကို ဖတ်ရှုခွင့်ပြုပါ။ ဒီခွင့်ပြုချက်ကြောင့် အပလီကေးရှင်းမှ ပြက္ခဒိန် အဖြစ်အပျက်များအား လျှို့ဝှက်မှု သို့ ဂရုပြုမှု ကို ထည့်သွင်းမစဉ်းစားပဲ သိမ်းဆည်းခြင်း၊ မျှဝေခြင်း ပြုလုပ်စေနိုင်ပါသည်"</string> <string name="permlab_writeCalendar" msgid="8438874755193825647">"ပြက္ခဒိန်အဖြစ်အပျက်များကို ထပ်ထည့်ရန် သို့မဟုတ် မွမ်းမံရန်နှင့် ပိုင်ရှင်၏အသိမပေးပဲ ဧည့်သည်များထံ အီးမေးလ်ပို့ရန်"</string> <string name="permdesc_writeCalendar" product="tablet" msgid="6679035520113668528">"အပလီကေးရှင်းအား သင်၏ တက်ဘလက်တွင် သူငယ်ချင်း အလုပ်ဖော်များ အပါအဝင် သင်၏ ပြောင်းလဲအဖြစ်အပျက်များအား ထည့်ခြင်း၊ ထုတ်ခြင်းအား ခွင့်ပြုရန်။ ဤခွင့်ပြုချက်သည် အပလီကေးရှင်းအား သတင်းများပို့ခြင်းကို ပြက္ခဒိန်ပိုင်ရှင်ဆီမှ လာသလို အနေဖြင့် ပေးပို့ခြင်း သို့မဟုတ် အဖြစ်အပျက်များကို ပိုင်ရှင်မသိပဲ ပြင်ဆင်နိုင်ပါသည်။"</string> - <string name="permdesc_writeCalendar" product="tv" msgid="1273290605500902507">"သင့် သူငယ်ချင်းများ သို့မဟုတ် လုပ်ဖော်ကိုင်ဖက်များ၏ လှုပ်ရှားမှုများ အပါအဝင်၊ သင့်တီဗွီရှိ လှုပ်ရှားမှုများကို ထပ်ထည့်ရန်၊ ဖယ်ထုတ်ရန်၊ ပြောင်းလဲရန် app အား ခွင့်ပြုပါ။ ဤသို့ပြုပါက ပြက္ခဒိန် ပိုင်ရှင်ဆီမှ စာတိုများ လာသကဲ့သို့ စာများပို့ရန်၊ သို့မဟုတ် ပိုင်ရှင်၏ ခွင့်ပြုချက်မရှိဘဲ လှုပ်ရှားမှုများကို ပြင်ဆင်ရန် app အား ခွင့်ပြုထားခြင်း ဖြစ်၏။"</string> + <string name="permdesc_writeCalendar" product="tv" msgid="1273290605500902507">"သင့် သူငယ်ချင်းများ သို့မဟုတ် လုပ်ဖော်ကိုင်ဖက်များ၏ လှုပ်ရှားမှုများ အပါအဝင်၊ သင့်တီဗွီရှိ လှုပ်ရှားမှုများကို ထပ်ထည့်ရန်၊ ဖယ်ထုတ်ရန်၊ ပြောင်းလဲရန် အက်ပ် အား ခွင့်ပြုပါ။ ဤသို့ပြုပါက ပြက္ခဒိန် ပိုင်ရှင်ဆီမှ စာတိုများ လာသကဲ့သို့ စာများပို့ရန်၊ သို့မဟုတ် ပိုင်ရှင်၏ ခွင့်ပြုချက်မရှိဘဲ လှုပ်ရှားမှုများကို ပြင်ဆင်ရန် အက်ပ် အား ခွင့်ပြုထားခြင်း ဖြစ်၏။"</string> <string name="permdesc_writeCalendar" product="default" msgid="2324469496327249376">"အပလီကေးရှင်းအား သင်၏ ဖုန်းတွင် သူငယ်ချင်း အလုပ်ဖော်များ အပါအဝင် သင်၏ ပြောင်းလဲအဖြစ်အပျက်များအား ထည့်ခြင်း၊ ထုတ်ခြင်းအား ခွင့်ပြုရန်။ ဤခွင့်ပြုချက်သည် အပလီကေးရှင်းအား သတင်းများပို့ခြင်းကို ပြက္ခဒိန်ပိုင်ရှင်ဆီမှ လာသလို အနေဖြင့် ပေးပို့ခြင်း သို့မဟုတ် အဖြစ်အပျက်များကို ပိုင်ရှင်မသိပဲ ပြင်ဆင်နိုင်ပါသည်။"</string> <string name="permlab_accessLocationExtraCommands" msgid="2836308076720553837">"တည်နေရာပံ့ပိုးမှုညွှန်ကြားချက်အပိုအား ဝင်ရောက်ကြည့်ခြင်း"</string> - <string name="permdesc_accessLocationExtraCommands" msgid="6078307221056649927">"appအား တည်နေရာ စီမံပေးရေး ညွှန်ကြားချက် အပိုများကို ရယူခွင့်ပြုသည်။ သို့ဖြစ်၍ appသည် GPS သို့မဟုတ် အခြား တည်နေရာ ရင်းမြစ်ကို သုံးကြသူတို့၏ လုပ်ငန်းများကို ဝင်စွက်ခွင့် ပြုနိုင်သည်။"</string> + <string name="permdesc_accessLocationExtraCommands" msgid="6078307221056649927">"အက်ပ်အား တည်နေရာ စီမံပေးရေး ညွှန်ကြားချက် အပိုများကို ရယူခွင့်ပြုသည်။ သို့ဖြစ်၍ အက်ပ်သည် GPS သို့မဟုတ် အခြား တည်နေရာ ရင်းမြစ်ကို သုံးကြသူတို့၏ လုပ်ငန်းများကို ဝင်စွက်ခွင့် ပြုနိုင်သည်။"</string> <string name="permlab_accessFineLocation" msgid="251034415460950944">"တိကျတဲ့ တည်နေရာ (GPS နှင့် ကွန်ရက် အခြေခံ)ကို ရယူသုံးရန်"</string> - <string name="permdesc_accessFineLocation" msgid="5295047563564981250">"အပလီကေးရှင်းမှ သင့်ရဲ့ တိကျသောနေရာကို ဂျီပီအက်စ် သို့ ဆယ်လူလာတာဝါတိုင်၊ ဝိုင်ဖိုင် အချက်အလက်များ သုံးပြီး ရှာခြင်း ခွင့်ယူပါ။ နေရာပြ ဆားဗစ်များ စက်ပေါ်မှာ ရှိရမှာ ဖြစ်သလို ဖွင့်ထားရမှာလည်း ဖြစ်ပါသည်။ အပလီကေးရှင်းမှ ဒီဆားဗစ်များကို သုံး၍ ရှာဖွေသောကြောင့် ဘက်ထရီ ပိုကုန်နိုင်ပါသည်။"</string> + <string name="permdesc_accessFineLocation" msgid="5295047563564981250">"အပလီကေးရှင်းမှ သင့်ရဲ့ တိကျသောနေရာကို ဂျီပီအက်စ် သို့ ဆယ်လူလာတာဝါတိုင်၊ Wi-Fi အချက်အလက်များ သုံးပြီး ရှာခြင်း ခွင့်ယူပါ။ နေရာပြ ဆားဗစ်များ စက်ပေါ်မှာ ရှိရမှာ ဖြစ်သလို ဖွင့်ထားရမှာလည်း ဖြစ်ပါသည်။ အပလီကေးရှင်းမှ ဒီဆားဗစ်များကို သုံး၍ ရှာဖွေသောကြောင့် ဘက်ထရီ ပိုကုန်နိုင်ပါသည်။"</string> <string name="permlab_accessCoarseLocation" msgid="7715277613928539434">"အနီးစပ်ဆုံး တည်နေရာ (ကွန်ရက် အခြေခံ)ကို ရယူသုံးရန်"</string> - <string name="permdesc_accessCoarseLocation" msgid="2538200184373302295">"သင့်ရဲ့ ပျမ်းမျတည်နေရာကို အပလီကေးရှင်း အား သိခွင့် ပြုရန်။ ဒီ တည်နေရာကို တည်နေရာရှာဖွေရေး ဆားဗစ်မှ မိုဘိုင်း တာဝါတိုင်၊ ဝိုင်ဖိုင် စသည်တို့မှ တဆင့် ရယူပါသည်။ အပလီကေးရှင်း အနေဖြင့် ဒီ ဆားဗစ်များ ရှိနေရန် လိုအပ်ပါသည်။ ဒီအရာများကို အသုံးပြု၍ သင့်နေရာကို သိနိုင်ပါသည်။"</string> + <string name="permdesc_accessCoarseLocation" msgid="2538200184373302295">"သင့်ရဲ့ ပျမ်းမျတည်နေရာကို အက်ပ် အား သိခွင့် ပြုရန်။ ဒီ တည်နေရာကို တည်နေရာရှာဖွေရေး ဆားဗစ်မှ မိုဘိုင်း တာဝါတိုင်၊ Wi-Fi စသည်တို့မှ တဆင့် ရယူပါသည်။ အက်ပ် အနေဖြင့် ဒီ ဆားဗစ်များ ရှိနေရန် လိုအပ်ပါသည်။ ဒီအရာများကို အသုံးပြု၍ သင့်နေရာကို သိနိုင်ပါသည်။"</string> <string name="permlab_modifyAudioSettings" msgid="6095859937069146086">"သင့်အသံအပြင်အဆင်အားပြောင်းခြင်း"</string> <string name="permdesc_modifyAudioSettings" msgid="3522565366806248517">"အပလီကေးရှင်းအား အသံအတိုးအကျယ်နှင့် အထွက်ကို မည်သည့်စပီကာကို သုံးရန်စသည်ဖြင့် စက်တစ်ခုလုံးနှင့်ဆိုင်သော အသံဆိုင်ရာ ဆက်တင်များ ပြင်ဆင်ခွင့် ပြုရန်"</string> <string name="permlab_recordAudio" msgid="3876049771427466323">"အသံဖမ်းခြင်း"</string> @@ -369,7 +369,7 @@ <string name="permlab_camera" msgid="3616391919559751192">"ဓါတ်ပုံနှင့်ဗွီဒီယိုရိုက်ခြင်း"</string> <string name="permdesc_camera" msgid="8497216524735535009">"အပလီကေးရှင်းအား အလိုအလျောက် ဓာတ်ပုံရိုက်ခွင့်၊ ဗီဒီယို ရိုက်ကူးခွင့် ပြုပါ။ ဒီခွင့်ပြုချက်က အပလီကေးရှင်းကို အချိန်မရွေး ကင်မရာအား ခွင့်ပြုချက် မလိုအပ်ပဲ သုံးခွင့်ပြုပါသည်။"</string> <string name="permlab_vibrate" msgid="7696427026057705834">"တုန်ခုန်မှုအား ထိန်းချုပ်ခြင်း"</string> - <string name="permdesc_vibrate" msgid="6284989245902300945">"appအား တုန်ခါစက်ကို ထိန်းချုပ်ခွင့် ပြုသည်။"</string> + <string name="permdesc_vibrate" msgid="6284989245902300945">"အက်ပ်အား တုန်ခါစက်ကို ထိန်းချုပ်ခွင့် ပြုသည်။"</string> <string name="permlab_callPhone" msgid="3925836347681847954">"ဖုန်းနံပါတ်များကိုတိုက်ရိုက်ခေါ်ဆိုခြင်း"</string> <string name="permdesc_callPhone" msgid="3740797576113760827">"အပလီကေးရှင်းအား အလိုအလျောက် ဖုန်းခေါ်ခွင့် ပြုပါ။ မလိုအပ်သော ဖုန်းခ များ ဖြစ်ပေါ်နိုင်ပါသည်။ ဒီခွင့်ပြုခြင်းမှာ အရေးပေါ်ဖုန်းခေါ်ခြင်း မပါဝင်ပါ။ သံသယဖြစ်စရာ အပလီကေးရှင်းများက သင့်မသိပဲ ဖုန်းခေါ်ခြင်းဖြင့် ဖုန်းခ ပိုမိုကျနိုင်ပါသည်။"</string> <string name="permlab_accessImsCallService" msgid="3574943847181793918">"IMS ဖုန်းခေါ်ဆိုမှု ဝန်ဆောင်ဌာန ဝင်ကြည့်ပါ"</string> @@ -379,57 +379,57 @@ <string name="permlab_wakeLock" product="tablet" msgid="1531731435011495015">"တက်ပလက်အား ပိတ်ခြင်းမှ ကာကွယ်ခြင်း"</string> <string name="permlab_wakeLock" product="tv" msgid="2601193288949154131">"တီဗွီအား နားနေခြင်းမှ ကာကွယ်ရန်"</string> <string name="permlab_wakeLock" product="default" msgid="573480187941496130">"ဖုန်းအနားယူခြင်းမပြုလုပ်စေရန်"</string> - <string name="permdesc_wakeLock" product="tablet" msgid="7311319824400447868">"appအား တက်ဘလက်ကို အနားမယူနိုင်အောင် ဟန့်တားခွင့် ပြုသည်။"</string> - <string name="permdesc_wakeLock" product="tv" msgid="3208534859208996974">"တီဗွီ ရပ်နားသွားခြင်းအား ကာကွယ်ရန် app အား ခွင့်ပြုပါ။"</string> - <string name="permdesc_wakeLock" product="default" msgid="8559100677372928754">"appအား ဖုန်းကို အနားမယူနိုင်အောင် ဟန့်တားခွင့် ပြုသည်။"</string> + <string name="permdesc_wakeLock" product="tablet" msgid="7311319824400447868">"အက်ပ်အား တက်ဘလက်ကို အနားမယူနိုင်အောင် ဟန့်တားခွင့် ပြုသည်။"</string> + <string name="permdesc_wakeLock" product="tv" msgid="3208534859208996974">"တီဗွီ ရပ်နားသွားခြင်းအား ကာကွယ်ရန် အက်ပ် အား ခွင့်ပြုပါ။"</string> + <string name="permdesc_wakeLock" product="default" msgid="8559100677372928754">"အက်ပ်အား ဖုန်းကို အနားမယူနိုင်အောင် ဟန့်တားခွင့် ပြုသည်။"</string> <string name="permlab_transmitIr" msgid="7545858504238530105">"အနီအောက်ရောင်ခြည် ထုတ်လွှတ်ခြင်း"</string> <string name="permdesc_transmitIr" product="tablet" msgid="5358308854306529170">"အပလီကေးရှင်းအား တက်ဘလက်ရဲ့ အနီအောက်ရောင်ခြည် ထုတ်လွှတ်ခြင်းအား သုံးခွင့်ပေးခြင်း"</string> - <string name="permdesc_transmitIr" product="tv" msgid="3926790828514867101">"တီဗွီ၏ အင်ဖရာရက် ထုတ်လွှတ်မှုအား အသုံးပြုရန် app အား ခွင့်ပြုပါ။"</string> + <string name="permdesc_transmitIr" product="tv" msgid="3926790828514867101">"တီဗွီ၏ အင်ဖရာရက် ထုတ်လွှတ်မှုအား အသုံးပြုရန် အက်ပ် အား ခွင့်ပြုပါ။"</string> <string name="permdesc_transmitIr" product="default" msgid="7957763745020300725">"အပလီကေးရှင်းအား ဖုန်းရဲ့ အနီအောက်ရောင်ခြည် ထုတ်လွှတ်ခြင်းအား သုံးခွင့်ပေးခြင်း"</string> <string name="permlab_setWallpaper" msgid="6627192333373465143">"နောက်ခံအား သတ်မှတ်ရန်"</string> - <string name="permdesc_setWallpaper" msgid="7373447920977624745">"appအား စနစ် နောက်ခံပုံကို သတ်မှတ်ခွင့် ပြုသည်။"</string> + <string name="permdesc_setWallpaper" msgid="7373447920977624745">"အက်ပ်အား စနစ် နောက်ခံပုံကို သတ်မှတ်ခွင့် ပြုသည်။"</string> <string name="permlab_setWallpaperHints" msgid="3278608165977736538">"နောက်ခံပုံအား အရွယ်အစားပြောင်းရန်"</string> - <string name="permdesc_setWallpaperHints" msgid="8235784384223730091">"appအား စနစ် နောက်ခံပုံ ဆိုက်ဆိုင်ရာ ညွှန်းချက်များကို သတ်မှတ်ခွင့် ပြုသည်။"</string> + <string name="permdesc_setWallpaperHints" msgid="8235784384223730091">"အက်ပ်အား စနစ် နောက်ခံပုံ ဆိုက်ဆိုင်ရာ ညွှန်းချက်များကို သတ်မှတ်ခွင့် ပြုသည်။"</string> <string name="permlab_setTimeZone" msgid="2945079801013077340">"အချိန်ဇုန်းအား သတ်မှတ်ခြင်း"</string> - <string name="permdesc_setTimeZone" product="tablet" msgid="1676983712315827645">"appအား တက်ဘလက်၏ နာရီ ဇုန်ကို ပြောင်းလဲခွင့် ပြုသည်။"</string> - <string name="permdesc_setTimeZone" product="tv" msgid="888864653946175955">"တီဗွီ၏ အချိန်အပိုင်းအခြားဇုန်အား ပြင်ဆင်ရန် app အား ခွင့်ပြုပါ။"</string> - <string name="permdesc_setTimeZone" product="default" msgid="4499943488436633398">"appအား ဖုန်း၏ နာရီ ဇုန်ကို ပြောင်းလဲခွင့် ပြုသည်။"</string> + <string name="permdesc_setTimeZone" product="tablet" msgid="1676983712315827645">"အက်ပ်အား တက်ဘလက်၏ နာရီ ဇုန်ကို ပြောင်းလဲခွင့် ပြုသည်။"</string> + <string name="permdesc_setTimeZone" product="tv" msgid="888864653946175955">"တီဗွီ၏ အချိန်အပိုင်းအခြားဇုန်အား ပြင်ဆင်ရန် အက်ပ် အား ခွင့်ပြုပါ။"</string> + <string name="permdesc_setTimeZone" product="default" msgid="4499943488436633398">"အက်ပ်အား ဖုန်း၏ နာရီ ဇုန်ကို ပြောင်းလဲခွင့် ပြုသည်။"</string> <string name="permlab_getAccounts" msgid="1086795467760122114">"စက်ပေါ်မှာ အကောင့်များ ရှာဖွေခြင်း"</string> <string name="permdesc_getAccounts" product="tablet" msgid="2741496534769660027">"အပလီကေးရှင်းအား တက်ဘလက်မှ သိရှိထားသော အကောင့်များအား ရယူခွင့်ပေးပါ။ ဒီထဲတွင် သင် ထည့်သွင်းထားသော အပလီကေးရှင်းများမှတဆင့် ပြုလုပ်ထားသော အကောင့်များပါ ပါဝင်နိုင်ပါသည်။"</string> - <string name="permdesc_getAccounts" product="tv" msgid="4190633395633907543">"တီဗွီ သိသော အကောင့်စာရင်းအား ရယူခွင့်ကို app အား ခွင့်ပြုပါ။ သင်ထည့်သွင်းထားသည့် အပလီကေးရှင်းများမှ ဖန်တီးထားသော မည်သည့်အကောင့်မဆို ပါဝင်မည်။"</string> + <string name="permdesc_getAccounts" product="tv" msgid="4190633395633907543">"တီဗွီ သိသော အကောင့်စာရင်းအား ရယူခွင့်ကို အက်ပ် အား ခွင့်ပြုပါ။ သင်ထည့်သွင်းထားသည့် အပလီကေးရှင်းများမှ ဖန်တီးထားသော မည်သည့်အကောင့်မဆို ပါဝင်မည်။"</string> <string name="permdesc_getAccounts" product="default" msgid="3448316822451807382">"အပလီကေးရှင်းအား ဖုန်းမှ သိရှိထားသော အကောင့်စာရင်းများအား ရယူခွင့်ပေးပါ။ ဒီထဲတွင် သင် ထည့်သွင်းထားသော အပလီကေးရှင်းများမှတဆင့် ပြုလုပ်ထားသော အကောင့်များပါ ပါဝင်နိုင်ပါသည်။"</string> <string name="permlab_accessNetworkState" msgid="4951027964348974773">"ကွန်ရက် ချိတ်ဆက်မှုများအား ကြည့်ရန်"</string> <string name="permdesc_accessNetworkState" msgid="8318964424675960975">"အပလီကေးရှင်းအား မည်သည့်ကွန်ရက်နက်ဝဘ်ရှိသလဲ၊ မည်သည့်ကွန်ရက်နှင့် ချိတ်ဆက်ထားလဲ စသည်ဖြင့် ကွန်ရက်ချိတ်ဆက်မှုများ၏ သတင်းအချက်အလက်များကို ကြည့်ခွင့်ပေးရန်"</string> <string name="permlab_createNetworkSockets" msgid="7934516631384168107">"ကွန်ရက်ကို အပြည့်အဝ ရယူသုံးနိုင်"</string> <string name="permdesc_createNetworkSockets" msgid="3403062187779724185">"အပလီကေးရှင်းအား ကွန်ရက်ဆော့ကတ်များ တည်ဆောက်ခွင့်၊ တသီးတသန့် ကွန်ရက် ပရိုတိုကောလ်များ သုံးခွင့် ပြုပါ။ အင်တာနက်မှ အချက်အလက်များ ပေးပို့ခြင်းကို ဘရောက်ဇာနှင့် တခြား အပလီကေးရှင်းများက လုပ်ဆောင်ပေးသောကြောင့် ဒီခွင့်ပြုချက်က အင်တာနက်မှ အချက်အလက် ပေးပို့ခြင်း မလိုအပ်ပါ"</string> <string name="permlab_changeNetworkState" msgid="958884291454327309">"ကွန်ယက်ဆက်သွယ်မှုအားပြောင်းခြင်း"</string> - <string name="permdesc_changeNetworkState" msgid="6789123912476416214">"appအား ကွန်ရက် ချိတ်ဆက်နိုင်စွမ်း အခြေအနေကို ပြောင်းလဲခွင့် ပြုသည်။"</string> + <string name="permdesc_changeNetworkState" msgid="6789123912476416214">"အက်ပ်အား ကွန်ရက် ချိတ်ဆက်နိုင်စွမ်း အခြေအနေကို ပြောင်းလဲခွင့် ပြုသည်။"</string> <string name="permlab_changeTetherState" msgid="5952584964373017960">"တစ်ဆင့်ပွါးဆက်သွယ်မှုအားပြောင်းခြင်း"</string> - <string name="permdesc_changeTetherState" msgid="1524441344412319780">"appအား ချိတ်တွဲထားသည့် ကွန်ရက် ချိတ်ဆက်နိုင်စွမ်း အခြေအနေကို ပြောင်းလဲခွင့် ပြုသည်။"</string> - <string name="permlab_accessWifiState" msgid="5202012949247040011">"ဝိုင်ဖိုင် ချိတ်ဆက်မှများအား ကြည့်ရန်"</string> - <string name="permdesc_accessWifiState" msgid="5002798077387803726">"အပလီကေးရှင်းအား ဝိုင်ဖိုင် ဖွင့်ထား မထား၊ ချိတ်ဆက်ထားသော ပိုင်ဖိုင် စက်ပစ္စည်း စသဖြင့် ဝိုင်ဖိုင်နှင့် သက်ဆိုင်သော အချက်အလက် ကြည့်ခွင့်ပေးရန်"</string> + <string name="permdesc_changeTetherState" msgid="1524441344412319780">"အက်ပ်အား ချိတ်တွဲထားသည့် ကွန်ရက် ချိတ်ဆက်နိုင်စွမ်း အခြေအနေကို ပြောင်းလဲခွင့် ပြုသည်။"</string> + <string name="permlab_accessWifiState" msgid="5202012949247040011">"Wi-Fi ချိတ်ဆက်မှများအား ကြည့်ရန်"</string> + <string name="permdesc_accessWifiState" msgid="5002798077387803726">"အပလီကေးရှင်းအား Wi-Fi ဖွင့်ထား မထား၊ ချိတ်ဆက်ထားသော ပိုင်ဖိုင် စက်ပစ္စည်း စသဖြင့် Wi-Fi နှင့် သက်ဆိုင်သော အချက်အလက် ကြည့်ခွင့်ပေးရန်"</string> <string name="permlab_changeWifiState" msgid="6550641188749128035">"ဝိုင်ဖိုင်အား ချိတ်ဆက်ရန် နှင့် ဆက်သွယ်မှု ဖြတ်တောက်ရန်"</string> <string name="permdesc_changeWifiState" msgid="7137950297386127533">"အပလီကေးရှင်းအား ဝိုင်ဖိုင်တည်နေရာများအား ဆက်သွယ်ခြင်း၊ ဆက်သွယ်မှု ရပ်ဆိုင်းခြင်း၊ ဝိုင်ဖိုင်ကွန်ရက်အတွက် စက်အပြင်အဆင်များ ပြုလုပ်ခြင်း ခွင့်ပြုပါ"</string> <string name="permlab_changeWifiMulticastState" msgid="1368253871483254784">"Wi-Fi Multicastလက်ခံခြင်းကိုခွင့်ပြုရန်"</string> <string name="permdesc_changeWifiMulticastState" product="tablet" msgid="7969774021256336548">"အပလီကေးရှင်းအား ဝိုင်ဖိုင်ကွန်ရက်ပေါ်တွင် သင့်တက်ဘလက်တစ်ခုထဲအားမဟုတ်ပဲ multicast လိပ်စာအား သုံးပြီး လွှင့်ထုတ်သော အချက်အလက်များ လက်ခံခွင့် ပြုပါ။ ဒီလိုသုံးခြင်းမှာ non-multicast ထက် ဘက်ထရီ ပိုကုန်ပါသည်။"</string> - <string name="permdesc_changeWifiMulticastState" product="tv" msgid="9031975661145014160">"သင့် တီဗွီနှင့်သာ မဟုတ်ဘဲ၊ ကွန်ယက်လိပ်စာများစွာ သုံးသော ဝိုင်ဖိုင်ကွန်ယက်ရှိ စက်ကိရိယာအားလုံးသို့ ပို့သော ပက်ကက်များအား လက်ခံရရှိရန် app အားခွင့်ပြုပါ။ ၎င်းသည် ကွန်ယက်လိပ်စာများစွာမသုံးသောမုဒ်ထက် စွမ်းအားပိုသုံး၏။"</string> + <string name="permdesc_changeWifiMulticastState" product="tv" msgid="9031975661145014160">"သင့် တီဗွီနှင့်သာ မဟုတ်ဘဲ၊ ကွန်ယက်လိပ်စာများစွာ သုံးသော ဝိုင်ဖိုင်ကွန်ယက်ရှိ စက်ကိရိယာအားလုံးသို့ ပို့သော ပက်ကက်များအား လက်ခံရရှိရန် အက်ပ် အားခွင့်ပြုပါ။ ၎င်းသည် ကွန်ယက်လိပ်စာများစွာမသုံးသောမုဒ်ထက် စွမ်းအားပိုသုံး၏။"</string> <string name="permdesc_changeWifiMulticastState" product="default" msgid="6851949706025349926">"အပလီကေးရှင်းအား ဝိုင်ဖိုင်နက်ဘ်ပေါ်တွင် သင့်ဖုန်းတစ်ခုထဲအားမဟုတ်ပဲ multicast လိပ်စာအား သုံးပြီး လွှင့်ထုတ်သော အချက်အလက်များ လက်ခံခွင့် ပြုပါ။ ဒီလိုသုံးခြင်းမှာ non-multicast ထက် ဘက်ထရီ ပိုကုန်ပါသည်။"</string> <string name="permlab_bluetoothAdmin" msgid="6006967373935926659">"ဘလူးတု ဆက်တင်များအား သုံးခွင့်ပေးရန်"</string> - <string name="permdesc_bluetoothAdmin" product="tablet" msgid="6921177471748882137">"appအား ဒေသန္တရ ဘလူးတုသ် တက်ဘလက်ကို စီစဉ်ဖွဲ့စည်းခွင့်ကို၎င်း၊ အဝေးထိန်း ကိရိယာများကို ရှာကြံလျက် ချိတ်တွဲခွင့်ကို၎င်း ပေးထားသည်။"</string> - <string name="permdesc_bluetoothAdmin" product="tv" msgid="3373125682645601429">"ကွန်ယက်တွင်းရှိ ဘလူးတုသ် တီဗွီအား ပုံစံပြင်ရန်နှင့်၊ အဝေးရှိ စက်ကိရိယာများအား ရှာဖွေတွဲဖက်ရန် app အား ခွင့်ပြုပါ။"</string> - <string name="permdesc_bluetoothAdmin" product="default" msgid="8931682159331542137">"appအား ဒေသန္တရ ဘလူးတုသ် ဖုန်းကို စီစဉ်ဖွဲ့စည်းခွင့်ကို၎င်း၊ အဝေးထိန်း ကိရိယာများကို ရှာကြံလျက် ချိတ်တွဲခွင့်ကို၎င်း ပေးထားသည်။"</string> + <string name="permdesc_bluetoothAdmin" product="tablet" msgid="6921177471748882137">"အက်ပ်အား ဒေသန္တရ ဘလူးတုသ် တက်ဘလက်ကို စီစဉ်ဖွဲ့စည်းခွင့်ကို၎င်း၊ အဝေးထိန်း ကိရိယာများကို ရှာကြံလျက် ချိတ်တွဲခွင့်ကို၎င်း ပေးထားသည်။"</string> + <string name="permdesc_bluetoothAdmin" product="tv" msgid="3373125682645601429">"ကွန်ယက်တွင်းရှိ ဘလူးတုသ် တီဗွီအား ပုံစံပြင်ရန်နှင့်၊ အဝေးရှိ စက်ကိရိယာများအား ရှာဖွေတွဲဖက်ရန် အက်ပ် အား ခွင့်ပြုပါ။"</string> + <string name="permdesc_bluetoothAdmin" product="default" msgid="8931682159331542137">"အက်ပ်အား ဒေသန္တရ ဘလူးတုသ် ဖုန်းကို စီစဉ်ဖွဲ့စည်းခွင့်ကို၎င်း၊ အဝေးထိန်း ကိရိယာများကို ရှာကြံလျက် ချိတ်တွဲခွင့်ကို၎င်း ပေးထားသည်။"</string> <string name="permlab_accessWimaxState" msgid="4195907010610205703">"ဝိုင်မက်စ် နှင့် ချိတ်ဆက်ရန်နှင့် ဆက်သွယ်မှု ဖြတ်တောက်ရန်"</string> <string name="permdesc_accessWimaxState" msgid="6360102877261978887">"အပလီကေးရှင်းအား ဝိုင်မက်စ် အခြေအနေ ကြည့်ခွင့်ပေးရန် ဥပမာ ဝိုင်မက်စ် ဖွင့်ထား မထား၊ ဝိုင်မက်စ် ချိတ်ဆက်ထားသော ကွန်ရက်အခြေအနေ"</string> <string name="permlab_changeWimaxState" msgid="340465839241528618">"WiMAX အခြေအနေကို ပြောင်းရန် ပြင်ရန်"</string> <string name="permdesc_changeWimaxState" product="tablet" msgid="3156456504084201805">"အပလီကေးရှင်းအား တက်ဘလက်ကို ဝိုင်မက်စ် ကွန်ရက်များနဲ့ ဆက်သွယ်ခြင်း၊ ဆက်သွယ်မှု ရပ်ဆိုင်းခြင်းများ လုပ်ခွင့်ပြုပါ"</string> - <string name="permdesc_changeWimaxState" product="tv" msgid="6022307083934827718">"တီဗွီနှင့် ချိတ်ဆက်ရန် app အား ခွင့်ပြုပြီး တီဗွီနှင့် WiMAX ကွန်ယက်များ ချိတ်ဆက်ထားမှုအား ဖြတ်တောက်ပါ။"</string> + <string name="permdesc_changeWimaxState" product="tv" msgid="6022307083934827718">"တီဗွီနှင့် ချိတ်ဆက်ရန် အက်ပ် အား ခွင့်ပြုပြီး တီဗွီနှင့် WiMAX ကွန်ယက်များ ချိတ်ဆက်ထားမှုအား ဖြတ်တောက်ပါ။"</string> <string name="permdesc_changeWimaxState" product="default" msgid="697025043004923798">"အပလီကေးရှင်းအား ဖုန်းကို ဝိုင်မက်စ် ကွန်ရက်များနဲ့ ဆက်သွယ်ခြင်း၊ ဆက်သွယ်မှု ရပ်ဆိုင်းခြင်းများ လုပ်ခွင့်ပြုပါ"</string> <string name="permlab_bluetooth" msgid="6127769336339276828">"ဘလူးတု စက်များနှင့် အတူတွဲချိတ်ရန်"</string> <string name="permdesc_bluetooth" product="tablet" msgid="3480722181852438628">"အပလီကေးရှင်းအား တက်ဘလက်ပေါ်မှ ဘလူးတုသ် အပြင်အဆင်အား ကြည့်ခွင့်၊ တခြားစက်များနဲ့ ဆက်သွယ်ခြင်း၊ ဆက်သွယ်ခြင်းကို လက်ခံခွင့်ပြုပါ။"</string> - <string name="permdesc_bluetooth" product="tv" msgid="3974124940101104206">"တီဗွီတွင် ဘလူးတုသ်အတွက် ပုံစံပြင်ခြင်းများ ဝင်ကြည့်ရန်နှင့်၊ တွဲဖက်ထားသည့် စက်ကိရိယာများအား ချိတ်ဆက်မှုပြုရန်နှင့်လက်ခံရန် app အား ခွင့်ပြုပါ။"</string> + <string name="permdesc_bluetooth" product="tv" msgid="3974124940101104206">"တီဗွီတွင် ဘလူးတုသ်အတွက် ပုံစံပြင်ခြင်းများ ဝင်ကြည့်ရန်နှင့်၊ တွဲဖက်ထားသည့် စက်ကိရိယာများအား ချိတ်ဆက်မှုပြုရန်နှင့်လက်ခံရန် အက်ပ် အား ခွင့်ပြုပါ။"</string> <string name="permdesc_bluetooth" product="default" msgid="3207106324452312739">"အပလီကေးရှင်းအား ဖုန်းမှဘလူးတု အပြင်အဆင်အား ကြည့်ခွင့်၊ တခြားစက်များနဲ့ ဆက်သွယ်ခြင်း၊ ဆက်သွယ်ခြင်းကို လက်ခံခွင့်ပြုပါ။"</string> <string name="permlab_nfc" msgid="4423351274757876953">"Near Field Communicationအား ထိန်းချုပ်ရန်"</string> - <string name="permdesc_nfc" msgid="7120611819401789907">"appအား တာတို စက်ကွင်း ဆက်သွယ်ရေး (NFC) တဲဂ်များ၊ ကဒ်များ နှင့် ဖတ်ကြသူတို့နှင့် ဆက်သွယ်ပြောဆိုခွင့် ပြုသည်။"</string> + <string name="permdesc_nfc" msgid="7120611819401789907">"အက်ပ်အား တာတို စက်ကွင်း ဆက်သွယ်ရေး (NFC) တဲဂ်များ၊ ကဒ်များ နှင့် ဖတ်ကြသူတို့နှင့် ဆက်သွယ်ပြောဆိုခွင့် ပြုသည်။"</string> <string name="permlab_disableKeyguard" msgid="3598496301486439258">"ဖန်သားပြင် သော့ချခြင်းအား မလုပ်နိုင်အောင် ပိတ်ရန်"</string> <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"အပလီကေးရှင်းအား သော့ချခြင်းနှင့် သက်ဆိုင်ရာ စကားဝှက်သတ်မှတ်ခြင်းများအား မသုံးနိုင်အောင် ပိတ်ခြင်းကို ခွင့်ပြုရန်။ ဥပမာ ဖုန်းလာလျှင် သော့ပိတ်ခြင်း ပယ်ဖျက်ခြင်း၊ ဖုန်းပြောပြီးလျှင် သော့ကို အလိုအလျောက် ပြန်ပိတ်ခြင်း"</string> <string name="permlab_manageFingerprint" msgid="5640858826254575638">"လက်ဗွေရာပစ္စည်းကို စီမံမည်"</string> @@ -454,9 +454,9 @@ </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"လက်ဗွေ အိုင်ကွန်"</string> <string name="permlab_readSyncSettings" msgid="6201810008230503052">"ထပ်တူပြုအဆင်အပြင်အားဖတ်ခြင်း"</string> - <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"အပလီကေးရှင်းအား အကောင့်တစ်ခုအတွက် ထပ်တူညီအောင် လုပ်ဆောင်မှု ဆက်တင်အား ကြည့်ခွင့် ပြုပါ။ ဥပမာ People app က အကောင့်တစ်ခုနဲ့ ထပ်တူညီအောင် လုပ်ရန် ဆက်သွယ်ထားမှု ရှိမရှိ သိရှိနိုင်ခြင်း"</string> + <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"အပလီကေးရှင်းအား အကောင့်တစ်ခုအတွက် ထပ်တူညီအောင် လုပ်ဆောင်မှု ဆက်တင်အား ကြည့်ခွင့် ပြုပါ။ ဥပမာ People အက်ပ် က အကောင့်တစ်ခုနဲ့ ထပ်တူညီအောင် လုပ်ရန် ဆက်သွယ်ထားမှု ရှိမရှိ သိရှိနိုင်ခြင်း"</string> <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"ထပ်တူညီအောင် လုပ်ခြင်းအား ပြုနိုင်၊ မပြုနိုင် အပြောင်းအလဲလုပ်ခြင်း"</string> - <string name="permdesc_writeSyncSettings" msgid="8956262591306369868">"အကောင့်တစ်ခုအတွက် ထပ်တူညီအောင်လုပ်သော ဆက်တင်များကို ပြင်ရန် အပလီကေးရှင်းကို ခွင့်ပြုရန်။ ဥပမာ People အပလီကေးရှင်း က အကောင့်တစ်ခုနှင့် ထပ်တူညီအောင် လုပ်ဆောင်ခြင်းအား ဖွင့်ရန် သုံးနိုင်သည်။"</string> + <string name="permdesc_writeSyncSettings" msgid="8956262591306369868">"အကောင့်တစ်ခုအတွက် ထပ်တူညီအောင်လုပ်သော ဆက်တင်များကို ပြင်ရန် အက်ပ်ကို ခွင့်ပြုရန်။ ဥပမာ People အက်ပ် က အကောင့်တစ်ခုနှင့် ထပ်တူညီအောင် လုပ်ဆောင်ခြင်းအား ဖွင့်ရန် သုံးနိုင်သည်။"</string> <string name="permlab_readSyncStats" msgid="7396577451360202448">"ထပ်တူကူးခြင်း ကိန်းဂဏန်းအချက်အလက်များကို ဖတ်ခြင်း"</string> <string name="permdesc_readSyncStats" msgid="1510143761757606156">"အပလီကေးရှင်းအား အကောင့်တစ်ခု၏ ထပ်တူညီအောင် လုပ်ဆောင်မှု အခြေအနေ (ပြီးခဲ့သော အဖြစ်အပျက်၊ ဒေတာ ပမာဏ ပါဝင်မှု များအပါအဝင်)ကို ဖတ်ရှုခွင့် ပြုပါ။"</string> <string name="permlab_sdcardRead" product="nosdcard" msgid="367275095159405468">"USB သိုလှောင်မှုမှ အချက်အလက်များအား ဖတ်ခြင်း"</string> @@ -465,26 +465,26 @@ <string name="permdesc_sdcardRead" product="default" msgid="2607362473654975411">"အပလီကေးရှင်းအား အက်စ်ဒီ ကဒ်ပေါ်မှ ဒေတာများ ဖတ်ရှုခွင့်ပြုခြင်း"</string> <string name="permlab_sdcardWrite" product="nosdcard" msgid="8485979062254666748">"USBမှဒေတာအား ပြင် သို့ ဖျက်ရန်"</string> <string name="permlab_sdcardWrite" product="default" msgid="8805693630050458763">"SD ကဒ်ပေါ်မှ အချက်အလက်များအား ပြင်ဆင်ခြင်း သို့ ဖျက်ပစ်ခြင်း"</string> - <string name="permdesc_sdcardWrite" product="nosdcard" msgid="6175406299445710888">"appအား USB သိုလှောင်ခန်းသို့ ရေးခွင့် ပြုသည်။"</string> - <string name="permdesc_sdcardWrite" product="default" msgid="4337417790936632090">"appအား SD ကဒ်သို့ ရေးခွင့် ပြုသည်။"</string> + <string name="permdesc_sdcardWrite" product="nosdcard" msgid="6175406299445710888">"အက်ပ်အား USB သိုလှောင်ခန်းသို့ ရေးခွင့် ပြုသည်။"</string> + <string name="permdesc_sdcardWrite" product="default" msgid="4337417790936632090">"အက်ပ်အား SD ကဒ်သို့ ရေးခွင့် ပြုသည်။"</string> <string name="permlab_use_sip" msgid="2052499390128979920">"SIP ခေါ်ဆိုမှုများ ခေါ်ရန်/လက်ခံရန်"</string> - <string name="permdesc_use_sip" msgid="2297804849860225257">"SIP ခေါ်ဆိုမှုများ ခေါ်ရန်နှင့် လက်ခံနိုင်ရန် app ကို ခွင့်ပြုပါ။"</string> + <string name="permdesc_use_sip" msgid="2297804849860225257">"SIP ခေါ်ဆိုမှုများ ခေါ်ရန်နှင့် လက်ခံနိုင်ရန် အက်ပ် ကို ခွင့်ပြုပါ။"</string> <string name="permlab_register_sim_subscription" msgid="3166535485877549177">"တယ်လီကွမ် ဆင်းမ် ချိတ်ဆက်မှုများကို မှတ်ပုံတင်ပါ"</string> - <string name="permdesc_register_sim_subscription" msgid="2138909035926222911">"appအား တယ်လီကွမ် ဆင်းမ် ချိတ်ဆက်မှုကို မှတ်ပုံတင်ခွင့် ပြုသည်။"</string> + <string name="permdesc_register_sim_subscription" msgid="2138909035926222911">"အက်ပ်အား တယ်လီကွမ် ဆင်းမ် ချိတ်ဆက်မှုကို မှတ်ပုံတင်ခွင့် ပြုသည်။"</string> <string name="permlab_register_call_provider" msgid="108102120289029841">"တယ်လီကွမ် တယ်လီကွမ် ချိတ်ဆက်မှု အသစ်များကို မှတ်ပုံတင်ပါ"</string> - <string name="permdesc_register_call_provider" msgid="7034310263521081388">"appအား တယ်လီကွမ် ချိတ်ဆက်မှု အသစ်များကို မှတ်ပုံတင်ခွင့် ပြုသည်။"</string> + <string name="permdesc_register_call_provider" msgid="7034310263521081388">"အက်ပ်အား တယ်လီကွမ် ချိတ်ဆက်မှု အသစ်များကို မှတ်ပုံတင်ခွင့် ပြုသည်။"</string> <string name="permlab_connection_manager" msgid="1116193254522105375">"တယ်လီကွမ် ဆက်သွယ်မှုများကို စီမံရန်"</string> - <string name="permdesc_connection_manager" msgid="5925480810356483565">"appအား တယ်လီကွမ် ဆက်သွယ်မှုများကို စီမံခွင့် ပြုပါ။"</string> + <string name="permdesc_connection_manager" msgid="5925480810356483565">"အက်ပ်အား တယ်လီကွမ် ဆက်သွယ်မှုများကို စီမံခွင့် ပြုပါ။"</string> <string name="permlab_bind_incall_service" msgid="6773648341975287125">"ခေါ်ဆိုမှု-အဝင် မျက်နှာပြင်နဲ့ တုံ့ပြန်လုပ်ကိုင်ရန်"</string> - <string name="permdesc_bind_incall_service" msgid="8343471381323215005">"appအား အသုံးပြုသူက ခေါ်ဆိုမှုအဝင် မျက်နှာပြင် ဘယ်အချိန်မှာ ဘယ်လို မြင်ရမှာကို ထိန်းချုပ်ခွင့်ပေးရန်"</string> + <string name="permdesc_bind_incall_service" msgid="8343471381323215005">"အက်ပ်အား အသုံးပြုသူက ခေါ်ဆိုမှုအဝင် မျက်နှာပြင် ဘယ်အချိန်မှာ ဘယ်လို မြင်ရမှာကို ထိန်းချုပ်ခွင့်ပေးရန်"</string> <string name="permlab_bind_connection_service" msgid="3557341439297014940">"တယ်လီဖုန်း ဝန်ဆောင်မှုများနှင့် အပြန်အလှန် တုံ့ပြန်မှု"</string> - <string name="permdesc_bind_connection_service" msgid="4008754499822478114">"appအား ခေါ်ဆိုမှုများ လုပ်ခြင်း/လက်ခံခြင်း ပြုလုပ်နိုင်ရန် တယ်လီဖုန်း ဝန်ဆောင်မှုများနှင့် အပြန်အလှန် တုံ့ပြန်မှုကို ခွင့်ပြုသည်။"</string> + <string name="permdesc_bind_connection_service" msgid="4008754499822478114">"အက်ပ်အား ခေါ်ဆိုမှုများ လုပ်ခြင်း/လက်ခံခြင်း ပြုလုပ်နိုင်ရန် တယ်လီဖုန်း ဝန်ဆောင်မှုများနှင့် အပြန်အလှန် တုံ့ပြန်မှုကို ခွင့်ပြုသည်။"</string> <string name="permlab_control_incall_experience" msgid="9061024437607777619">"အသုံးပြုသူ အတွက် ခေါ်ဆိုမှုအဝင် လုပ်ကိုင်ပုံကို စီစဉ်ပေးခြင်း"</string> - <string name="permdesc_control_incall_experience" msgid="915159066039828124">"appအား အသုံးပြုသူ အတွက် ခေါ်ဆိုမှုအဝင် လုပ်ကိုင်ပုံကို စီစဉ်ခွင့် ပြုသည်။"</string> + <string name="permdesc_control_incall_experience" msgid="915159066039828124">"အက်ပ်အား အသုံးပြုသူ အတွက် ခေါ်ဆိုမှုအဝင် လုပ်ကိုင်ပုံကို စီစဉ်ခွင့် ပြုသည်။"</string> <string name="permlab_readNetworkUsageHistory" msgid="7862593283611493232">"ရာဇဝင်အလိုက် ကွန်ယက်သုံစွဲမှုအား ဖတ်ခြင်း"</string> - <string name="permdesc_readNetworkUsageHistory" msgid="7689060749819126472">"appအား အထူး ကွန်ရက်များ နှင့် appများ အတွက် ကွန်ရက် အသုံးပြုမှု မှတ်တမ်းကို ဖတ်ကြားခွင့် ပြုသည်။"</string> + <string name="permdesc_readNetworkUsageHistory" msgid="7689060749819126472">"အက်ပ်အား အထူး ကွန်ရက်များ နှင့် အက်ပ်များ အတွက် ကွန်ရက် အသုံးပြုမှု မှတ်တမ်းကို ဖတ်ကြားခွင့် ပြုသည်။"</string> <string name="permlab_manageNetworkPolicy" msgid="2562053592339859990">"ကွန်ယက်မူဝါဒအား စီမံခြင်း"</string> - <string name="permdesc_manageNetworkPolicy" msgid="7537586771559370668">"appအား ကွန်ရက် မူဝါဒများကို စီမံခန့်ခွဲခွင့် နှင့် app-ဆိုင်ရာ စည်းကမ်းချက်များကို ပြဌာန်းခွင့် ပြုသည်။"</string> + <string name="permdesc_manageNetworkPolicy" msgid="7537586771559370668">"အက်ပ်အား ကွန်ရက် မူဝါဒများကို စီမံခန့်ခွဲခွင့် နှင့် အက်ပ်-ဆိုင်ရာ စည်းကမ်းချက်များကို ပြဌာန်းခွင့် ပြုသည်။"</string> <string name="permlab_modifyNetworkAccounting" msgid="5088217309088729650">"ကွန်ယက်အသုံးပြုမှုစာရင်းအား မွမ်းမံခြင်း"</string> <string name="permdesc_modifyNetworkAccounting" msgid="5443412866746198123">"အပလီကေးရှင်းအား တခြားအပလီကေးရှင်းများမှ ကွန်ရက်အသုံးပြုမှု တွက်ချက်ခြင်းအား ပြင်ဆင်ခွင့် ပြုပါ။ ပုံမှန် အပလီကေးရှင်းများအတွက် မလိုအပ်ပါ။"</string> <string name="permlab_accessNotifications" msgid="7673416487873432268">"သတိပေးချက်များအား အသုံးပြုခွင့်"</string> @@ -492,25 +492,25 @@ <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"သတိပေးချက် နားထောင်ခြင်း ဆားဗစ် နှင့် ပူးပေါင်းခြင်း"</string> <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"ဖုန်းကိုင်ထားသူနှင့် အကြောင်းကြားချက် နားစွင့်သော ဆားဗစ်မှ ထိပ်ပိုင်းအင်တာဖေ့စ် ကို ပူးပေါင်းခွင့်ပေးခြင်း။ ပုံမှန် အပလီကေးရှင်းများမှာ မလိုအပ်ပါ"</string> <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"အခြေအနေ စီမံပေးရေး ဝန်ဆောင်မှု တစ်ခုဆီသို့ ချိတ်တွဲခြင်း"</string> - <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"စွဲကိုင်ထားသူအား အခြေအနေကို စီမံပေးသူ၏ ထိပ်သီး အဆင့် အင်တာဖေ့စ်သို့ ချိတ်တွဲခွင့်ကို ပေးသည်။ သာမန် appများ အတွက် ဘယ်တော့မှ မလိုအပ်နိုင်ပါ။"</string> + <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"စွဲကိုင်ထားသူအား အခြေအနေကို စီမံပေးသူ၏ ထိပ်သီး အဆင့် အင်တာဖေ့စ်သို့ ချိတ်တွဲခွင့်ကို ပေးသည်။ သာမန် အက်ပ်များ အတွက် ဘယ်တော့မှ မလိုအပ်နိုင်ပါ။"</string> <string name="permlab_bindDreamService" msgid="4153646965978563462">"အိပ်မက် ဝန်ဆောင်မှုသို့ ပေါင်းစည်းမည်"</string> <string name="permdesc_bindDreamService" msgid="7325825272223347863">"အိမ်မက်ဝန်ဆောင်မှု၏ ထိပ်တန်းအဆင့် မျက်နှာပြင်အား ကိုင်ဆောင်သူမှ ပေါင်းစည်းရန် ခွင့်ပြုမည်။ သာမန် အပလီကေးရှင်းများတွင် မလိုအပ်ပါ။"</string> <string name="permlab_invokeCarrierSetup" msgid="3699600833975117478">"မိုဘိုင်းဆက်သွယ်ရေးဝန်ဆောင်မှုဌာန မှ ထည့်သွင်းပေးသော အခြေအနေများအား ပယ်ဖျက်ခြင်း"</string> <string name="permdesc_invokeCarrierSetup" msgid="4159549152529111920">"ကိုင်ဆောင်သူအားမိုဘိုင်းဆက်သွယ်ရေးဝန်ဆောင်မှုဌာနမှ ထည့်သွင်းထားတဲ့ အပြင်အဆင်အား ပယ်ဖျက်ခွင့် ပေးခြင်း။ ပုံမှန် အပလီကေးရှင်းများမှာ မလိုပါ"</string> <string name="permlab_accessNetworkConditions" msgid="8206077447838909516">"ကွန်ယက်အခြေအနေအား လေ့လာနေမှုအား နားထောင်ခွင့်"</string> - <string name="permdesc_accessNetworkConditions" msgid="6899102075825272211">"အပလီကေးရှင်းကို နက်ဝေါ့ ပေါ်က အခြေအနေကို သတိထားခွင့် ပေးခြင်း၊. ပုံမှန် အပလီကေးရှင်း များတွင် မလိုအပ်ပါ"</string> + <string name="permdesc_accessNetworkConditions" msgid="6899102075825272211">"အက်ပ်ကို နက်ဝေါ့ ပေါ်က အခြေအနေကို သတိထားခွင့် ပေးခြင်း၊. ပုံမှန် အက်ပ် များတွင် မလိုအပ်ပါ"</string> <string name="permlab_setInputCalibration" msgid="4902620118878467615">"change ထည့်သွင်းရေး ကိရိယာ တိုင်းထွာညှိနှိုင်းမှု ပြောင်းလဲခြင်း"</string> - <string name="permdesc_setInputCalibration" msgid="4527511047549456929">"appအား တို့ထိရေး မျက်နှာပြင် တိုင်းထွာစံညှိမှုကို မွမ်းမံခွင့် ပြုသည်။ သာမန် appများ ဘယ်တော့မှ မလိုအပ်နိုင်ပါ။"</string> + <string name="permdesc_setInputCalibration" msgid="4527511047549456929">"အက်ပ်အား တို့ထိရေး မျက်နှာပြင် တိုင်းထွာစံညှိမှုကို မွမ်းမံခွင့် ပြုသည်။ သာမန် အက်ပ်များ ဘယ်တော့မှ မလိုအပ်နိုင်ပါ။"</string> <string name="permlab_accessDrmCertificates" msgid="7436886640723203615">"DRM လက်မှတ်များကို ရယူသုံးခြင်း"</string> - <string name="permdesc_accessDrmCertificates" msgid="8073288354426159089">"အပလီကေးရှင်း တစ်ခုအား စီမံလုပ်ကိုင်ခွင့် DRM လက်မှတ်များ သုံးခွင့် ပြုသည်။ သာမန် appများ အတွက် ဘယ်တော့မှ မလိုအပ်နိုင်ပါ။"</string> + <string name="permdesc_accessDrmCertificates" msgid="8073288354426159089">"အက်ပ် တစ်ခုအား စီမံလုပ်ကိုင်ခွင့် DRM လက်မှတ်များ သုံးခွင့် ပြုသည်။ သာမန် အက်ပ်များ အတွက် ဘယ်တော့မှ မလိုအပ်နိုင်ပါ။"</string> <string name="permlab_handoverStatus" msgid="7820353257219300883">"Android ရဲ့ အလင်းတန်းထိုး လွှဲပြောင်းမှု အခြေအနေကို ရယူရန်"</string> <string name="permdesc_handoverStatus" msgid="4788144087245714948">"ဒီအပလီကေးရှင်းအား အန်ဒရွိုက်၏ လက်ရှိ အလင်းတန်းထိုး လွှဲပြောင်းမှု အကြောင်း အချက်အလက်ကို ရယူခွင့် ပြုသည်"</string> <string name="permlab_removeDrmCertificates" msgid="7044888287209892751">"DRM လက်မှတ်များ ဖယ်ရှားရန်"</string> - <string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"အပလီကေးရှင်းအား DRM လက်မှတ်များကို ဖယ်ရှားခွင့် ပြုသည်။ သာမန် appများ အတွက် ဘယ်တော့မှ မလိုအပ်နိုင်ပါ။"</string> + <string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"အပလီကေးရှင်းအား DRM လက်မှတ်များကို ဖယ်ရှားခွင့် ပြုသည်။ သာမန် အက်ပ်များ အတွက် ဘယ်တော့မှ မလိုအပ်နိုင်ပါ။"</string> <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"စာပို့စာယူ ဆက်သွယ်ရေးဝန်ဆောင်မှုတစ်ခုအား ပူးပေါင်းခွင့်ပြုရန်"</string> - <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"စာပို့စာယူဆက်သွယ်ရေးဝန်ဆောင်မှုတစ်ခု၏ ထိပ်ဆုံးရှိအင်တာဖေ့စ်ဖြင့် ပူးပေါင်းရန် ပိုင်ရှင်အားခွင့်ပြုပါ။ ပုံမှန် app များအတွက် မလိုအပ်ပါ။"</string> + <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"စာပို့စာယူဆက်သွယ်ရေးဝန်ဆောင်မှုတစ်ခု၏ ထိပ်ဆုံးရှိအင်တာဖေ့စ်ဖြင့် ပူးပေါင်းရန် ပိုင်ရှင်အားခွင့်ပြုပါ။ ပုံမှန် အက်ပ် များအတွက် မလိုအပ်ပါ။"</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"မိုဘိုင်းဖုန်းဝန်ဆောင်မှုပေးသူများနှင့် ပူးပေါင်းခွင့်ပြုရန်"</string> - <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"မိုဘိုင်းဖုန်းဝန်ဆောင်မှုစနစ်တစ်ခုအား ပူးပေါင်းခွင့်ပြုရန် ကိုင်ဆောင်ထားသူအား ခွင့်ပြုပါ။ သာမန် app များ အတွက် မည်သည့်အခါမျှ မလိုအပ်ပါ။"</string> + <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"မိုဘိုင်းဖုန်းဝန်ဆောင်မှုစနစ်တစ်ခုအား ပူးပေါင်းခွင့်ပြုရန် ကိုင်ဆောင်ထားသူအား ခွင့်ပြုပါ။ သာမန် အက်ပ် များ အတွက် မည်သည့်အခါမျှ မလိုအပ်ပါ။"</string> <string name="permlab_access_notification_policy" msgid="4247510821662059671">"မနှောင့်ယှက်ရန်ကို အသုံးပြုမည်"</string> <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"မနှောင့်ယှက်ရန် ချိန်ညှိမှုကို အပ်ဖ်များ ဖတ်ခြင်း ပြင်ခြင်းပြုလုပ်နိုင်ရန် ခွင့်ပြုမည်။"</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"စကားဝှက်စည်းမျဥ်းကိုသတ်မှတ်ရန်"</string> @@ -597,9 +597,9 @@ <string name="phoneTypeOther" msgid="1544425847868765990">"တခြား"</string> <string name="phoneTypeCallback" msgid="2712175203065678206">"ပြန်လည်ခေါ်ဆိုမှုဆိုင်ရာ"</string> <string name="phoneTypeCar" msgid="8738360689616716982">"ကား"</string> - <string name="phoneTypeCompanyMain" msgid="540434356461478916">"ကုမ္ပဏီ အဓိကဖုန်း"</string> + <string name="phoneTypeCompanyMain" msgid="540434356461478916">"ကုမ္ပဏီ ပင်မဖုန်း"</string> <string name="phoneTypeIsdn" msgid="8022453193171370337">"ISDN"</string> - <string name="phoneTypeMain" msgid="6766137010628326916">"အဓိက"</string> + <string name="phoneTypeMain" msgid="6766137010628326916">"ပင်မ"</string> <string name="phoneTypeOtherFax" msgid="8587657145072446565">"တခြားဖက်စ်"</string> <string name="phoneTypeRadio" msgid="4093738079908667513">"ရေဒီယို"</string> <string name="phoneTypeTelex" msgid="3367879952476250512">"သံကြိုး"</string> @@ -657,7 +657,7 @@ <string name="sipAddressTypeHome" msgid="6093598181069359295">"ပင်မစာမျက်နှာ"</string> <string name="sipAddressTypeWork" msgid="6920725730797099047">"အလုပ်အကိုင်"</string> <string name="sipAddressTypeOther" msgid="4408436162950119849">"တခြား"</string> - <string name="quick_contacts_not_available" msgid="746098007828579688">"ဒီအဆက်အသွယ်အား ကြည့်ရှုရန် အပလီကေးရှင်း မတွေ့ပါ"</string> + <string name="quick_contacts_not_available" msgid="746098007828579688">"ဒီအဆက်အသွယ်အား ကြည့်ရှုရန် အက်ပ် မတွေ့ပါ"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"PIN ကုဒ် ရိုက်ထည့်ပါ"</string> <string name="keyguard_password_enter_puk_code" msgid="4800725266925845333">"PUK နှင့် PIN ကုဒ် အသစ်ကို ရိုက်ထည့်ပါ"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1341112146710087048">"PUK နံပါတ်"</string> @@ -790,18 +790,18 @@ <string name="autofill_parish" msgid="8202206105468820057">"ခရစ်ယာန်အသင်းတော်နယ်ပယ်"</string> <string name="autofill_area" msgid="3547409050889952423">"နေရာ"</string> <string name="autofill_emirate" msgid="2893880978835698818">"စော်ဘွား"</string> - <string name="permlab_readHistoryBookmarks" msgid="3775265775405106983">"သင့်ရဲ့ ဝက်ဘ် အမှတ်နေရာများနှင့် သွားလာသော မှတ်တမ်းအား ဖတ်ခြင်း"</string> + <string name="permlab_readHistoryBookmarks" msgid="3775265775405106983">"သင့်ရဲ့ ဝဘ် အမှတ်နေရာများနှင့် သွားလာသော မှတ်တမ်းအား ဖတ်ခြင်း"</string> <string name="permdesc_readHistoryBookmarks" msgid="8462378226600439658">"အပလီကေးရှင်းအား ဘရောင်ဇာမှ ယခင် သွားရောက်ထားသော URLများ၊ နေရာ အမှတ်အသားများအား ကြည့်ရှုခွင့်ပြုပါ။ မှတ်ချက်။ ဒီခွင့်ပြုချက်ကို တတိယပါတီ ဘရောင်ဇာများ နှင့် တခြား အပလီကေးရှင်းများမှ လုပ်ဆောင်မည် မဟုတ်ပါ။"</string> <string name="permlab_writeHistoryBookmarks" msgid="3714785165273314490">"သင့်ရဲ့ ဝဘ် အမှတ်နေရာများနှင့် သွားလာသော မှတ်တမ်း ရေးခြင်း"</string> <string name="permdesc_writeHistoryBookmarks" product="tablet" msgid="6825527469145760922">"အပလီကေးရှင်းအား ဘရောင်ဇာမှ မှတ်တမ်း သို့ မှတ်သားမှု အမှတ်များအား ပြင်ဆင်ခွင့် ပေးခြင်း။ အပလီကေးရှင်းမှ ဘရောင်ဇာ မှတ်တမ်းများကို ဖျက်ပစ်ခွင့် သို့ ပြင်ဆင်ခွင့် ရှိပါမည်။ မှတ်ချက်။ ဤခွင့်ပြုချက်ကို တတိယပါတီ ဘရောင်ဇာများ၊ တခြား အပလီကေးရှင်းများမှ သုံးမည် မဟုတ်ပါ။"</string> - <string name="permdesc_writeHistoryBookmarks" product="tv" msgid="7007393823197766548">"ဘရောင်ဇာ၏မှတ်တမ်း သို့မဟုတ် တီဗွီတွင်သိမ်းထားသည့် မှတ်သားချက်များအား ပြင်ဆင်ရန် app အား ခွင့်ပြုပါ။ ဤသို့ပြုခြင်းသည် ဘရောင်ဇာ၏ အချက်အလက်များအား ဖျက်ပစ်ရန် သို့မဟုတ် ပြင်ဆင်ရန် app အား ခွင့်ပြုထားခြင်းဖြစ်၏။ မှတ်ချက်၊ ဤသို့ခွင့်ပြုခြင်းသည် ပြင်ပဘရောင်ဇာများ သို့မဟုတ် ဝဘ်အား ကြည့်ရှုနိုင်သည့် တစ်ခြားသော အပလီကေးရှင်းများအား သက်ရောက်မှုရှိမည် မဟုတ်ပါ။"</string> + <string name="permdesc_writeHistoryBookmarks" product="tv" msgid="7007393823197766548">"ဘရောင်ဇာ၏မှတ်တမ်း သို့မဟုတ် တီဗွီတွင်သိမ်းထားသည့် မှတ်သားချက်များအား ပြင်ဆင်ရန် အက်ပ် အား ခွင့်ပြုပါ။ ဤသို့ပြုခြင်းသည် ဘရောင်ဇာ၏ အချက်အလက်များအား ဖျက်ပစ်ရန် သို့မဟုတ် ပြင်ဆင်ရန် အက်ပ် အား ခွင့်ပြုထားခြင်းဖြစ်၏။ မှတ်ချက်၊ ဤသို့ခွင့်ပြုခြင်းသည် ပြင်ပဘရောင်ဇာများ သို့မဟုတ် ဝဘ်အား ကြည့်ရှုနိုင်သည့် တစ်ခြားသော အပလီကေးရှင်းများအား သက်ရောက်မှုရှိမည် မဟုတ်ပါ။"</string> <string name="permdesc_writeHistoryBookmarks" product="default" msgid="8497389531014185509">"အပလီကေးရှင်းအား ဘရောင်ဇာမှ မှတ်တမ်း သို့ မှတ်သားမှု အမှတ်များအား ပြင်ဆင်ခွင့် ပေးခြင်း။ အပလီကေးရှင်းမှ ဘရောင်ဇာ မှတ်တမ်းများကို ဖျက်ပစ်ခွင့် သို့ ပြင်ဆင်ခွင့် ရှိပါမည်။ မှတ်ချက်။ ဒီခွင့်ပြုချက်ကို တတိယပါတီ ဘရောင်ဇာများ၊ တခြား အပလီကေးရှင်းများမှ သုံးမည် မဟုတ်ပါ။"</string> <string name="permlab_setAlarm" msgid="1379294556362091814">"နှိုးစက်သတ်မှတ်ရန်"</string> - <string name="permdesc_setAlarm" msgid="316392039157473848">"appအား တပ်ဆင်ထားသည့် နှိုးစက်နာရီ app ထဲတွင် နှိုးစက်ကို သတ်မှတ်ခွင့် ပြုသည်။ အချို့ နှိုးစက် appများက ထိုအင်္ဂါရပ်ကို ပြီးမြောက်အောင် မလုပ်နိုင်ကြပါ။"</string> + <string name="permdesc_setAlarm" msgid="316392039157473848">"အက်ပ်အား တပ်ဆင်ထားသည့် နှိုးစက်နာရီ အက်ပ် ထဲတွင် နှိုးစက်ကို သတ်မှတ်ခွင့် ပြုသည်။ အချို့ နှိုးစက် အက်ပ်များက ထိုအင်္ဂါရပ်ကို ပြီးမြောက်အောင် မလုပ်နိုင်ကြပါ။"</string> <string name="permlab_addVoicemail" msgid="5525660026090959044">"အသံစာပို့စနစ်အားထည့်ရန်"</string> - <string name="permdesc_addVoicemail" msgid="6604508651428252437">"appအား သင့် အသံမေးလ် ဝင်စာသို့ စာများကို ထည့်ခွင့် ပြုသည်။"</string> + <string name="permdesc_addVoicemail" msgid="6604508651428252437">"အက်ပ်အား သင့် အသံမေးလ် ဝင်စာသို့ စာများကို ထည့်ခွင့် ပြုသည်။"</string> <string name="permlab_writeGeolocationPermissions" msgid="5962224158955273932">"ဘရောင်ဇာ ဘူမိဇုန်သတ်မှတ်မှု ခွင့်ပြုချက်များကို မွမ်းမံခြင်း"</string> - <string name="permdesc_writeGeolocationPermissions" msgid="1083743234522638747">"appအား ဘရောင်ဇာ၏ ဘူမိဇုန်သတ်မှတ်ရေး ခွင့်ပြုချက်များကို မွမ်းမံခွင့် ပြုသည်။ ကြံဖန် appများက ၎င်းကို အသုံးချပြီး လိုရာ ဝက်ဘ်ဆိုက်များသို့ တည်နေရာ အချက်အလက် ပို့မှုကို လုပ်နိုင်သည်။"</string> + <string name="permdesc_writeGeolocationPermissions" msgid="1083743234522638747">"အက်ပ်အား ဘရောင်ဇာ၏ ဘူမိဇုန်သတ်မှတ်ရေး ခွင့်ပြုချက်များကို မွမ်းမံခွင့် ပြုသည်။ ကြံဖန် အက်ပ်များက ၎င်းကို အသုံးချပြီး လိုရာ ဝက်ဘ်ဆိုက်များသို့ တည်နေရာ အချက်အလက် ပို့မှုကို လုပ်နိုင်သည်။"</string> <string name="save_password_message" msgid="767344687139195790">"ဤလျှို့ဝှက်စကားဝှက်အား ဘရောင်ဇာကိုမှတ်ခိုင်းမည်လား"</string> <string name="save_password_notnow" msgid="6389675316706699758">"ယခုမဟုတ်ပါ"</string> <string name="save_password_remember" msgid="6491879678996749466">"မှတ်ထားရန်"</string> @@ -894,7 +894,7 @@ <string name="VideoView_error_title" msgid="3534509135438353077">"ဗီဒီယို ပြဿနာ"</string> <string name="VideoView_error_text_invalid_progressive_playback" msgid="3186670335938670444">"ဒီဗိဒီယိုမှာ ဒီကိရိယာ ပေါ်မှာ ဖွင့်ကြည့်၍ မရနိုင်ပါ။"</string> <string name="VideoView_error_text_unknown" msgid="3450439155187810085">"ဒီဗီဒီယိုကို ပြသလို့ မရပါ"</string> - <string name="VideoView_error_button" msgid="2822238215100679592">"ကောင်းပြီ"</string> + <string name="VideoView_error_button" msgid="2822238215100679592">"အိုကေ"</string> <string name="relative_time" msgid="1818557177829411417">"<xliff:g id="DATE">%1$s</xliff:g>, <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="noon" msgid="7245353528818587908">"မွန်းတည့်"</string> <string name="Noon" msgid="3342127745230013127">"မွန်းတည့်"</string> @@ -923,10 +923,10 @@ <string name="low_internal_storage_view_text_no_boot" msgid="6935190099204693424">"စနစ်အတွက် သိုလှောင်ခန်း မလုံလောက်ပါ။ သင့်ဆီမှာ နေရာလွတ် ၂၅၀ MB ရှိတာ စစ်ကြည့်ပြီး စတင်ပါ။"</string> <string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> က အလုပ်လုပ်နေသည်။"</string> <string name="app_running_notification_text" msgid="1197581823314971177">"နောက်ထပ်အချက်အလက်များကို ကြည့်ရန် သို့မဟုတ် အက်ပ်ကိုရပ်တန့်ရန် တို့ပါ။"</string> - <string name="ok" msgid="5970060430562524910">"ကောင်းပြီ"</string> - <string name="cancel" msgid="6442560571259935130">"ထားတော့"</string> - <string name="yes" msgid="5362982303337969312">"ကောင်းပြီ"</string> - <string name="no" msgid="5141531044935541497">"ထားတော့"</string> + <string name="ok" msgid="5970060430562524910">"အိုကေ"</string> + <string name="cancel" msgid="6442560571259935130">"ဖျက်သိမ်းရန်"</string> + <string name="yes" msgid="5362982303337969312">"အိုကေ"</string> + <string name="no" msgid="5141531044935541497">"ဖျက်သိမ်းရန်"</string> <string name="dialog_alert_title" msgid="2049658708609043103">"သတိပြုရန်"</string> <string name="loading" msgid="7933681260296021180">"တင်နေ…"</string> <string name="capital_on" msgid="1544682755514494298">"ဖွင့်ရန်"</string> @@ -946,18 +946,18 @@ <string name="whichSendToApplication" msgid="8272422260066642057">"ကိုအသုံးပြု၍ ပို့ပါ"</string> <string name="whichSendToApplicationNamed" msgid="7768387871529295325">"%1$s ကိုအသုံးပြု၍ ပို့ပါ"</string> <string name="whichSendToApplicationLabel" msgid="8878962419005813500">"ပို့ပါ"</string> - <string name="whichHomeApplication" msgid="4307587691506919691">"ပင်မ appကို ရွေးပါ"</string> + <string name="whichHomeApplication" msgid="4307587691506919691">"ပင်မ အက်ပ်ကို ရွေးပါ"</string> <string name="whichHomeApplicationNamed" msgid="4493438593214760979">"%1$sကို ပင်မအဖြစ် သုံးပါ"</string> <string name="whichHomeApplicationLabel" msgid="809529747002918649">"ဓာတ်ပုံရိုက်ပါ"</string> <string name="whichImageCaptureApplication" msgid="3680261417470652882">"ဖြင့် ဓာတ်ပုံရိုက်ပါ"</string> <string name="whichImageCaptureApplicationNamed" msgid="8619384150737825003">"%1$s ဖြင့် ဓာတ်ပုံရိုက်ပါ"</string> <string name="whichImageCaptureApplicationLabel" msgid="6390303445371527066">"ဓာတ်ပုံရိုက်ပါ"</string> <string name="alwaysUse" msgid="4583018368000610438">"ဤလှုပ်ရှားမှုအတွက် မူရင်းအတိုင်း အသုံးပြုပါ။"</string> - <string name="use_a_different_app" msgid="8134926230585710243">"အခြား appကို သုံးပါ"</string> + <string name="use_a_different_app" msgid="8134926230585710243">"အခြား အက်ပ်ကို သုံးပါ"</string> <string name="clearDefaultHintMsg" msgid="3252584689512077257">"စနစ် ဆက်တင် ထဲမှာ ပုံသေကို ရှင်းလိုက်ပါ > Appများ > ဒေါင်းလုဒ် လုပ်ပြီး။"</string> <string name="chooseActivity" msgid="7486876147751803333">"လုပ်စရာ တစ်ခု ရွေးချယ်ပါ"</string> - <string name="chooseUsbActivity" msgid="6894748416073583509">"USB ကိရိယာ အတွက် app တစ်ခု ရွေးပါ"</string> - <string name="noApplications" msgid="2991814273936504689">"ဘယ် appကမှ ဒီ လုပ်ဆောင်ချက်ကို မလုပ်ကိုင်နိုင်ပါ။"</string> + <string name="chooseUsbActivity" msgid="6894748416073583509">"USB ကိရိယာ အတွက် အက်ပ် တစ်ခု ရွေးပါ"</string> + <string name="noApplications" msgid="2991814273936504689">"ဘယ် အက်ပ်ကမှ ဒီ လုပ်ဆောင်ချက်ကို မလုပ်ကိုင်နိုင်ပါ။"</string> <string name="aerr_application" msgid="250320989337856518">"<xliff:g id="APPLICATION">%1$s</xliff:g> ရပ်သွားပါပြီ"</string> <string name="aerr_process" msgid="6201597323218674729">"<xliff:g id="PROCESS">%1$s</xliff:g> ရပ်တန့်သွားပါပြီ"</string> <string name="aerr_application_repeated" msgid="3146328699537439573">"<xliff:g id="APPLICATION">%1$s</xliff:g> သည်ထပ်တလဲလဲ ရပ်တန့်နေပါသည်"</string> @@ -974,7 +974,7 @@ <string name="anr_activity_process" msgid="1622382268908620314">"<xliff:g id="ACTIVITY">%1$s</xliff:g> သည်တုံ့ပြန်မှုမရှိပါ"</string> <string name="anr_application_process" msgid="6417199034861140083">"<xliff:g id="APPLICATION">%1$s</xliff:g> သည်တုံ့ပြန်မှုမရှိပါ"</string> <string name="anr_process" msgid="6156880875555921105">"<xliff:g id="PROCESS">%1$s</xliff:g> လုပ်ဆောင်ချက်သည် တုံ့ပြန်မှုမရှိပါ"</string> - <string name="force_close" msgid="8346072094521265605">"ကောင်းပြီ"</string> + <string name="force_close" msgid="8346072094521265605">"အိုကေ"</string> <string name="report" msgid="4060218260984795706">"သတင်းပို့ပါ"</string> <string name="wait" msgid="7147118217226317732">"စောင့်ဆိုင်းရန်"</string> <string name="webpage_unresponsive" msgid="3272758351138122503">"စာမျက်နှာမှာ ပြန်လည် တုံ့ပြန်မှု မရှိတော့ပါ။\n\nပိတ်လိုက်ချင်ပါသလား?"</string> @@ -991,18 +991,18 @@ <string name="android_upgrading_fstrim" msgid="8036718871534640010">"သိုလှောင်မှုအား ပြုပြင်ခြင်း။"</string> <string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android ကိုအဆင့်မြှင့်တင်နေပါသည်"</string> <string name="android_upgrading_notification_body" msgid="5761201379457064286">"အဆင့်မြှင့်တင်ခြင်း မပြီးဆုံးသေးသ၍ အချို့အက်ပ်များကို ကောင်းမွန်စွာအသုံးပြုနိုင်ဦးမည် မဟုတ်ပါ"</string> - <string name="android_upgrading_apk" msgid="7904042682111526169">"<xliff:g id="NUMBER_0">%1$d</xliff:g> ထဲက app<xliff:g id="NUMBER_1">%2$d</xliff:g>ကို ဆီလျော်အောင် လုပ်နေ"</string> + <string name="android_upgrading_apk" msgid="7904042682111526169">"<xliff:g id="NUMBER_0">%1$d</xliff:g> ထဲက အက်ပ်<xliff:g id="NUMBER_1">%2$d</xliff:g>ကို ဆီလျော်အောင် လုပ်နေ"</string> <string name="android_preparing_apk" msgid="8162599310274079154">"<xliff:g id="APPNAME">%1$s</xliff:g> အားပြင်ဆင်နေသည်။"</string> - <string name="android_upgrading_starting_apps" msgid="451464516346926713">"appများကို စတင်နေ"</string> + <string name="android_upgrading_starting_apps" msgid="451464516346926713">"အက်ပ်များကို စတင်နေ"</string> <string name="android_upgrading_complete" msgid="1405954754112999229">"လုပ်ငန်းစနစ်ထည့်သွင်း၍ ပြန်လည်စတင်ရန် ပြီးပါပြီ"</string> <string name="heavy_weight_notification" msgid="9087063985776626166">"<xliff:g id="APP">%1$s</xliff:g> က အလုပ်လုပ်နေသည်"</string> <string name="heavy_weight_notification_detail" msgid="867643381388543170">"အက်ပ်သို့ပြောင်းရန် တို့ပါ"</string> - <string name="heavy_weight_switcher_title" msgid="7153167085403298169">"appများကို ပြောင်းမလား?"</string> - <string name="heavy_weight_switcher_text" msgid="7022631924534406403">"အခြား app တစ်ခု အလုပ်လုပ်နေ၍ သင်က အသစ် တစ်ခုကို မစမီ ၎င်းကို ရပ်ပစ်ရမည်။"</string> + <string name="heavy_weight_switcher_title" msgid="7153167085403298169">"အက်ပ်များကို ပြောင်းမလား?"</string> + <string name="heavy_weight_switcher_text" msgid="7022631924534406403">"အခြား အက်ပ် တစ်ခု အလုပ်လုပ်နေ၍ သင်က အသစ် တစ်ခုကို မစမီ ၎င်းကို ရပ်ပစ်ရမည်။"</string> <string name="old_app_action" msgid="493129172238566282">"<xliff:g id="OLD_APP">%1$s</xliff:g>သို့ပြန်သွားရန်"</string> <string name="old_app_description" msgid="2082094275580358049">"pp အသစ်ကို မစတင်ပါနှင့်။"</string> <string name="new_app_action" msgid="5472756926945440706">"<xliff:g id="OLD_APP">%1$s</xliff:g>စတင်ပါ"</string> - <string name="new_app_description" msgid="1932143598371537340">"app အဟောင်းကို မသိမ်းဆည်းဘဲ ရပ်လိုက်ပါ။"</string> + <string name="new_app_description" msgid="1932143598371537340">"အက်ပ် အဟောင်းကို မသိမ်းဆည်းဘဲ ရပ်လိုက်ပါ။"</string> <string name="dump_heap_notification" msgid="2618183274836056542">"<xliff:g id="PROC">%1$s</xliff:g> သိမ်းထားနိုင်မှု အကန့်အသတ် ကျော်လွန်နေ"</string> <string name="dump_heap_notification_detail" msgid="6901391084243999274">"သိမ်းဆည်းနိုင်မှု ပမာဏကျော်လွန်သွားပါပြီ။ မျှဝေရန် တို့ပါ"</string> <string name="dump_heap_title" msgid="5864292264307651673">"အရေးပေါ် သိမ်းထားပေးမှု ကို မျှဝေမလား။"</string> @@ -1045,11 +1045,11 @@ <string name="wifi_watchdog_network_disabled_detailed" msgid="5548780776418332675">" အင်တာနက် ဆက်သွယ်မှု ကောင်းကောင်းမရှိပါ"</string> <string name="wifi_connect_alert_title" msgid="8455846016001810172">"ချိတ်ဆက်မှုကို ခွင့်ပြုမလား?"</string> <string name="wifi_connect_alert_message" msgid="6451273376815958922">"အပ္ပလီကေးရှင်း %1$s သည် ဝိုင်ဖိုင်ကွန်ရက် %2$s ကိုချိတ်ဆက်လိုသည်"</string> - <string name="wifi_connect_default_application" msgid="7143109390475484319">"အပလီကေးရှင်း"</string> - <string name="wifi_p2p_dialog_title" msgid="97611782659324517">"တိုက်ရိုက် ဝိုင်ဖိုင်"</string> - <string name="wifi_p2p_turnon_message" msgid="2909250942299627244">"တိုက်ရိုက်ဝိုင်ဖိုင်ကို စတင်ပါ။ ၎င်းသည် ဝိုင်ဖိုင် ဟော့စပေါ့ကို ရပ်ဆိုင်းစေမှာ ဖြစ်ပါသည်။"</string> + <string name="wifi_connect_default_application" msgid="7143109390475484319">"အက်ပ်"</string> + <string name="wifi_p2p_dialog_title" msgid="97611782659324517">"တိုက်ရိုက် Wi-Fi"</string> + <string name="wifi_p2p_turnon_message" msgid="2909250942299627244">"တိုက်ရိုက်Wi-Fi ကို စတင်ပါ။ ၎င်းသည် Wi-Fi ဟော့စပေါ့ကို ရပ်ဆိုင်းစေမှာ ဖြစ်ပါသည်။"</string> <string name="wifi_p2p_failed_message" msgid="3763669677935623084">"တိုက်ရိုက်ဝိုင်ဖိုင်ကို စတင်လို့ မရပါ"</string> - <string name="wifi_p2p_enabled_notification_title" msgid="2068321881673734886">"ဝိုင်ဖိုင် တိုက်ရိုက် ကိုဖွင့်ထားသည်"</string> + <string name="wifi_p2p_enabled_notification_title" msgid="2068321881673734886">"Wi-Fi တိုက်ရိုက် ကိုဖွင့်ထားသည်"</string> <string name="wifi_p2p_enabled_notification_message" msgid="8064677407830620023">"ဆက်တင်များအတွက် တို့ပါ"</string> <string name="accept" msgid="1645267259272829559">"လက်ခံရန်"</string> <string name="decline" msgid="2112225451706137894">"လက်မခံပါ"</string> @@ -1059,7 +1059,7 @@ <string name="wifi_p2p_to_message" msgid="248968974522044099">"သို့:"</string> <string name="wifi_p2p_enter_pin_message" msgid="5920929550367828970">"လိုအပ်သော ပင် နံပါတ် ရိုက်ရန်:"</string> <string name="wifi_p2p_show_pin_message" msgid="8530563323880921094">"ပင် နံပါတ်:"</string> - <string name="wifi_p2p_frequency_conflict_message" product="tablet" msgid="8012981257742232475">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> နှင့် ဆက်သွယ်ထားစဉ် တက်ဘလက်ဟာ ဝိုင်ဖိုင် နှင့် ဆက်သွယ်မှု ရပ်ဆိုင်းထားမှာ ဖြစ်ပါတယ်"</string> + <string name="wifi_p2p_frequency_conflict_message" product="tablet" msgid="8012981257742232475">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> နှင့် ဆက်သွယ်ထားစဉ် တက်ဘလက်ဟာ Wi-Fi နှင့် ဆက်သွယ်မှု ရပ်ဆိုင်းထားမှာ ဖြစ်ပါတယ်"</string> <string name="wifi_p2p_frequency_conflict_message" product="tv" msgid="3087858235069421128">"တီဗွီအား <xliff:g id="DEVICE_NAME">%1$s</xliff:g> နှင့် ချိတ်ဆက်ထားစဉ် ဝိုင်ဖိုင်နှင့် ချိတ်ဆက်မှုအား ယာယီဖြုတ်ထားမည်။"</string> <string name="wifi_p2p_frequency_conflict_message" product="default" msgid="7363907213787469151">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ကို ဆက်သွယ်ထားစဉ် ဖုန်းအား ဝိုင်ဖိုင်မှ ဆက်သွယ်မှု ရပ်ဆိုင်းထားပါမည်"</string> <string name="select_character" msgid="3365550120617701745">"စာရိုက်ထည့်ရန်"</string> @@ -1071,7 +1071,7 @@ <string name="sms_short_code_details" msgid="5873295990846059400"><b>"ဒါက သင့် မိုဘိုင်း အကောင့် အတွက် "</b>" ကုန်ကျမှု ရှိလာနိုင်သည်။"</string> <string name="sms_premium_short_code_details" msgid="7869234868023975"><b>"ဒါက သင့် မိုဘိုင်း အကောင့် အတွက် ကုန်ကျမှု ရှိလာနိုင်သည်။"</b></string> <string name="sms_short_code_confirm_allow" msgid="4458878637111023413">"ပို့ရန်"</string> - <string name="sms_short_code_confirm_deny" msgid="2927389840209170706">"ထားတော့"</string> + <string name="sms_short_code_confirm_deny" msgid="2927389840209170706">"ဖျက်သိမ်းရန်"</string> <string name="sms_short_code_remember_choice" msgid="5289538592272218136">"ကျွန်ပ်၏ရွေးချယ်မှုကို မှတ်ထားရန်"</string> <string name="sms_short_code_remember_undo_instruction" msgid="4960944133052287484">"နောင်တွင် ဆက်တင် > အပလီကေးရှင်းများ မှပြောင်းနိုင်သည်"</string> <string name="sms_short_code_confirm_always_allow" msgid="3241181154869493368">"အမြဲခွင့်ပြုရန်"</string> @@ -1095,7 +1095,7 @@ <string name="perms_description_app" msgid="5139836143293299417">"<xliff:g id="APP_NAME">%1$s</xliff:g> မှ ထောက်ပံ့သည်"</string> <string name="no_permissions" msgid="7283357728219338112">"ခွင့်ပြုချက်မလိုအပ်ပါ"</string> <string name="perm_costs_money" msgid="4902470324142151116">"သင့်အတွက် ပိုက်ဆံကုန်ကျနိုင်ပါသည်"</string> - <string name="dlg_ok" msgid="7376953167039865701">"ကောင်းပြီ"</string> + <string name="dlg_ok" msgid="7376953167039865701">"အိုကေ"</string> <string name="usb_charging_notification_title" msgid="6895185153353640787">"USB ဖြင့်ဤစက်ပစ္စည်းကို အားသွင်းနေသည်"</string> <string name="usb_supplying_notification_title" msgid="5310642257296510271">"ချိတ်ဆက်ထားသည့် စက်ပစ္စည်းကို USB မှတစ်ဆင့် အားသွင်းနေသည်"</string> <string name="usb_mtp_notification_title" msgid="8396264943589760855">"ဖိုင်လွှဲပြောင်းရန်အတွက် USB"</string> @@ -1174,15 +1174,15 @@ <string name="ime_action_default" msgid="2840921885558045721">"လုပ်ဆောင်ချက်"</string> <string name="dial_number_using" msgid="5789176425167573586">\n"အား အသုံးပြု၍ <xliff:g id="NUMBER">%s</xliff:g>နံပါတ်ခေါ်ဆိုပါ"</string> <string name="create_contact_using" msgid="4947405226788104538">\n"အား အသုံးပြု၍<xliff:g id="NUMBER">%s</xliff:g>ဆက်သွယ်မည့်သူများအား ဖန်တီးခြင်း"</string> - <string name="grant_credentials_permission_message_header" msgid="2106103817937859662">"အောက်ပါထဲက app တစ်ခု သို့မဟုတ် ပိုလျက် သင်၏ အကောင့်ကို၊ ယခု နှင့် အနာဂတ်မှာ ရယူအသုံးချရန် ခွင့်ပြုချက်ကို တောင်းထားသည်။"</string> + <string name="grant_credentials_permission_message_header" msgid="2106103817937859662">"အောက်ပါထဲက အက်ပ် တစ်ခု သို့မဟုတ် ပိုလျက် သင်၏ အကောင့်ကို၊ ယခု နှင့် အနာဂတ်မှာ ရယူအသုံးချရန် ခွင့်ပြုချက်ကို တောင်းထားသည်။"</string> <string name="grant_credentials_permission_message_footer" msgid="3125211343379376561">"ဤတောင်းခံမှုအားခွင့်ပြုမည်လား"</string> <string name="grant_permissions_header_text" msgid="6874497408201826708">"သုံးစွဲခွင့် တောင်းဆိုရန်"</string> <string name="allow" msgid="7225948811296386551">"ခွင့်ပြုသည်"</string> <string name="deny" msgid="2081879885755434506">"ငြင်းပယ်သည်"</string> <string name="permission_request_notification_title" msgid="6486759795926237907">"ခွင့်ပြုချက် တောင်းခံထားခြင်း"</string> <string name="permission_request_notification_with_subtitle" msgid="8530393139639560189">"အကောင့် <xliff:g id="ACCOUNT">%s</xliff:g> အတွက် \n ခွင့်ပြုချက် တောင်းခံထားပြီး"</string> - <string name="forward_intent_to_owner" msgid="1207197447013960896">"သင်သည် ဒီappကို သင့်အလုပ်ပရိုဖိုင် ပြင်ပတွင် အသုံးပြုနေ၏"</string> - <string name="forward_intent_to_work" msgid="621480743856004612">"သင်သည် ဒီappကို သင်၏ အလုပ် ပရိုဖိုင် ထဲမှာ အသုံးပြုနေသည်"</string> + <string name="forward_intent_to_owner" msgid="1207197447013960896">"သင်သည် ဒီအက်ပ်ကို သင့်အလုပ်ပရိုဖိုင် ပြင်ပတွင် အသုံးပြုနေ၏"</string> + <string name="forward_intent_to_work" msgid="621480743856004612">"သင်သည် ဒီအက်ပ်ကို သင်၏ အလုပ် ပရိုဖိုင် ထဲမှာ အသုံးပြုနေသည်"</string> <string name="input_method_binding_label" msgid="1283557179944992649">"ထည့်သွင်းရန်နည်းလမ်း"</string> <string name="sync_binding_label" msgid="3687969138375092423">"ထပ်တူ ကိုက်ညီခြင်း"</string> <string name="accessibility_binding_label" msgid="4148120742096474641">"အသုံးပြုခွင့်"</string> @@ -1238,8 +1238,8 @@ <string name="sync_undo_deletes" msgid="2941317360600338602">"ဖျက်ပီးသည်များကို ပယ်ဖျက်ရန်"</string> <string name="sync_do_nothing" msgid="3743764740430821845">"လက်ရှိ ဘာမှမလုပ်ရန်"</string> <string name="choose_account_label" msgid="5655203089746423927">"အကောင့် တစ်ခု ရွေးပါ"</string> - <string name="add_account_label" msgid="2935267344849993553">"အကောင့် ထပ်ဖြည့်ပါ"</string> - <string name="add_account_button_label" msgid="3611982894853435874">"အကောင့်ထပ်ထည့်ရန်"</string> + <string name="add_account_label" msgid="2935267344849993553">"အကောင့်တစ်ခုထည့်ရန်"</string> + <string name="add_account_button_label" msgid="3611982894853435874">"အကောင့်ထည့်ရန်"</string> <string name="number_picker_increment_button" msgid="2412072272832284313">"တိုးရန်"</string> <string name="number_picker_decrement_button" msgid="476050778386779067">"လျှော့ရန်"</string> <string name="number_picker_increment_scroll_mode" msgid="5259126567490114216">"<xliff:g id="VALUE">%s</xliff:g> ထိပြီးဖိထားပါ။"</string> @@ -1259,13 +1259,13 @@ <string name="date_picker_prev_month_button" msgid="2858244643992056505">"ပြီးခဲ့သော လ"</string> <string name="date_picker_next_month_button" msgid="5559507736887605055">"လာမည့် လ"</string> <string name="keyboardview_keycode_alt" msgid="4856868820040051939">"Altခလုတ်"</string> - <string name="keyboardview_keycode_cancel" msgid="1203984017245783244">"ပယ်ဖျက်ရန်ခလုတ်"</string> + <string name="keyboardview_keycode_cancel" msgid="1203984017245783244">"ဖျက်သိမ်းရန် ခလုတ်"</string> <string name="keyboardview_keycode_delete" msgid="3337914833206635744">"ဖျက်ရန်ခလုတ်"</string> <string name="keyboardview_keycode_done" msgid="1992571118466679775">"ပြီးဆုံးသည့်ခလုတ်"</string> <string name="keyboardview_keycode_mode_change" msgid="4547387741906537519">"စနစ်ပြောင်းခြင်းခလုတ်"</string> <string name="keyboardview_keycode_shift" msgid="2270748814315147690">"Shiftခလုတ်"</string> <string name="keyboardview_keycode_enter" msgid="2985864015076059467">"Enterခလုတ်"</string> - <string name="activitychooserview_choose_application" msgid="2125168057199941199">"app တစ်ခုကို ရွေးရန်"</string> + <string name="activitychooserview_choose_application" msgid="2125168057199941199">"အက်ပ် တစ်ခုကို ရွေးရန်"</string> <string name="activitychooserview_choose_application_error" msgid="8624618365481126668">"<xliff:g id="APPLICATION_NAME">%s</xliff:g> ကို စတင်လို့ မရပါ"</string> <string name="shareactionprovider_share_with" msgid="806688056141131819">"မျှဝေဖို့ ရွေးပါ"</string> <string name="shareactionprovider_share_with_application" msgid="5627411384638389738">"<xliff:g id="APPLICATION_NAME">%s</xliff:g>နှင့် မျှဝေပါမည်"</string> @@ -1397,8 +1397,8 @@ <string name="owner_name" msgid="2716755460376028154">"ပိုင်ရှင်"</string> <string name="error_message_title" msgid="4510373083082500195">"အမှား"</string> <string name="error_message_change_not_allowed" msgid="1347282344200417578">"ဒီအပြောင်းအလဲမျိုးကို သင့် စီမံအုပ်ချုပ်သူမှ ခွင့်မပြုပါ"</string> - <string name="app_not_found" msgid="3429141853498927379">"ဤလုပ်ဆောင်ချက်ကို ပြုလုပ်ပေးမည့် အပလီကေးရှင်း မရှိပါ။"</string> - <string name="revoke" msgid="5404479185228271586">"ထားတော့"</string> + <string name="app_not_found" msgid="3429141853498927379">"ဤလုပ်ဆောင်ချက်ကို ပြုလုပ်ပေးမည့် အက်ပ် မရှိပါ။"</string> + <string name="revoke" msgid="5404479185228271586">"ဖျက်သိမ်းရန်"</string> <string name="mediasize_iso_a0" msgid="1994474252931294172">"အိုက်အက်စ်အို အေ ဝ"</string> <string name="mediasize_iso_a1" msgid="3333060421529791786">"အိုက်အက်စ်အို အေ၁"</string> <string name="mediasize_iso_a2" msgid="3097535991925798280">"အိုက်အက်စ်အို အေ ၂"</string> @@ -1526,7 +1526,7 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"သင့်စီမံခန့်ခွဲသူမှ အဆင့်မြှင့်ထားပါသည်။"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"သင့် အက်ဒမင်အား ဖျက်ပစ်ရန်"</string> <string name="battery_saver_description" msgid="1960431123816253034">"ဘက်ထရီသက်တမ်း ကြာရှည်ခံရန်၊ ဘက်ထရီအားထိန်းသည် သင့်ကိရိယာ၏ ဆောင်ရွက်ချက်ကို လျှော့ပေးပြီး တုန်ခါမှု၊ တည်နေရာဝန်ဆောင်မှုများနှင့်၊ နောက်ခံဒေတာအများစုကို ကန့်သတ်ပေး၏။ စင့်လုပ်ပေးရလေ့ရှိသည့် အီးမေး၊ စာပို့ခြင်းနှင့်၊ အခြားအပလီကေးရှင်းများကို ၎င်းတို့အား သင် ဖွင့်မှသာ အဆင့်မြှင့်မွမ်းမံမည်ဖြစ်၏။ \n\n ကိရိယာအား အားသွင်းနေစဉ် ဘက်ထရီအားထိန်းအား အလိုအလျောက် ပိတ်ထားသည်။"</string> - <string name="data_saver_description" msgid="6015391409098303235">"ဒေတာအသုံးပြုမှု လျှော့ချနိုင်ရန်၊ ဒေတာချွေတာမှုစနစ်သည် အက်ပ်များကို နောက်ခံတွင် ဒေတာများ ပို့ခြင်းနှင့် လက်ခံခြင်းများမရှိစေရန် ကာကွယ်ပေးပါသည်။ သင်ယခုအသုံးပြုနေသည့် အက်ပ်သည် ဒေတာအသုံးပြုနိုင်ပါသည်၊ သို့သော်လည်း လျှော့၍သုံးရပါလိမ့်မည်။ ဥပမာ၊ ပုံများကို သင်မတို့မချင်း ပေါ်လာမည် မဟုတ်ပါ။"</string> + <string name="data_saver_description" msgid="6015391409098303235">"ဒေတာအသုံးလျှော့ချနိုင်ရန် အက်ပ်များကို နောက်ခံတွင် ဒေတာပို့ခြင်းနှင့် လက်ခံခြင်းမရှိစေရန် ဒေတာချွေတာမှုစနစ်က တားဆီးထားပါသည်။ ယခုအက်ပ်ဖြင့် ဒေတာအသုံးပြုနိုင်သော်လည်း အကြိမ်လျှော့၍သုံးရပါမည်။ ဥပမာ၊ သင် မတို့မချင်း ပုံများပေါ်လာမည် မဟုတ်ပါ။"</string> <string name="data_saver_enable_title" msgid="4674073932722787417">"ဒေတာအသုံးပြုမှု ချွေတာမှုစနစ်ကို ဖွင့်မလား။"</string> <string name="data_saver_enable_button" msgid="7147735965247211818">"ဖွင့်ပါ"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> diff --git a/core/res/res/values-nb/strings.xml b/core/res/res/values-nb/strings.xml index f3ec24b8e47d..7452f3a9386c 100644 --- a/core/res/res/values-nb/strings.xml +++ b/core/res/res/values-nb/strings.xml @@ -251,7 +251,7 @@ <string name="permgrouplab_sms" msgid="228308803364967808">"SMS"</string> <string name="permgroupdesc_sms" msgid="4656988620100940350">"sende og lese SMS-meldinger"</string> <string name="permgrouplab_storage" msgid="1971118770546336966">"Lagring"</string> - <string name="permgroupdesc_storage" msgid="637758554581589203">"åpne bilder, medier og filer på enheten din"</string> + <string name="permgroupdesc_storage" msgid="637758554581589203">"åpne bilder, medieinnhold og filer på enheten din"</string> <string name="permgrouplab_microphone" msgid="171539900250043464">"Mikrofon"</string> <string name="permgroupdesc_microphone" msgid="4988812113943554584">"spill inn lyd"</string> <string name="permgrouplab_camera" msgid="4820372495894586615">"Kamera"</string> @@ -605,7 +605,7 @@ <string name="phoneTypeTelex" msgid="3367879952476250512">"Teleks"</string> <string name="phoneTypeTtyTdd" msgid="8606514378585000044">"Teksttelefon"</string> <string name="phoneTypeWorkMobile" msgid="1311426989184065709">"Mobil arbeid"</string> - <string name="phoneTypeWorkPager" msgid="649938731231157056">"Personsøker arbeid"</string> + <string name="phoneTypeWorkPager" msgid="649938731231157056">"Personsøker jobb"</string> <string name="phoneTypeAssistant" msgid="5596772636128562884">"Assistent"</string> <string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string> <string name="eventTypeCustom" msgid="7837586198458073404">"Egendefinert"</string> @@ -673,7 +673,7 @@ <string name="lockscreen_instructions_when_pattern_enabled" msgid="46154051614126049">"Trykk på menyknappen for å låse opp eller ringe et nødnummer."</string> <string name="lockscreen_instructions_when_pattern_disabled" msgid="686260028797158364">"Trykk på menyknappen for å låse opp."</string> <string name="lockscreen_pattern_instructions" msgid="7478703254964810302">"Tegn mønster for å låse opp"</string> - <string name="lockscreen_emergency_call" msgid="5298642613417801888">"Nødsituasjon"</string> + <string name="lockscreen_emergency_call" msgid="5298642613417801888">"Nødssituasjon"</string> <string name="lockscreen_return_to_call" msgid="5244259785500040021">"Tilbake til samtale"</string> <string name="lockscreen_pattern_correct" msgid="9039008650362261237">"Riktig!"</string> <string name="lockscreen_pattern_wrong" msgid="4317955014948108794">"Prøv på nytt"</string> @@ -1523,7 +1523,7 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Oppdatert av administratoren"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Slettet av administratoren"</string> <string name="battery_saver_description" msgid="1960431123816253034">"For å forlenge batterilevetiden reduserer batterispareren ytelsen til enheten din og begrenser vibrering, posisjonstjenester og mesteparten av bakgrunnsdataene. E-post, sending av meldinger og andre apper som er avhengig av synkronisering, oppdateres kanskje ikke med mindre du åpner dem.\n\nBatterisparing slås av automatisk når enheten lader."</string> - <string name="data_saver_description" msgid="6015391409098303235">"For å bidra til å redusere databruk blir enkelte apper hindret av Datasparing i å sende eller motta data i bakgrunnen. Apper du bruker for øyeblikket har tilgang til data, men utnytter ikke dette like ofte. Dette betyr for eksempel at bilder ikke vises før du trykker på dem."</string> + <string name="data_saver_description" msgid="6015391409098303235">"Datasparing hindrer at apper kan sende og motta data i bakgrunnen. Apper du bruker i øyeblikket, bruker ikke data i like stor grad – for eksempel vises ikke bilder før du trykker på dem."</string> <string name="data_saver_enable_title" msgid="4674073932722787417">"Vil du slå på Datasparing?"</string> <string name="data_saver_enable_button" msgid="7147735965247211818">"Slå på"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> diff --git a/core/res/res/values-ne-rNP/strings.xml b/core/res/res/values-ne-rNP/strings.xml index a8d7a4eb36c0..e2b6c6414471 100644 --- a/core/res/res/values-ne-rNP/strings.xml +++ b/core/res/res/values-ne-rNP/strings.xml @@ -105,7 +105,7 @@ <string name="serviceClassFAX" msgid="5566624998840486475">"फ्याक्स"</string> <string name="serviceClassSMS" msgid="2015460373701527489">"SMS"</string> <string name="serviceClassDataAsync" msgid="4523454783498551468">"Async"</string> - <string name="serviceClassDataSync" msgid="7530000519646054776">"सिङ्क गर्नुहोस्"</string> + <string name="serviceClassDataSync" msgid="7530000519646054776">"सिंक गर्नुहोस्"</string> <string name="serviceClassPacket" msgid="6991006557993423453">"प्याकेट"</string> <string name="serviceClassPAD" msgid="3235259085648271037">"PAD"</string> <string name="roamingText0" msgid="7170335472198694945">"रोमिङ सूचक खुला"</string> @@ -144,7 +144,7 @@ <string name="cfTemplateRegisteredTime" msgid="6781621964320635172">"<xliff:g id="BEARER_SERVICE_CODE">{0}</xliff:g>: अगाडि बढाइएको छैन"</string> <string name="fcComplete" msgid="3118848230966886575">"विशेषता कोड पुरा भयो।"</string> <string name="fcError" msgid="3327560126588500777">"जडान समस्या वा अमान्य सुविधा कोड।"</string> - <string name="httpErrorOk" msgid="1191919378083472204">"ठिक छ"</string> + <string name="httpErrorOk" msgid="1191919378083472204">"ठीक छ"</string> <string name="httpError" msgid="7956392511146698522">"एउटा नेटवर्क त्रुटि थियो।"</string> <string name="httpErrorLookup" msgid="4711687456111963163">"URL भेटाउन सकेन।"</string> <string name="httpErrorUnsupportedAuthScheme" msgid="6299980280442076799">"साइटको आधिकारिकता योजना समर्थित छैन।"</string> @@ -162,7 +162,7 @@ <string name="httpErrorTooManyRequests" msgid="1235396927087188253">"धेरै नै अनुरोधहरू प्रक्रियामा छन्। पछि फेरि प्रयास गर्नुहोस्।"</string> <string name="notification_title" msgid="8967710025036163822">"<xliff:g id="ACCOUNT">%1$s</xliff:g>को लागि साइन इन त्रुटि"</string> <string name="contentServiceSync" msgid="8353523060269335667">"सिङक गर्नुहोस्"</string> - <string name="contentServiceSyncNotificationTitle" msgid="397743349191901458">"सिङ्क गर्नुहोस्"</string> + <string name="contentServiceSyncNotificationTitle" msgid="397743349191901458">"सिंक गर्नुहोस्"</string> <string name="contentServiceTooManyDeletesNotificationDesc" msgid="8100981435080696431">"अति धेरै <xliff:g id="CONTENT_TYPE">%s</xliff:g> मेट्नुहोस्।"</string> <string name="low_memory" product="tablet" msgid="6494019234102154896">"ट्याब्लेट भण्डारण खाली छैन! ठाउँ खाली गर्नको लागि केही फाइलहरू मेटाउनुहोस्।"</string> <string name="low_memory" product="watch" msgid="4415914910770005166">"भण्डारण भरिएको छ हेर्नुहोस्। ठाउँ खाली गर्न केही फाइलहरू मेटाउनुहोस्।"</string> @@ -357,7 +357,7 @@ <string name="permlab_accessLocationExtraCommands" msgid="2836308076720553837">"अधिक स्थान प्रदायक आदेशहरू पहुँच गर्नुहोस्"</string> <string name="permdesc_accessLocationExtraCommands" msgid="6078307221056649927">"अनुप्रयोगलाई अतिरिक्त स्थान प्रदायक आदेशहरू पहुँच गर्न अनुमति दिन्छ। यो अनुप्रयोगलाई GPS वा अन्य स्थान स्रोतहरूको संचालन साथै हस्तक्षेप गर्न अनुमति दिन सक्छ।"</string> <string name="permlab_accessFineLocation" msgid="251034415460950944">"सटीक स्थान पहुँच गराउनुहोस् (GPS तथा नेटवर्कमा आधारित)"</string> - <string name="permdesc_accessFineLocation" msgid="5295047563564981250">"अनुप्रयोगले विश्वव्यापी स्थान प्रणाली (GPS) वा सेल टावरहरू र वाइफाइ जस्ता नेटवर्क स्थान स्रोतहरूको प्रयोग गरेर तपाईँको सही स्थान प्राप्त गर्न अनुमति दिन्छ। यी स्थान सेवाहरू खोल्नु पर्छ र अनुप्रयोगहरूका लागि प्रयोग गर्न तपाईँको उपकरणमा उपलब्ध हुनु पर्छ। अनुप्रयोगहरूले तपाईँ कहाँ हुनु हुन्छ भन्ने निर्धारण गर्न यसलाई प्रयोग गर्न सक्छ र यसले अतिरिक्त ब्याट्रि उर्जा खतप गर्न सक्छ।"</string> + <string name="permdesc_accessFineLocation" msgid="5295047563564981250">"अनुप्रयोगले विश्वव्यापी स्थान प्रणाली (GPS) वा सेल टावरहरू र वाइफाइ जस्ता नेटवर्क स्थान स्रोतहरूको प्रयोग गरेर तपाईँको सही स्थान प्राप्त गर्न अनुमति दिन्छ। यी स्थान सेवाहरू खोल्नु पर्छ र अनुप्रयोगहरूका लागि प्रयोग गर्न तपाईँको उपकरणमा उपलब्ध हुनु पर्छ। अनुप्रयोगहरूले तपाईँ कहाँ हुनु हुन्छ भन्ने निर्धारण गर्न यसलाई प्रयोग गर्न सक्छ र यसले अतिरिक्त ब्याट्री उर्जा खतप गर्न सक्छ।"</string> <string name="permlab_accessCoarseLocation" msgid="7715277613928539434">"अनुमानित स्थान पहुँच गराउनुहोस् (नेटवर्कमा आधारित)"</string> <string name="permdesc_accessCoarseLocation" msgid="2538200184373302295">"अनुप्रयोगलाई तपाईँको अनुमानित स्थान प्राप्त गर्न अनुमति दिन्छ। यो स्थान सेल टावर र वाइ-फाइजस्ता नेटवर्क स्थान स्रोतहरूको प्रोग गरी स्थान सेवाहरूबाट उत्पन्न गरिएको हो। अनुप्रयोगले यी स्थान सेवाहरूको उपयोग गर्नको लागि यी सेवाहरू तपाईँको उपकरणमा चालु र उपलब्ध हुनु आवश्यक छ। अनुप्रयोगहरूले अनुमानित रूपमा तपाईँ कहाँ हुनुहुन्छ भन्ने निर्धारण गर्न यसको प्रयोग गर्न सक्छन्।"</string> <string name="permlab_modifyAudioSettings" msgid="6095859937069146086">"तपाईँका अडियो सेटिङहरू परिवर्तन गर्नुहोस्"</string> @@ -454,10 +454,10 @@ </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"फिंगरप्रिन्ट आइकन"</string> <string name="permlab_readSyncSettings" msgid="6201810008230503052">"समीकरण सेटिङहरू पढ्नुहोस्"</string> - <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"अनुप्रयोगलाई खाताको लागि सिङ्क सेटिङहरू पढ्न अनुमति दिन्छ। उदाहरणको लागि यसले व्यक्तिहरको अनुप्रयोग खातासँग सिङ्क भएको नभएको निर्धारण गर्न सक्दछ।"</string> - <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"टगल सिङ्क खुला र बन्द"</string> - <string name="permdesc_writeSyncSettings" msgid="8956262591306369868">"अनुप्रयोगहरूलाई खाताको लागि सिङ्क सेटिङहरू परिमार्जन गर्न अनुमति दिन्छ। उदाहरणको लागि, यो खातासँग व्यक्ति अनुप्रयोगको सिङ्क सक्षम गर्न प्रयोग गर्न सकिन्छ।"</string> - <string name="permlab_readSyncStats" msgid="7396577451360202448">"सिङ्क तथ्याङ्कहरू पढ्नुहोस्"</string> + <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"अनुप्रयोगलाई खाताको लागि सिंक सेटिङहरू पढ्न अनुमति दिन्छ। उदाहरणको लागि यसले व्यक्तिहरको अनुप्रयोग खातासँग सिंक भएको नभएको निर्धारण गर्न सक्दछ।"</string> + <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"टगल सिंक खुला र बन्द"</string> + <string name="permdesc_writeSyncSettings" msgid="8956262591306369868">"अनुप्रयोगहरूलाई खाताको लागि सिंक सेटिङहरू परिमार्जन गर्न अनुमति दिन्छ। उदाहरणको लागि, यो खातासँग व्यक्ति अनुप्रयोगको सिंक सक्षम गर्न प्रयोग गर्न सकिन्छ।"</string> + <string name="permlab_readSyncStats" msgid="7396577451360202448">"सिंक तथ्याङ्कहरू पढ्नुहोस्"</string> <string name="permdesc_readSyncStats" msgid="1510143761757606156">"अनुप्रयोगलाई खाताको लागि समीकरणको आँकडा समीकरण घटनाहरूको इतिहास र समीकरण गरिएको डेटाको मापन समेत, पढ्न अनुमति दिन्छ।"</string> <string name="permlab_sdcardRead" product="nosdcard" msgid="367275095159405468">"आफ्नो USB भण्डारणको सामग्रीहरूहरु पढ्नुहोस्"</string> <string name="permlab_sdcardRead" product="default" msgid="2188156462934977940">"आफ्नो SD कार्डको सामग्रीहरूहरु पढ्नुहोस्"</string> @@ -597,7 +597,7 @@ <string name="phoneTypeOther" msgid="1544425847868765990">"अन्य"</string> <string name="phoneTypeCallback" msgid="2712175203065678206">"कलब्याक"</string> <string name="phoneTypeCar" msgid="8738360689616716982">"कार"</string> - <string name="phoneTypeCompanyMain" msgid="540434356461478916">"कम्पनी मुख्य"</string> + <string name="phoneTypeCompanyMain" msgid="540434356461478916">"मुख्य कम्पनी"</string> <string name="phoneTypeIsdn" msgid="8022453193171370337">"ISDN"</string> <string name="phoneTypeMain" msgid="6766137010628326916">"मुख्य"</string> <string name="phoneTypeOtherFax" msgid="8587657145072446565">"अन्य फ्याक्स"</string> @@ -673,7 +673,7 @@ <string name="lockscreen_instructions_when_pattern_enabled" msgid="46154051614126049">"अनलक वा आपतकालीन कल गर्न मेनु थिच्नुहोस्।"</string> <string name="lockscreen_instructions_when_pattern_disabled" msgid="686260028797158364">"अनलक गर्न मेनु थिच्नुहोस्।"</string> <string name="lockscreen_pattern_instructions" msgid="7478703254964810302">"अनलक गर्नु ढाँचा खिच्नुहोस्"</string> - <string name="lockscreen_emergency_call" msgid="5298642613417801888">"आकस्मिक"</string> + <string name="lockscreen_emergency_call" msgid="5298642613417801888">"आपतकालीन"</string> <string name="lockscreen_return_to_call" msgid="5244259785500040021">"कलमा फर्किनुहोस्"</string> <string name="lockscreen_pattern_correct" msgid="9039008650362261237">"सही!"</string> <string name="lockscreen_pattern_wrong" msgid="4317955014948108794">"फेरि प्रयास गर्नुहोस्"</string> @@ -923,9 +923,9 @@ <string name="low_internal_storage_view_text_no_boot" msgid="6935190099204693424">"प्रणालीको लागि पर्याप्त भण्डारण छैन। तपाईँसँग २५० मेगा बाइट ठाउँ खाली भएको निश्चित गर्नुहोस् र फेरि सुरु गर्नुहोस्।"</string> <string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> चलिरहेको छ"</string> <string name="app_running_notification_text" msgid="1197581823314971177">"थप जानकारीका लागि वा अनुप्रयोगलाई बन्द गर्न ट्याप गर्नुहोस्।"</string> - <string name="ok" msgid="5970060430562524910">"ठिक छ"</string> + <string name="ok" msgid="5970060430562524910">"ठीक छ"</string> <string name="cancel" msgid="6442560571259935130">"रद्द गर्नुहोस्"</string> - <string name="yes" msgid="5362982303337969312">"ठिक छ"</string> + <string name="yes" msgid="5362982303337969312">"ठीक छ"</string> <string name="no" msgid="5141531044935541497">"रद्द गर्नुहोस्"</string> <string name="dialog_alert_title" msgid="2049658708609043103">"सावधानी"</string> <string name="loading" msgid="7933681260296021180">"लोड हुँदै..."</string> @@ -980,7 +980,7 @@ <string name="anr_activity_process" msgid="1622382268908620314">"<xliff:g id="ACTIVITY">%1$s</xliff:g> ले प्रतिक्रिया दिइरहेको छैन"</string> <string name="anr_application_process" msgid="6417199034861140083">"<xliff:g id="APPLICATION">%1$s</xliff:g> ले प्रतिक्रिया दिइरहेको छैन"</string> <string name="anr_process" msgid="6156880875555921105">"प्रक्रिया <xliff:g id="PROCESS">%1$s</xliff:g> ले प्रतिक्रिया दिइरहेको छैन"</string> - <string name="force_close" msgid="8346072094521265605">"ठिक छ"</string> + <string name="force_close" msgid="8346072094521265605">"ठीक छ"</string> <string name="report" msgid="4060218260984795706">"रिपोर्ट गर्नुहोस्"</string> <string name="wait" msgid="7147118217226317732">"प्रतीक्षा गर्नुहोस्"</string> <string name="webpage_unresponsive" msgid="3272758351138122503">"पृष्ठ गैर जिम्मेवारी भएको छ।\n\nके तपाईँ यसलाई बन्द गर्न चाहनुहुन्छ?"</string> @@ -1031,7 +1031,7 @@ <string name="ringtone_default" msgid="3789758980357696936">"पूर्वनिर्धारित रिङटोन"</string> <string name="ringtone_default_with_actual" msgid="8129563480895990372">"पूर्वनिर्धारित रिङटोन (<xliff:g id="ACTUAL_RINGTONE">%1$s</xliff:g>)"</string> <string name="ringtone_silent" msgid="7937634392408977062">"कुनै पनि होइन"</string> - <string name="ringtone_picker_title" msgid="3515143939175119094">"घन्टीका स्वरहरू"</string> + <string name="ringtone_picker_title" msgid="3515143939175119094">"रिङटोनहरू"</string> <string name="ringtone_unknown" msgid="5477919988701784788">"अज्ञात रिङटोन"</string> <plurals name="wifi_available" formatted="false" msgid="7900333017752027322"> <item quantity="other">Wi-Fi सञ्जालहरू उपलब्ध छन्</item> @@ -1101,7 +1101,7 @@ <string name="perms_description_app" msgid="5139836143293299417">"<xliff:g id="APP_NAME">%1$s</xliff:g>द्वारा प्रदान गरिएको।"</string> <string name="no_permissions" msgid="7283357728219338112">"कुनै अनुमति आवश्यक छैन"</string> <string name="perm_costs_money" msgid="4902470324142151116">"सायद तपाईँलाई पैसा पर्न सक्छ।"</string> - <string name="dlg_ok" msgid="7376953167039865701">"ठिक छ"</string> + <string name="dlg_ok" msgid="7376953167039865701">"ठीक छ"</string> <string name="usb_charging_notification_title" msgid="6895185153353640787">"यस यन्त्रलाई USB मार्फत चार्ज गर्दै"</string> <string name="usb_supplying_notification_title" msgid="5310642257296510271">"संलग्न गरिएको यन्त्रमा USB मार्फत पावर आपूर्ति गरिँदै"</string> <string name="usb_mtp_notification_title" msgid="8396264943589760855">"फाइल स्थानान्तरणको लागि USB"</string> @@ -1189,7 +1189,7 @@ <string name="forward_intent_to_owner" msgid="1207197447013960896">"तपाईँ तपाईँको कार्य प्रोफाइल बाहिर यो अनुप्रयोग प्रयोग गरिरहनु भएको छ"</string> <string name="forward_intent_to_work" msgid="621480743856004612">"तपाईँ आफ्नो कार्य प्रोफाइलमा यो अनुप्रयोग प्रयोग गरिरहनु भएको छ"</string> <string name="input_method_binding_label" msgid="1283557179944992649">"इनपुट विधि"</string> - <string name="sync_binding_label" msgid="3687969138375092423">"सिङ्क गर्नुहोस्"</string> + <string name="sync_binding_label" msgid="3687969138375092423">"सिंक गर्नुहोस्"</string> <string name="accessibility_binding_label" msgid="4148120742096474641">"उपलब्धता"</string> <string name="wallpaper_binding_label" msgid="1240087844304687662">"वालपेपर"</string> <string name="chooser_wallpaper" msgid="7873476199295190279">"वालपेपर परिवर्तन गर्नुहोस्"</string> diff --git a/core/res/res/values-nl/strings.xml b/core/res/res/values-nl/strings.xml index e87331d39605..322b00710576 100644 --- a/core/res/res/values-nl/strings.xml +++ b/core/res/res/values-nl/strings.xml @@ -67,8 +67,8 @@ </plurals> <string name="imei" msgid="2625429890869005782">"IMEI"</string> <string name="meid" msgid="4841221237681254195">"MEID"</string> - <string name="ClipMmi" msgid="6952821216480289285">"Inkomende beller-id"</string> - <string name="ClirMmi" msgid="7784673673446833091">"Uitgaande beller-id"</string> + <string name="ClipMmi" msgid="6952821216480289285">"Inkomende beller-ID"</string> + <string name="ClirMmi" msgid="7784673673446833091">"Uitgaande beller-ID"</string> <string name="ColpMmi" msgid="3065121483740183974">"ID van verbonden lijn"</string> <string name="ColrMmi" msgid="4996540314421889589">"Beperking voor ID van verbonden lijn"</string> <string name="CfMmi" msgid="5123218989141573515">"Oproep doorschakelen"</string> @@ -82,12 +82,12 @@ <string name="RuacMmi" msgid="7827887459138308886">"Ongewenste, vervelende oproepen weigeren"</string> <string name="CndMmi" msgid="3116446237081575808">"Weergave van nummer van beller"</string> <string name="DndMmi" msgid="1265478932418334331">"Niet storen"</string> - <string name="CLIRDefaultOnNextCallOn" msgid="429415409145781923">"Beller-id standaard ingesteld op \'beperkt\'. Volgende oproep: beperkt."</string> - <string name="CLIRDefaultOnNextCallOff" msgid="3092918006077864624">"Beller-id standaard ingesteld op \'beperkt\'. Volgende oproep: onbeperkt."</string> - <string name="CLIRDefaultOffNextCallOn" msgid="6179425182856418465">"Beller-id standaard ingesteld op \'onbeperkt\'. Volgende oproep: beperkt."</string> - <string name="CLIRDefaultOffNextCallOff" msgid="2567998633124408552">"Beller-id standaard ingesteld op \'onbeperkt\'. Volgende oproep: onbeperkt."</string> + <string name="CLIRDefaultOnNextCallOn" msgid="429415409145781923">"Beller-ID standaard ingesteld op \'beperkt\'. Volgende oproep: beperkt."</string> + <string name="CLIRDefaultOnNextCallOff" msgid="3092918006077864624">"Beller-ID standaard ingesteld op \'beperkt\'. Volgende oproep: onbeperkt."</string> + <string name="CLIRDefaultOffNextCallOn" msgid="6179425182856418465">"Beller-ID standaard ingesteld op \'onbeperkt\'. Volgende oproep: beperkt."</string> + <string name="CLIRDefaultOffNextCallOff" msgid="2567998633124408552">"Beller-ID standaard ingesteld op \'onbeperkt\'. Volgende oproep: onbeperkt."</string> <string name="serviceNotProvisioned" msgid="8614830180508686666">"Service niet voorzien."</string> - <string name="CLIRPermanent" msgid="3377371145926835671">"U kunt de instelling voor de beller-id niet wijzigen."</string> + <string name="CLIRPermanent" msgid="3377371145926835671">"U kunt de instelling voor de beller-ID niet wijzigen."</string> <string name="RestrictedOnData" msgid="8653794784690065540">"Gegevensservice is geblokkeerd."</string> <string name="RestrictedOnEmergency" msgid="6581163779072833665">"Alarmservice is geblokkeerd."</string> <string name="RestrictedOnNormal" msgid="4953867011389750673">"Spraakservice is geblokkeerd."</string> diff --git a/core/res/res/values-pa-rIN/strings.xml b/core/res/res/values-pa-rIN/strings.xml index 65aff9e59cc8..744fdb9a7a87 100644 --- a/core/res/res/values-pa-rIN/strings.xml +++ b/core/res/res/values-pa-rIN/strings.xml @@ -72,7 +72,7 @@ <string name="ColpMmi" msgid="3065121483740183974">"ਕਨੈਕਟ ਕੀਤੀ ਲਾਈਨ ID"</string> <string name="ColrMmi" msgid="4996540314421889589">"ਕਨੈਕਟ ਕੀਤੀ ਲਾਈਨ ID ਪ੍ਰਤਿਬੰਧ"</string> <string name="CfMmi" msgid="5123218989141573515">"ਕਾਲ ਫੌਰਵਾਰਡਿੰਗ"</string> - <string name="CwMmi" msgid="9129678056795016867">"ਕਾਲ ਵੇਟਿੰਗ"</string> + <string name="CwMmi" msgid="9129678056795016867">"ਕਾਲ ਉਡੀਕ ਵਿੱਚ"</string> <string name="BaMmi" msgid="455193067926770581">"ਕਾਲ ਬੈਰਿੰਗ"</string> <string name="PwdMmi" msgid="7043715687905254199">"ਪਾਸਵਰਡ ਬਦਲੋ"</string> <string name="PinMmi" msgid="3113117780361190304">"PIN ਬਦਲੋ"</string> @@ -88,20 +88,20 @@ <string name="CLIRDefaultOffNextCallOff" msgid="2567998633124408552">"ਪ੍ਰਤਿਬੰਧਿਤ ਨਾ ਕਰਨ ਲਈ ਕਾਲਰ ID ਡਿਫੌਲਟਸ। ਅਗਲੀ ਕਾਲ: ਪ੍ਰਤਿਬੰਧਿਤ ਨਹੀਂ"</string> <string name="serviceNotProvisioned" msgid="8614830180508686666">"ਸੇਵਾ ਪ੍ਰਬੰਧਿਤ ਨਹੀਂ ਹੈ।"</string> <string name="CLIRPermanent" msgid="3377371145926835671">"ਤੁਸੀਂ ਕਾਲਰ ID ਸੈਟਿੰਗ ਨਹੀਂ ਬਦਲ ਸਕਦੇ।"</string> - <string name="RestrictedOnData" msgid="8653794784690065540">"ਡਾਟਾ ਸੇਵਾ ਬਲੌਕ ਕੀਤੀ ਹੋਈ ਹੈ।"</string> + <string name="RestrictedOnData" msgid="8653794784690065540">"ਡੈਟਾ ਸੇਵਾ ਬਲੌਕ ਕੀਤੀ ਹੋਈ ਹੈ।"</string> <string name="RestrictedOnEmergency" msgid="6581163779072833665">"ਐਮਰਜੈਂਸੀ ਸੇਵਾ ਬਲੌਕ ਕੀਤੀ ਹੋਈ ਹੈ।"</string> <string name="RestrictedOnNormal" msgid="4953867011389750673">"ਵੌਇਸ ਸੇਵਾ ਬਲੌਕ ਕੀਤੀ ਹੋਈ ਹੈ।"</string> <string name="RestrictedOnAllVoice" msgid="3396963652108151260">"ਸਾਰੀਆਂ ਵੌਇਸ ਸੇਵਾਵਾਂ ਬਲੌਕ ਕੀਤੀਆਂ ਗਈਆਂ ਹਨ।"</string> <string name="RestrictedOnSms" msgid="8314352327461638897">"SMS ਸੇਵਾ ਬੰਦ ਕੀਤੀ ਹੋਈ ਹੈ।"</string> - <string name="RestrictedOnVoiceData" msgid="996636487106171320">"ਵੌਇਸ/ਡਾਟਾ ਸੇਵਾਵਾਂ ਬਲੌਕ ਕੀਤੀਆਂ ਹੋਈਆਂ ਹਨ।"</string> + <string name="RestrictedOnVoiceData" msgid="996636487106171320">"ਵੌਇਸ/ਡੈਟਾ ਸੇਵਾਵਾਂ ਬਲੌਕ ਕੀਤੀਆਂ ਹੋਈਆਂ ਹਨ।"</string> <string name="RestrictedOnVoiceSms" msgid="1888588152792023873">"ਵੌਇਸ/SMS ਸੇਵਾਵਾਂ ਬਲੌਕ ਕੀਤੀਆਂ ਗਈਆਂ ਹਨ।"</string> - <string name="RestrictedOnAll" msgid="5643028264466092821">"ਸਾਰੀਆਂ ਵੌਇਸ/ਡਾਟਾ/SMS ਸੇਵਾਵਾਂ ਬਲੌਕ ਕੀਤੀਆਂ ਗਈਆਂ ਹਨ।"</string> + <string name="RestrictedOnAll" msgid="5643028264466092821">"ਸਾਰੀਆਂ ਵੌਇਸ/ਡੈਟਾ/SMS ਸੇਵਾਵਾਂ ਬਲੌਕ ਕੀਤੀਆਂ ਗਈਆਂ ਹਨ।"</string> <string name="peerTtyModeFull" msgid="6165351790010341421">"ਪੀਅਰ ਨੇ TTY Mode FULL ਦੀ ਬੇਨਤੀ ਕੀਤੀ"</string> <string name="peerTtyModeHco" msgid="5728602160669216784">"ਪੀਅਰ ਨੇ TTY Mode HCO ਦੀ ਬੇਨਤੀ ਕੀਤੀ"</string> <string name="peerTtyModeVco" msgid="1742404978686538049">"ਪੀਅਰ ਨੇ TTY Mode VCO ਦੀ ਬੇਨਤੀ ਕੀਤੀ"</string> <string name="peerTtyModeOff" msgid="3280819717850602205">"ਪੀਅਰ ਨੇ TTY Mode OFF ਦੀ ਬੇਨਤੀ ਕੀਤੀ"</string> <string name="serviceClassVoice" msgid="1258393812335258019">"ਵੌਇਸ"</string> - <string name="serviceClassData" msgid="872456782077937893">"ਡਾਟਾ"</string> + <string name="serviceClassData" msgid="872456782077937893">"ਡੈਟਾ"</string> <string name="serviceClassFAX" msgid="5566624998840486475">"ਫੈਕਸ"</string> <string name="serviceClassSMS" msgid="2015460373701527489">"SMS"</string> <string name="serviceClassDataAsync" msgid="4523454783498551468">"ਅਸਿੰਕ"</string> @@ -145,7 +145,7 @@ <string name="fcComplete" msgid="3118848230966886575">"ਵਿਸ਼ੇਸ਼ਤਾ ਕੋਡ ਪੂਰਾ।"</string> <string name="fcError" msgid="3327560126588500777">"ਕਨੈਕਸ਼ਨ ਸਮੱਸਿਆ ਜਾਂ ਅਪ੍ਰਮਾਣਿਕ ਵਿਸ਼ੇਸ਼ਤਾ ਕੋਡ।"</string> <string name="httpErrorOk" msgid="1191919378083472204">"ਠੀਕ"</string> - <string name="httpError" msgid="7956392511146698522">"ਇੱਕ ਨੈਟਵਰਕ ਅਸ਼ੁੱਧੀ ਹੋਈ ਸੀ।"</string> + <string name="httpError" msgid="7956392511146698522">"ਇੱਕ ਨੈੱਟਵਰਕ ਅਸ਼ੁੱਧੀ ਹੋਈ ਸੀ।"</string> <string name="httpErrorLookup" msgid="4711687456111963163">"URL ਨਹੀਂ ਲੱਭ ਸਕਿਆ।"</string> <string name="httpErrorUnsupportedAuthScheme" msgid="6299980280442076799">"ਸਾਈਟ ਪ੍ਰਮਾਣੀਕਰਨ ਯੋਜਨਾ ਸਮਰਥਿਤ ਨਹੀਂ ਹੈ।"</string> <string name="httpErrorAuth" msgid="1435065629438044534">"ਪ੍ਰਮਾਣਿਤ ਨਹੀਂ ਕਰ ਸਕਿਆ।"</string> @@ -177,10 +177,10 @@ <string name="ssl_ca_cert_noti_managed" msgid="4030263497686867141">"<xliff:g id="MANAGING_DOMAIN">%s</xliff:g> ਮੁਤਾਬਕ"</string> <string name="work_profile_deleted" msgid="5005572078641980632">"ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਮਿਟਾਈ ਗਈ"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਐਡਮਿਨ ਐਪ ਦੇ ਕਾਰਨ ਮਿਟਾਈ ਗਈ।"</string> - <string name="work_profile_deleted_details" msgid="226615743462361248">"ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਐਡਮਿਨ ਐਪ ਜਾਂ ਤਾਂ ਲੁਪਤ ਹੈ ਜਾਂ ਕਰਪਟ ਹੈ। ਇੱਕ ਸਿੱਟੇ ਦੇ ਤੌਰ ਤੇ, ਤੁਹਾਡੀ ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਅਤੇ ਸੰਬੰਧਿਤ ਡਾਟਾ ਮਿਟਾਇਆ ਗਿਆ ਹੈ। ਸਹਾਇਤਾ ਲਈ ਆਪਣੇ ਪ੍ਰਬੰਧਕ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string> - <string name="work_profile_deleted_description_dpm_wipe" msgid="6019770344820507579">"ਤੁਹਾਡੀ ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਹੁਣ ਇਸ ਡਿਵਾਈਸ ਤੇ ਉਪਲਬਧ ਨਹੀਂ ਹੈ।"</string> - <string name="factory_reset_warning" msgid="5423253125642394387">"ਤੁਹਾਡੀ ਡਿਵਾਈਸ ਮਿਟਾਈ ਜਾਏਗੀ"</string> - <string name="factory_reset_message" msgid="4905025204141900666">"ਐਡਮਿਨ ਐਪ ਲੁਪਤ ਕੰਪੋਨੈਂਟ ਜਾਂ ਕਰਪਟ ਹੈ ਅਤੇ ਇਸਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ। ਹੁਣ ਤੁਹਾਡੀ ਡਿਵਾਈਸ ਮਿਟਾ ਦਿੱਤੀ ਜਾਏਗੀ। ਸਹਾਇਤਾ ਲਈ ਆਪਣੇ ਪ੍ਰਬੰਧਕ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string> + <string name="work_profile_deleted_details" msgid="226615743462361248">"ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਐਡਮਿਨ ਐਪ ਜਾਂ ਤਾਂ ਲੁਪਤ ਹੈ ਜਾਂ ਕਰਪਟ ਹੈ। ਇੱਕ ਸਿੱਟੇ ਦੇ ਤੌਰ ਤੇ, ਤੁਹਾਡੀ ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਅਤੇ ਸੰਬੰਧਿਤ ਡੈਟਾ ਮਿਟਾਇਆ ਗਿਆ ਹੈ। ਸਹਾਇਤਾ ਲਈ ਆਪਣੇ ਪ੍ਰਬੰਧਕ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string> + <string name="work_profile_deleted_description_dpm_wipe" msgid="6019770344820507579">"ਤੁਹਾਡੀ ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਹੁਣ ਇਸ ਡੀਵਾਈਸ ਤੇ ਉਪਲਬਧ ਨਹੀਂ ਹੈ।"</string> + <string name="factory_reset_warning" msgid="5423253125642394387">"ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਮਿਟਾਈ ਜਾਏਗੀ"</string> + <string name="factory_reset_message" msgid="4905025204141900666">"ਐਡਮਿਨ ਐਪ ਲੁਪਤ ਕੰਪੋਨੈਂਟ ਜਾਂ ਕਰਪਟ ਹੈ ਅਤੇ ਇਸਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ। ਹੁਣ ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਮਿਟਾ ਦਿੱਤੀ ਜਾਏਗੀ। ਸਹਾਇਤਾ ਲਈ ਆਪਣੇ ਪ੍ਰਬੰਧਕ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string> <string name="me" msgid="6545696007631404292">"ਮੈਂ"</string> <string name="power_dialog" product="tablet" msgid="8545351420865202853">"ਟੈਬਲੇਟ ਚੋਣਾਂ"</string> <string name="power_dialog" product="tv" msgid="6153888706430556356">"TV ਚੋਣਾਂ"</string> @@ -197,7 +197,7 @@ <string name="reboot_to_update_prepare" msgid="6305853831955310890">"ਅਪਡੇਟ ਦੀ ਤਿਆਰੀ ਕਰ ਰਿਹਾ ਹੈ…"</string> <string name="reboot_to_update_package" msgid="3871302324500927291">"ਅਪਡੇਟ ਪੈਕੇਜ ਦੀ ਕਾਰਵਾਈ ਕਰ ਰਿਹਾ ਹੈ..."</string> <string name="reboot_to_update_reboot" msgid="6428441000951565185">"ਰੀਸਟਾਰਟ ਹੋ ਰਿਹਾ ਹੈ…"</string> - <string name="reboot_to_reset_title" msgid="4142355915340627490">"ਫੈਕਟਰੀ ਡਾਟਾ ਰੀਸੈਟ"</string> + <string name="reboot_to_reset_title" msgid="4142355915340627490">"ਫੈਕਟਰੀ ਡੈਟਾ ਰੀਸੈੱਟ"</string> <string name="reboot_to_reset_message" msgid="2432077491101416345">"ਰੀਸਟਾਰਟ ਹੋ ਰਿਹਾ ਹੈ…"</string> <string name="shutdown_progress" msgid="2281079257329981203">"ਬੰਦ ਹੋ ਰਿਹਾ ਹੈ…"</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"ਤੁਹਾਡੀ ਟੈਬਲੇਟ ਬੰਦ ਕੀਤੀ ਜਾਏਗੀ।"</string> @@ -206,7 +206,7 @@ <string name="shutdown_confirm" product="default" msgid="649792175242821353">"ਤੁਹਾਡਾ ਫੋਨ ਬੰਦ ਕੀਤਾ ਜਾਏਗਾ।"</string> <string name="shutdown_confirm_question" msgid="2906544768881136183">"ਕੀ ਤੁਸੀਂ ਬੰਦ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?"</string> <string name="reboot_safemode_title" msgid="7054509914500140361">"ਮੋਡ ਸੁਰੱਖਿਅਤ ਕਰਨ ਲਈ ਰੀਬੂਟ ਕਰੋ"</string> - <string name="reboot_safemode_confirm" msgid="55293944502784668">"ਕੀ ਤੁਸੀਂ ਸੁਰੱਖਿਅਤ ਮੋਡ ਵਿੱਚ ਰੀਬੂਟ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ? ਇਹ ਤੁਹਾਡੇ ਵੱਲੋਂ ਇੰਸਟੌਲ ਕੀਤੀਆਂ ਤੀਜੀ ਪਾਰਟੀ ਦੀਆਂ ਸਾਰੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੂੰ ਅਸਮਰੱਥ ਬਣਾ ਦੇਵੇਗਾ। ਜਦੋਂ ਤੁਸੀਂ ਦੁਬਾਰਾ ਰੀਬੂਟ ਕਰੋਗੇ ਤਾਂ ਇਸਨੂੰ ਰੀਸਟੋਰ ਕੀਤਾ ਜਾਏਗਾ।"</string> + <string name="reboot_safemode_confirm" msgid="55293944502784668">"ਕੀ ਤੁਸੀਂ ਸੁਰੱਖਿਅਤ ਮੋਡ ਵਿੱਚ ਰੀਬੂਟ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ? ਇਹ ਤੁਹਾਡੇ ਵੱਲੋਂ ਇੰਸਟੌਲ ਕੀਤੀਆਂ ਤੀਜੀ ਪਾਰਟੀ ਦੀਆਂ ਸਾਰੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੂੰ ਅਸਮਰੱਥ ਬਣਾ ਦੇਵੇਗਾ। ਜਦੋਂ ਤੁਸੀਂ ਦੁਬਾਰਾ ਰੀਬੂਟ ਕਰੋਂਗੇ ਤਾਂ ਇਸਨੂੰ ਰੀਸਟੋਰ ਕੀਤਾ ਜਾਏਗਾ।"</string> <string name="recent_tasks_title" msgid="3691764623638127888">"ਹਾਲੀਆ"</string> <string name="no_recent_tasks" msgid="8794906658732193473">"ਕੋਈ ਹਾਲੀਆ ਐਪਸ ਨਹੀਂ।"</string> <string name="global_actions" product="tablet" msgid="408477140088053665">"ਟੈਬਲੇਟ ਚੋਣਾਂ"</string> @@ -216,7 +216,7 @@ <string name="global_action_power_off" msgid="4471879440839879722">"ਪਾਵਰ ਬੰਦ"</string> <string name="global_action_bug_report" msgid="7934010578922304799">"ਬਗ ਰਿਪੋਰਟ"</string> <string name="bugreport_title" msgid="2667494803742548533">"ਬਗ ਰਿਪੋਰਟ ਲਓ"</string> - <string name="bugreport_message" msgid="398447048750350456">"ਇਹ ਇੱਕ ਈ-ਮੇਲ ਸੁਨੇਹਾ ਭੇਜਣ ਲਈ, ਤੁਹਾਡੀ ਵਰਤਮਾਨ ਡਿਵਾਈਸ ਬਾਰੇ ਜਾਣਕਾਰੀ ਇਕੱਤਰ ਕਰੇਗਾ। ਬਗ ਰਿਪੋਰਟ ਸ਼ੁਰੂ ਕਰਨ ਵਿੱਚ ਥੋੜ੍ਹਾ ਸਮਾਂ ਲੱਗੇਗਾ ਜਦੋਂ ਤੱਕ ਇਹ ਭੇਜੇ ਜਾਣ ਲਈ ਤਿਆਰ ਨਾ ਹੋਵੇ, ਕਿਰਪਾ ਕਰਕੇ ਧੀਰਜ ਰੱਖੋ।"</string> + <string name="bugreport_message" msgid="398447048750350456">"ਇਹ ਇੱਕ ਈ-ਮੇਲ ਸੁਨੇਹਾ ਭੇਜਣ ਲਈ, ਤੁਹਾਡੀ ਵਰਤਮਾਨ ਡੀਵਾਈਸ ਬਾਰੇ ਜਾਣਕਾਰੀ ਇਕੱਤਰ ਕਰੇਗਾ। ਬਗ ਰਿਪੋਰਟ ਸ਼ੁਰੂ ਕਰਨ ਵਿੱਚ ਥੋੜ੍ਹਾ ਸਮਾਂ ਲੱਗੇਗਾ ਜਦੋਂ ਤੱਕ ਇਹ ਭੇਜੇ ਜਾਣ ਲਈ ਤਿਆਰ ਨਾ ਹੋਵੇ, ਕਿਰਪਾ ਕਰਕੇ ਧੀਰਜ ਰੱਖੋ।"</string> <string name="bugreport_option_interactive_title" msgid="8635056131768862479">"ਅੰਤਰਕਿਰਿਆਤਮਕ ਰਿਪੋਰਟ"</string> <string name="bugreport_option_interactive_summary" msgid="229299488536107968">"ਜ਼ਿਆਦਾਤਰ ਹਾਲਾਤਾਂ ਵਿੱਚ ਇਸ ਦੀ ਵਰਤੋਂ ਕਰੋ। ਇਹ ਤੁਹਾਨੂੰ ਰਿਪੋਰਟ ਦੀ ਪ੍ਰਗਤੀ ਨੂੰ ਟਰੈਕ ਕਰਨ, ਸਮੱਸਿਆ ਬਾਰੇ ਹੋਰ ਵੇਰਵੇ ਦਾਖਲ ਕਰਨ, ਅਤੇ ਸਕ੍ਰੀਨਸ਼ਾਟ ਲੈਣ ਦਿੰਦਾ ਹੈ। ਇਹ ਉਹਨਾਂ ਘੱਟ-ਵਰਤੇ ਗਏ ਕੁਝ ਭਾਗਾਂ ਨੂੰ ਨਜ਼ਰ-ਅੰਦਾਜ਼ ਕਰ ਸਕਦਾ ਹੈ ਜਿਨ੍ਹਾਂ ਦੀ ਰਿਪੋਰਟ ਕਰਨ ਵਿੱਚ ਵੱਧ ਸਮਾਂ ਲੱਗ ਸਕਦਾ ਹੈ।"</string> <string name="bugreport_option_full_title" msgid="6354382025840076439">"ਪੂਰੀ ਰਿਪੋਰਟ"</string> @@ -244,14 +244,14 @@ <string name="managed_profile_label" msgid="5289992269827577857">"ਕੰਮ \'ਤੇ ਸਵਿੱਚ ਕਰੋ"</string> <string name="permgrouplab_contacts" msgid="3657758145679177612">"ਸੰਪਰਕ"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"ਆਪਣੇ ਸੰਪਰਕਾਂ ਨੂੰ ਐਕਸੈਸ ਕਰੋ"</string> - <string name="permgrouplab_location" msgid="7275582855722310164">"ਨਿਰਧਾਰਿਤ ਸਥਾਨ"</string> - <string name="permgroupdesc_location" msgid="1346617465127855033">"ਇਸ ਡਿਵਾਈਸ ਦੇ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਤੱਕ ਪਹੁੰਚੋ"</string> + <string name="permgrouplab_location" msgid="7275582855722310164">"ਟਿਕਾਣਾ"</string> + <string name="permgroupdesc_location" msgid="1346617465127855033">"ਇਸ ਡੀਵਾਈਸ ਦੇ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਤੱਕ ਪਹੁੰਚੋ"</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"ਕੈਲੰਡਰ"</string> <string name="permgroupdesc_calendar" msgid="3889615280211184106">"ਆਪਣੇ ਕੈਲੰਡਰ ਦੀ ਐਕਸੈਸ ਕਰੋ"</string> <string name="permgrouplab_sms" msgid="228308803364967808">"SMS"</string> <string name="permgroupdesc_sms" msgid="4656988620100940350">"SMS ਸੁਨੇਹੇ ਭੇਜੋ ਅਤੇ ਦਿਖਾਓ"</string> <string name="permgrouplab_storage" msgid="1971118770546336966">"ਸਟੋਰੇਜ"</string> - <string name="permgroupdesc_storage" msgid="637758554581589203">"ਆਪਣੀ ਡਿਵਾਈਸ ਤੇ ਫੋਟੋਆਂ, ਮੀਡੀਆ ਅਤੇ ਫਾਈਲਾਂ ਤੱਕ ਪਹੁੰਚੋ"</string> + <string name="permgroupdesc_storage" msgid="637758554581589203">"ਆਪਣੀ ਡੀਵਾਈਸ ਤੇ ਫੋਟੋਆਂ, ਮੀਡੀਆ ਅਤੇ ਫਾਈਲਾਂ ਤੱਕ ਪਹੁੰਚੋ"</string> <string name="permgrouplab_microphone" msgid="171539900250043464">"ਮਾਈਕ੍ਰੋਫੋਨ"</string> <string name="permgroupdesc_microphone" msgid="4988812113943554584">"ਔਡੀਓ ਰਿਕਾਰਡ ਕਰੋ"</string> <string name="permgrouplab_camera" msgid="4820372495894586615">"ਕੈਮਰਾ"</string> @@ -259,7 +259,7 @@ <string name="permgrouplab_phone" msgid="5229115638567440675">"ਫੋਨ"</string> <string name="permgroupdesc_phone" msgid="6234224354060641055">"ਫ਼ੋਨ ਕਾਲਾਂ ਕਰੋ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਪ੍ਰਬੰਧਿਤ ਕਰੋ"</string> <string name="permgrouplab_sensors" msgid="416037179223226722">"ਸਰੀਰ ਸੰਵੇਦਕ"</string> - <string name="permgroupdesc_sensors" msgid="7147968539346634043">"ਆਪਣੇ ਮਹੱਤਵਪੂਰਣ ਲੱਛਣਾਂ ਬਾਰੇ ਸੰਵੇਦਕ ਡਾਟਾ ਤੱਕ ਪਹੁੰਚ"</string> + <string name="permgroupdesc_sensors" msgid="7147968539346634043">"ਆਪਣੇ ਮਹੱਤਵਪੂਰਣ ਲੱਛਣਾਂ ਬਾਰੇ ਸੰਵੇਦਕ ਡੈਟਾ ਤੱਕ ਪਹੁੰਚ"</string> <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"ਵਿੰਡੋ ਸਮੱਗਰੀ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰੋ"</string> <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"ਇੱਕ ਵਿੰਡੋ ਦੀ ਸਮੱਗਰੀ ਦੀ ਜਾਂਚ ਕਰੋ, ਜਿਸ ਨਾਲ ਤੁਸੀਂ ਇੰਟਰੈਕਟ ਕਰ ਰਹੇ ਹੋ।"</string> <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"ਐਕਸਪਲੋਰ ਬਾਇ ਟਚ ਚਾਲੂ ਕਰੋ"</string> @@ -267,7 +267,7 @@ <string name="capability_title_canRequestEnhancedWebAccessibility" msgid="1739881766522594073">"ਵਧੀ ਹੋਈ ਵੈਬ ਪਹੁੰਚਯੋਗਤਾ ਚਾਲੂ ਕਰੋ"</string> <string name="capability_desc_canRequestEnhancedWebAccessibility" msgid="7881063961507511765">"ਐਪ ਸਮੱਗਰੀ ਨੂੰ ਵੱਧ ਪਹੁੰਚਯੋਗ ਬਣਾਉਣ ਲਈ ਸਕ੍ਰਿਪਟਾਂ ਇੰਸਟੌਲ ਨਹੀਂ ਕੀਤੀਆਂ ਜਾ ਸਕਦੀਆਂ।"</string> <string name="capability_title_canRequestFilterKeyEvents" msgid="2103440391902412174">"ਜੋ ਟੈਕਸਟ ਤੁਸੀਂ ਟਾਈਪ ਕਰਦੇ ਹੋ, ਉਸਦਾ ਨਿਰੀਖਣ ਕਰੋ"</string> - <string name="capability_desc_canRequestFilterKeyEvents" msgid="7463135292204152818">"ਇਸ ਵਿੱਚ ਨਿੱਜੀ ਡਾਟਾ ਸ਼ਾਮਲ ਹੈ ਜਿਵੇਂ ਕ੍ਰੈਡਿਟ ਕਾਰਡ ਨੰਬਰ ਅਤੇ ਪਾਸਵਰਡ।"</string> + <string name="capability_desc_canRequestFilterKeyEvents" msgid="7463135292204152818">"ਇਸ ਵਿੱਚ ਨਿੱਜੀ ਡੈਟਾ ਸ਼ਾਮਲ ਹੈ ਜਿਵੇਂ ਕ੍ਰੈਡਿਟ ਕਾਰਡ ਨੰਬਰ ਅਤੇ ਪਾਸਵਰਡ।"</string> <string name="capability_title_canControlMagnification" msgid="3593493281059424855">"ਡਿਸਪਲੇ ਵੱਡਦਰਸ਼ੀ ਨੂੰ ਨਿਯੰਤ੍ਰਿਤ ਕਰੋ"</string> <string name="capability_desc_canControlMagnification" msgid="4791858203568383773">"ਡਿਸਪਲੇ ਦੇ ਜ਼ੂਮ ਪੱਧਰ ਅਤੇ ਸਥਿਤੀ ਨੂੰ ਨਿਯੰਤ੍ਰਿਤ ਕਰੋ।"</string> <string name="capability_title_canPerformGestures" msgid="7418984730362576862">"ਸੰਕੇਤ ਕਰਦੀ ਹੈ"</string> @@ -285,11 +285,11 @@ <string name="permlab_processOutgoingCalls" msgid="3906007831192990946">"ਆਊਟਗੋਇੰਗ ਕਾਲਾਂ ਰੀਰੂਟ ਕਰੋ"</string> <string name="permdesc_processOutgoingCalls" msgid="5156385005547315876">"ਐਪ ਨੂੰ ਇੱਕ ਵੱਖ ਨੰਬਰ ਨਾਲ ਕਾਲ ਰੀਡਾਇਰੈਕਟ ਕਰਨ ਜਾਂ ਕਾਲ ਨੂੰ ਪੂਰਾ ਰੋਕਣ ਦੀ ਚੋਣ ਨਾਲ ਇੱਕ ਆਊਟਗੋਇੰਗ ਕਾਲ ਦੇ ਦੌਰਾਨ ਡਾਇਲ ਕੀਤਾ ਜਾ ਰਿਹਾ ਨੰਬਰ ਦੇਖਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string> <string name="permlab_receiveSms" msgid="8673471768947895082">"ਟੈਕਸਟ ਸੁਨੇਹੇ (SMS) ਪ੍ਰਾਪਤ ਕਰੋ"</string> - <string name="permdesc_receiveSms" msgid="6424387754228766939">"ਐਪ ਨੂੰ SMS ਸੁਨੇਹੇ ਪ੍ਰਾਪਤ ਕਰਨ ਅਤੇ ਉਹਨਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਐਪ ਤੁਹਾਡੀ ਡਿਵਾਈਸ ਤੇ ਭੇਜੇ ਗਏ ਸੁਨੇਹਿਆਂ ਨੂੰ ਤੁਹਾਨੂੰ ਦਿਖਾਏ ਬਿਨਾਂ ਨਿਰੀਖਣ ਕਰ ਸਕਦਾ ਹੈ ਜਾਂ ਮਿਟਾ ਸਕਦਾ ਹੈ।"</string> + <string name="permdesc_receiveSms" msgid="6424387754228766939">"ਐਪ ਨੂੰ SMS ਸੁਨੇਹੇ ਪ੍ਰਾਪਤ ਕਰਨ ਅਤੇ ਉਹਨਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਐਪ ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਤੇ ਭੇਜੇ ਗਏ ਸੁਨੇਹਿਆਂ ਨੂੰ ਤੁਹਾਨੂੰ ਦਿਖਾਏ ਬਿਨਾਂ ਨਿਰੀਖਣ ਕਰ ਸਕਦਾ ਹੈ ਜਾਂ ਮਿਟਾ ਸਕਦਾ ਹੈ।"</string> <string name="permlab_receiveMms" msgid="1821317344668257098">"ਟੈਕਸਟ ਸੁਨੇਹੇ (MMS) ਪੜ੍ਹੋ"</string> - <string name="permdesc_receiveMms" msgid="533019437263212260">"ਐਪ ਨੂੰ MMS ਸੁਨੇਹੇ ਪ੍ਰਾਪਤ ਕਰਨ ਅਤੇ ਉਹਨਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਐਪ ਤੁਹਾਡੀ ਡਿਵਾਈਸ ਤੇ ਭੇਜੇ ਗਏ ਸੁਨੇਹਿਆਂ ਨੂੰ ਤੁਹਾਨੂੰ ਦਿਖਾਏ ਬਿਨਾਂ ਨਿਰੀਖਣ ਕਰ ਸਕਦਾ ਹੈ ਜਾਂ ਮਿਟਾ ਸਕਦਾ ਹੈ।"</string> + <string name="permdesc_receiveMms" msgid="533019437263212260">"ਐਪ ਨੂੰ MMS ਸੁਨੇਹੇ ਪ੍ਰਾਪਤ ਕਰਨ ਅਤੇ ਉਹਨਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਐਪ ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਤੇ ਭੇਜੇ ਗਏ ਸੁਨੇਹਿਆਂ ਨੂੰ ਤੁਹਾਨੂੰ ਦਿਖਾਏ ਬਿਨਾਂ ਨਿਰੀਖਣ ਕਰ ਸਕਦਾ ਹੈ ਜਾਂ ਮਿਟਾ ਸਕਦਾ ਹੈ।"</string> <string name="permlab_readCellBroadcasts" msgid="1598328843619646166">"ਸੈਲ ਪ੍ਰਸਾਰਨ ਸੁਨੇਹੇ ਪੜ੍ਹੋ"</string> - <string name="permdesc_readCellBroadcasts" msgid="6361972776080458979">"ਐਪ ਨੂੰ ਤੁਹਾਡੀ ਡਿਵਾਈਸ ਵੱਲੋਂ ਪ੍ਰਾਪਤ ਕੀਤੇ ਸੈਲ ਪ੍ਰਸਾਰਨ ਸੁਨੇਹੇ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਸੈਲ ਪ੍ਰਸਾਰਨ ਚਿਤਾਵਨੀਆਂ ਤੁਹਾਨੂੰ ਐਮਰਜੈਂਸੀ ਸਥਿਤੀਆਂ ਦੀ ਚਿਤਾਵਨੀ ਦੇਣ ਲਈ ਕੁਝ ਨਿਰਧਾਰਿਤ ਸਥਾਨਾਂ ਤੇ ਪ੍ਰਦਾਨ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ। ਖ਼ਰਾਬ ਐਪਸ ਤੁਹਾਡੀ ਡਿਵਾਈਸ ਦੇ ਪ੍ਰਦਰਸ਼ਨ ਜਾਂ ਓਪਰੇਸ਼ਨ ਵਿੱਚ ਵਿਘਨ ਪਾ ਸਕਦੇ ਹਨ ਜਦੋਂ ਇੱਕ ਐਮਰਜੈਂਸੀ ਸੈਲ ਪ੍ਰਸਾਰਨ ਪ੍ਰਾਪਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।"</string> + <string name="permdesc_readCellBroadcasts" msgid="6361972776080458979">"ਐਪ ਨੂੰ ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਵੱਲੋਂ ਪ੍ਰਾਪਤ ਕੀਤੇ ਸੈਲ ਪ੍ਰਸਾਰਨ ਸੁਨੇਹੇ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਸੈਲ ਪ੍ਰਸਾਰਨ ਚਿਤਾਵਨੀਆਂ ਤੁਹਾਨੂੰ ਐਮਰਜੈਂਸੀ ਸਥਿਤੀਆਂ ਦੀ ਚਿਤਾਵਨੀ ਦੇਣ ਲਈ ਕੁਝ ਨਿਰਧਾਰਿਤ ਸਥਾਨਾਂ ਤੇ ਪ੍ਰਦਾਨ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ। ਖ਼ਰਾਬ ਐਪਸ ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਦੇ ਪ੍ਰਦਰਸ਼ਨ ਜਾਂ ਓਪਰੇਸ਼ਨ ਵਿੱਚ ਵਿਘਨ ਪਾ ਸਕਦੇ ਹਨ ਜਦੋਂ ਇੱਕ ਐਮਰਜੈਂਸੀ ਸੈਲ ਪ੍ਰਸਾਰਨ ਪ੍ਰਾਪਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।"</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"ਸਬਸਕ੍ਰਾਈਬ ਕੀਤੇ ਫੀਡਸ ਪੜ੍ਹੋ"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"ਐਪ ਨੂੰ ਵਰਤਮਾਨ ਵਿੱਚ ਸਿੰਕ ਕੀਤੇ ਫੀਡਸ ਬਾਰੇ ਵੇਰਵੇ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string> <string name="permlab_sendSms" msgid="7544599214260982981">"SMS ਸੁਨੇਹੇ ਭੇਜੋ ਅਤੇ ਦਿਖਾਓ"</string> @@ -299,11 +299,11 @@ <string name="permdesc_readSms" product="tv" msgid="5102425513647038535">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ TV ਜਾਂ SIM ਕਾਰਡ ਤੇ ਸਟੋਰ ਕੀਤੇ SMS ਸੁਨੇਹੇ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਐਪ ਨੂੰ ਸਾਰੇ SMS ਸੁਨੇਹੇ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਸਮੱਗਰੀ ਜਾਂ ਗੁਪਤਤਾ ਤੇ ਧਿਆਨ ਦਿੱਤੇ ਬਿਨਾਂ।"</string> <string name="permdesc_readSms" product="default" msgid="3695967533457240550">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ ਫੋਨ ਜਾਂ SIM ਕਾਰਡ ਤੇ ਸਟੋਰ ਕੀਤੇ SMS ਸੁਨੇਹੇ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਐਪ ਨੂੰ ਸਾਰੇ SMS ਸੁਨੇਹੇ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਸਮੱਗਰੀ ਜਾਂ ਗੁਪਤਤਾ ਤੇ ਧਿਆਨ ਦਿੱਤੇ ਬਿਨਾਂ।"</string> <string name="permlab_receiveWapPush" msgid="5991398711936590410">"ਟੈਕਸਟ ਸੁਨੇਹੇ (WAP) ਪ੍ਰਾਪਤ ਕਰੋ"</string> - <string name="permdesc_receiveWapPush" msgid="748232190220583385">"ਐਪ ਨੂੰ WAP ਸੁਨੇਹੇ ਪ੍ਰਾਪਤ ਕਰਨ ਅਤੇ ਉਹਨਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਸ ਅਨੁਮਤੀ ਵਿੱਚ ਸ਼ਾਮਲ ਹੈ ਐਪ ਦੀ ਤੁਹਾਡੀ ਡਿਵਾਈਸ ਤੇ ਭੇਜੇ ਗਏ ਸੁਨੇਹਿਆਂ ਨੂੰ ਤੁਹਾਨੂੰ ਦਿਖਾਏ ਬਿਨਾਂ ਨਿਰੀਖਣ ਕਰਨ ਅਤੇ ਮਿਟਾਉਣ ਦੀ ਸਮਰੱਥਾ।"</string> + <string name="permdesc_receiveWapPush" msgid="748232190220583385">"ਐਪ ਨੂੰ WAP ਸੁਨੇਹੇ ਪ੍ਰਾਪਤ ਕਰਨ ਅਤੇ ਉਹਨਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਸ ਅਨੁਮਤੀ ਵਿੱਚ ਸ਼ਾਮਲ ਹੈ ਐਪ ਦੀ ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਤੇ ਭੇਜੇ ਗਏ ਸੁਨੇਹਿਆਂ ਨੂੰ ਤੁਹਾਨੂੰ ਦਿਖਾਏ ਬਿਨਾਂ ਨਿਰੀਖਣ ਕਰਨ ਅਤੇ ਮਿਟਾਉਣ ਦੀ ਸਮਰੱਥਾ।"</string> <string name="permlab_getTasks" msgid="6466095396623933906">"ਚੱਲ ਰਹੇ ਐਪਸ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰੋ"</string> - <string name="permdesc_getTasks" msgid="7454215995847658102">"ਐਪ ਨੂੰ ਵਰਤਮਾਨ ਵਿੱਚ ਅਤੇ ਹੁਣੇ ਜਿਹੇ ਚੱਲ ਰਹੇ ਕੰਮਾਂ ਬਾਰੇ ਵਿਸਤ੍ਰਿਤ ਜਾਣਕਾਰੀ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਐਪ ਨੂੰ ਇਸ ਬਾਰੇ ਜਾਣਕਾਰੀ ਖੋਜਣ ਦੀ ਆਗਿਆ ਦੇ ਸਕਦਾ ਹੈ ਕਿ ਡਿਵਾਈਸ ਤੇ ਕਿਹੜੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਰਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ।"</string> - <string name="permlab_manageProfileAndDeviceOwners" msgid="7918181259098220004">"ਪ੍ਰੋਫ਼ਾਈਲ ਅਤੇ ਡਿਵਾਈਸ ਮਾਲਕਾਂ ਨੂੰ ਵਿਵਸਥਿਤ ਕਰੋ"</string> - <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"ਪ੍ਰੋਫ਼ਾਈਲ ਦੇ ਮਾਲਕ ਅਤੇ ਡਿਵਾਈਸ ਦਾ ਮਾਲਕ ਨੂੰ ਸੈੱਟ ਕਰਨ ਲਈ ਐਪਸ ਨੂੰ ਅਨੁਮਤੀ ਦਿੰਦਾ ਹੈ।"</string> + <string name="permdesc_getTasks" msgid="7454215995847658102">"ਐਪ ਨੂੰ ਵਰਤਮਾਨ ਵਿੱਚ ਅਤੇ ਹੁਣੇ ਜਿਹੇ ਚੱਲ ਰਹੇ ਕੰਮਾਂ ਬਾਰੇ ਵਿਸਤ੍ਰਿਤ ਜਾਣਕਾਰੀ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਐਪ ਨੂੰ ਇਸ ਬਾਰੇ ਜਾਣਕਾਰੀ ਖੋਜਣ ਦੀ ਆਗਿਆ ਦੇ ਸਕਦਾ ਹੈ ਕਿ ਡੀਵਾਈਸ ਤੇ ਕਿਹੜੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਰਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ।"</string> + <string name="permlab_manageProfileAndDeviceOwners" msgid="7918181259098220004">"ਪ੍ਰੋਫ਼ਾਈਲ ਅਤੇ ਡੀਵਾਈਸ ਮਾਲਕਾਂ ਨੂੰ ਵਿਵਸਥਿਤ ਕਰੋ"</string> + <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"ਪ੍ਰੋਫ਼ਾਈਲ ਦੇ ਮਾਲਕ ਅਤੇ ਡੀਵਾਈਸ ਦਾ ਮਾਲਕ ਨੂੰ ਸੈੱਟ ਕਰਨ ਲਈ ਐਪਸ ਨੂੰ ਅਨੁਮਤੀ ਦਿੰਦਾ ਹੈ।"</string> <string name="permlab_reorderTasks" msgid="2018575526934422779">"ਚੱਲ ਰਹੇ ਐਪਸ ਨੂੰ ਦੁਬਾਰਾ ਕ੍ਰਮ ਦਿਓ"</string> <string name="permdesc_reorderTasks" msgid="7734217754877439351">"ਐਪ ਨੂੰ ਕੰਮਾਂ ਨੂੰ ਅਗਲੇ ਭਾਗ ਅਤੇ ਪਿਛੋਕੜ ਵਿੱਚ ਮੂਵ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਐਪ ਤੁਹਾਡੇ ਇਨਪੁਟ ਤੋਂ ਬਿਨਾਂ ਇਹ ਕਰ ਸਕਦਾ ਹੈ।"</string> <string name="permlab_enableCarMode" msgid="5684504058192921098">"ਕਾਰ ਮੋਡ ਸਮਰੱਥ ਬਣਾਓ"</string> @@ -317,9 +317,9 @@ <string name="permdesc_persistentActivity" product="tv" msgid="5086862529499103587">"ਐਪ ਨੂੰ ਮੈਮਰੀ ਵਿੱਚ ਖੁਦ ਦੇ ਭਾਗਾਂ ਨੂੰ ਸਥਾਈ ਬਣਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ TV ਨੂੰ ਹੌਲੀ ਕਰਦੇ ਹੋਏ ਹੋਰਾਂ ਐਪਸ ਤੇ ਉਪਲਬਧ ਮੈਮਰੀ ਨੂੰ ਸੀਮਿਤ ਕਰ ਸਕਦਾ ਹੈ।"</string> <string name="permdesc_persistentActivity" product="default" msgid="4384760047508278272">"ਐਪ ਨੂੰ ਮੈਮਰੀ ਵਿੱਚ ਖੁਦ ਦੇ ਭਾਗਾਂ ਨੂੰ ਸਥਾਈ ਬਣਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਫੋਨ ਨੂੰ ਹੌਲੀ ਕਰਦੇ ਹੋਏ ਹੋਰਾਂ ਐਪਸ ਤੇ ਉਪਲਬਧ ਮੈਮਰੀ ਨੂੰ ਸੀਮਿਤ ਕਰ ਸਕਦਾ ਹੈ।"</string> <string name="permlab_getPackageSize" msgid="7472921768357981986">"ਐਪ ਸਟੋਰੇਜ ਸਪੇਸ ਮਾਪੋ"</string> - <string name="permdesc_getPackageSize" msgid="3921068154420738296">"ਐਪ ਨੂੰ ਇਸਦਾ ਕੋਡ, ਡਾਟਾ ਅਤੇ ਕੈਚ ਆਕਾਰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string> + <string name="permdesc_getPackageSize" msgid="3921068154420738296">"ਐਪ ਨੂੰ ਇਸਦਾ ਕੋਡ, ਡੈਟਾ ਅਤੇ ਕੈਚ ਆਕਾਰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string> <string name="permlab_writeSettings" msgid="2226195290955224730">"ਸਿਸਟਮ ਸੈਟਿੰਗਾਂ ਸੰਸ਼ੋਧਿਤ ਕਰੋ"</string> - <string name="permdesc_writeSettings" msgid="7775723441558907181">"ਐਪ ਨੂੰ ਸਿਸਟਮ ਦੇ ਸੈਟਿੰਗਾਂ ਡਾਟਾ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਖ਼ਰਾਬ ਐਪਸ ਤੁਹਾਡੇ ਸਿਸਟਮ ਦੀ ਕੌਂਫਿਗਰੇਸ਼ਨ ਨੂੰ ਕਰਪਟ ਕਰ ਸਕਦੇ ਹਨ।"</string> + <string name="permdesc_writeSettings" msgid="7775723441558907181">"ਐਪ ਨੂੰ ਸਿਸਟਮ ਦੇ ਸੈਟਿੰਗਾਂ ਡੈਟਾ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਖ਼ਰਾਬ ਐਪਸ ਤੁਹਾਡੇ ਸਿਸਟਮ ਦੀ ਕੌਂਫਿਗਰੇਸ਼ਨ ਨੂੰ ਕਰਪਟ ਕਰ ਸਕਦੇ ਹਨ।"</string> <string name="permlab_receiveBootCompleted" msgid="5312965565987800025">"ਚਾਲੂ ਹੋਣ ਤੇ ਚਲਾਓ"</string> <string name="permdesc_receiveBootCompleted" product="tablet" msgid="7390304664116880704">"ਐਪ ਨੂੰ ਸਿਸਟਮ ਦੇ ਬੂਟਿੰਗ ਖ਼ਤਮ ਕਰਨ ਦੇ ਤੁਰੰਤ ਬਾਅਦ ਖੁਦ ਚਾਲੂ ਹੋਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਸ ਨਾਲ ਟੈਬਲੇਟ ਨੂੰ ਚਾਲੂ ਹੋਣ ਵਿੱਚ ਥੋੜ੍ਹਾ ਵੱਧ ਸਮਾਂ ਲੱਗ ਸਕਦਾ ਹੈ ਅਤੇ ਇਹ ਐਪ ਨੂੰ ਹਮੇਸ਼ਾਂ ਚਲਾ ਕੇ ਸਮੁੱਚੀ ਟੈਬਲੇਟ ਨੂੰ ਹੌਲਾ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string> <string name="permdesc_receiveBootCompleted" product="tv" msgid="4525890122209673621">"ਐਪ ਨੂੰ ਸਿਸਟਮ ਦੇ ਬੂਟਿੰਗ ਖ਼ਤਮ ਕਰਨ ਦੇ ਤੁਰੰਤ ਬਾਅਦ ਖੁਦ ਚਾਲੂ ਹੋਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਸ ਨਾਲ TV ਨੂੰ ਚਾਲੂ ਹੋਣ ਵਿੱਚ ਥੋੜ੍ਹਾ ਵੱਧ ਸਮਾਂ ਲੱਗ ਸਕਦਾ ਹੈ ਅਤੇ ਇਹ ਐਪ ਨੂੰ ਹਮੇਸ਼ਾਂ ਚਲਾ ਕੇ ਸਮੁੱਚੀ ਟੈਬਲੇਟ ਨੂੰ ਹੌਲਾ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string> @@ -329,37 +329,37 @@ <string name="permdesc_broadcastSticky" product="tv" msgid="6839285697565389467">"ਐਪ ਨੂੰ ਸਟਿਕੀ ਪ੍ਰਸਾਰਨ ਭੇਜਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਜੋ ਪ੍ਰਸਾਰਨ ਦੇ ਖ਼ਤਮ ਹੋਣ ਤੋਂ ਬਾਅਦ ਰਹਿੰਦੇ ਹਨ। ਵਾਧੂ ਵਰਤੋਂ TV ਨੂੰ ਹੌਲੀ ਜਾਂ ਬਹੁਤ ਜ਼ਿਆਦਾ ਮੈਮਰੀ ਵਰਤ ਕੇ ਇਸਨੂੰ ਅਸਥਿਰ ਬਣਾ ਸਕਦੀ ਹੈ।"</string> <string name="permdesc_broadcastSticky" product="default" msgid="2825803764232445091">"ਐਪ ਨੂੰ ਸਟਿਕੀ ਪ੍ਰਸਾਰਨ ਭੇਜਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਜੋ ਪ੍ਰਸਾਰਨ ਦੇ ਖ਼ਤਮ ਹੋਣ ਤੋਂ ਬਾਅਦ ਰਹਿੰਦੇ ਹਨ। ਵਾਧੂ ਵਰਤੋਂ ਫੋਨ ਨੂੰ ਹੌਲੀ ਜਾਂ ਬਹੁਤ ਜ਼ਿਆਦਾ ਮੈਮਰੀ ਵਰਤ ਕੇ ਇਸਨੂੰ ਅਸਥਿਰ ਬਣਾ ਸਕਦੀ ਹੈ।"</string> <string name="permlab_readContacts" msgid="8348481131899886131">"ਆਪਣੇ ਸੰਪਰਕ ਪੜ੍ਹੋ"</string> - <string name="permdesc_readContacts" product="tablet" msgid="5294866856941149639">"ਐਪ ਨੂੰ ਤੁਹਾਡੀ ਟੈਬਲੇਟ ਤੇ ਸਟੋਰ ਕੀਤੇ ਤੁਹਾਡੇ ਸੰਪਰਕਾਂ ਬਾਰੇ ਡਾਟਾ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਉਸ ਬਾਰੰਬਾਰਤਾ ਸਮੇਤ ਜਿਸ ਨਾਲ ਤੁਸੀਂ ਕਾਲ ਕੀਤੀ ਹੈ, ਈਮੇਲ ਕੀਤੀ ਹੈ ਜਾਂ ਖ਼ਾਸ ਵਿਅਕਤੀਆਂ ਨਾਲ ਹੋਰ ਤਰੀਕਿਆਂ ਨਾਲ ਸੰਚਾਰ ਕੀਤਾ। ਇਹ ਅਨੁਮਤੀ ਐਪਸ ਨੂੰ ਤੁਹਾਡਾ ਸੰਪਰਕ ਡਾਟਾ ਸੁਰੱਖਿਅਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ ਅਤੇ ਖ਼ਰਾਬ ਐਪਸ ਤੁਹਾਡੀ ਜਾਣਕਾਰੀ ਤੋਂ ਬਿਨਾਂ ਸੰਪਰਕ ਡਾਟਾ ਸ਼ੇਅਰ ਕਰ ਸਕਦੇ ਹਨ।"</string> - <string name="permdesc_readContacts" product="tv" msgid="1839238344654834087">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ TV ਤੇ ਸਟੋਰ ਕੀਤੇ ਤੁਹਾਡੇ ਸੰਪਰਕਾਂ ਬਾਰੇ ਡਾਟਾ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਉਸ ਬਾਰੰਬਾਰਤਾ ਸਮੇਤ ਜਿਸ ਨਾਲ ਤੁਸੀਂ ਕਾਲ ਕੀਤੀ ਹੈ, ਈਮੇਲ ਕੀਤੀ ਹੈ ਜਾਂ ਖ਼ਾਸ ਵਿਅਕਤੀਆਂ ਨਾਲ ਹੋਰ ਤਰੀਕਿਆਂ ਨਾਲ ਸੰਚਾਰ ਕੀਤਾ। ਇਹ ਅਨੁਮਤੀ ਐਪਸ ਨੂੰ ਤੁਹਾਡਾ ਸੰਪਰਕ ਡਾਟਾ ਸੁਰੱਖਿਅਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ ਅਤੇ ਖ਼ਰਾਬ ਐਪਸ ਤੁਹਾਡੀ ਜਾਣਕਾਰੀ ਤੋਂ ਬਿਨਾਂ ਸੰਪਰਕ ਡਾਟਾ ਸ਼ੇਅਰ ਕਰ ਸਕਦੇ ਹਨ।"</string> - <string name="permdesc_readContacts" product="default" msgid="8440654152457300662">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ ਫੋਨ ਤੇ ਸਟੋਰ ਕੀਤੇ ਤੁਹਾਡੇ ਸੰਪਰਕਾਂ ਬਾਰੇ ਡਾਟਾ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਉਸ ਬਾਰੰਬਾਰਤਾ ਸਮੇਤ ਜਿਸ ਨਾਲ ਤੁਸੀਂ ਕਾਲ ਕੀਤੀ ਹੈ, ਈਮੇਲ ਕੀਤੀ ਹੈ ਜਾਂ ਖ਼ਾਸ ਵਿਅਕਤੀਆਂ ਨਾਲ ਹੋਰ ਤਰੀਕਿਆਂ ਨਾਲ ਸੰਚਾਰ ਕੀਤਾ। ਇਹ ਅਨੁਮਤੀ ਐਪਸ ਨੂੰ ਤੁਹਾਡਾ ਸੰਪਰਕ ਡਾਟਾ ਸੁਰੱਖਿਅਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ ਅਤੇ ਖ਼ਰਾਬ ਐਪਸ ਤੁਹਾਡੀ ਜਾਣਕਾਰੀ ਤੋਂ ਬਿਨਾਂ ਸੰਪਰਕ ਡਾਟਾ ਸ਼ੇਅਰ ਕਰ ਸਕਦੇ ਹਨ।"</string> + <string name="permdesc_readContacts" product="tablet" msgid="5294866856941149639">"ਐਪ ਨੂੰ ਤੁਹਾਡੀ ਟੈਬਲੇਟ ਤੇ ਸਟੋਰ ਕੀਤੇ ਤੁਹਾਡੇ ਸੰਪਰਕਾਂ ਬਾਰੇ ਡੈਟਾ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਉਸ ਬਾਰੰਬਾਰਤਾ ਸਮੇਤ ਜਿਸ ਨਾਲ ਤੁਸੀਂ ਕਾਲ ਕੀਤੀ ਹੈ, ਈਮੇਲ ਕੀਤੀ ਹੈ ਜਾਂ ਖ਼ਾਸ ਵਿਅਕਤੀਆਂ ਨਾਲ ਹੋਰ ਤਰੀਕਿਆਂ ਨਾਲ ਸੰਚਾਰ ਕੀਤਾ। ਇਹ ਅਨੁਮਤੀ ਐਪਸ ਨੂੰ ਤੁਹਾਡਾ ਸੰਪਰਕ ਡੈਟਾ ਸੁਰੱਖਿਅਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ ਅਤੇ ਖ਼ਰਾਬ ਐਪਸ ਤੁਹਾਡੀ ਜਾਣਕਾਰੀ ਤੋਂ ਬਿਨਾਂ ਸੰਪਰਕ ਡੈਟਾ ਸ਼ੇਅਰ ਕਰ ਸਕਦੇ ਹਨ।"</string> + <string name="permdesc_readContacts" product="tv" msgid="1839238344654834087">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ TV ਤੇ ਸਟੋਰ ਕੀਤੇ ਤੁਹਾਡੇ ਸੰਪਰਕਾਂ ਬਾਰੇ ਡੈਟਾ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਉਸ ਬਾਰੰਬਾਰਤਾ ਸਮੇਤ ਜਿਸ ਨਾਲ ਤੁਸੀਂ ਕਾਲ ਕੀਤੀ ਹੈ, ਈਮੇਲ ਕੀਤੀ ਹੈ ਜਾਂ ਖ਼ਾਸ ਵਿਅਕਤੀਆਂ ਨਾਲ ਹੋਰ ਤਰੀਕਿਆਂ ਨਾਲ ਸੰਚਾਰ ਕੀਤਾ। ਇਹ ਅਨੁਮਤੀ ਐਪਸ ਨੂੰ ਤੁਹਾਡਾ ਸੰਪਰਕ ਡੈਟਾ ਸੁਰੱਖਿਅਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ ਅਤੇ ਖ਼ਰਾਬ ਐਪਸ ਤੁਹਾਡੀ ਜਾਣਕਾਰੀ ਤੋਂ ਬਿਨਾਂ ਸੰਪਰਕ ਡੈਟਾ ਸ਼ੇਅਰ ਕਰ ਸਕਦੇ ਹਨ।"</string> + <string name="permdesc_readContacts" product="default" msgid="8440654152457300662">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ ਫੋਨ ਤੇ ਸਟੋਰ ਕੀਤੇ ਤੁਹਾਡੇ ਸੰਪਰਕਾਂ ਬਾਰੇ ਡੈਟਾ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਉਸ ਬਾਰੰਬਾਰਤਾ ਸਮੇਤ ਜਿਸ ਨਾਲ ਤੁਸੀਂ ਕਾਲ ਕੀਤੀ ਹੈ, ਈਮੇਲ ਕੀਤੀ ਹੈ ਜਾਂ ਖ਼ਾਸ ਵਿਅਕਤੀਆਂ ਨਾਲ ਹੋਰ ਤਰੀਕਿਆਂ ਨਾਲ ਸੰਚਾਰ ਕੀਤਾ। ਇਹ ਅਨੁਮਤੀ ਐਪਸ ਨੂੰ ਤੁਹਾਡਾ ਸੰਪਰਕ ਡੈਟਾ ਸੁਰੱਖਿਅਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ ਅਤੇ ਖ਼ਰਾਬ ਐਪਸ ਤੁਹਾਡੀ ਜਾਣਕਾਰੀ ਤੋਂ ਬਿਨਾਂ ਸੰਪਰਕ ਡੈਟਾ ਸ਼ੇਅਰ ਕਰ ਸਕਦੇ ਹਨ।"</string> <string name="permlab_writeContacts" msgid="5107492086416793544">"ਆਪਣੇ ਸੰਪਰਕ ਸੰਸ਼ੋਧਿਤ ਕਰੋ"</string> - <string name="permdesc_writeContacts" product="tablet" msgid="897243932521953602">"ਐਪ ਨੂੰ ਤੁਹਾਡੀ ਟੈਬਲੇਟ ਤੇ ਸਟੋਰ ਕੀਤੇ ਤੁਹਾਡੇ ਸੰਪਰਕਾਂ ਬਾਰੇ ਡਾਟਾ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਉਸ ਬਾਰੰਬਾਰਤਾ ਸਮੇਤ ਜਿਸ ਨਾਲ ਤੁਸੀਂ ਕਾਲ ਕੀਤੀ ਹੈ, ਈਮੇਲ ਕੀਤੀ ਹੈ ਜਾਂ ਖ਼ਾਸ ਵਿਅਕਤੀਆਂ ਨਾਲ ਹੋਰ ਤਰੀਕਿਆਂ ਨਾਲ ਸੰਚਾਰ ਕੀਤਾ। ਇਹ ਅਨੁਮਤੀ ਐਪਸ ਨੂੰ ਸੰਪਰਕ ਡਾਟਾ ਮਿਟਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ।"</string> - <string name="permdesc_writeContacts" product="tv" msgid="5438230957000018959">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ TV ਤੇ ਸਟੋਰ ਕੀਤੇ ਤੁਹਾਡੇ ਸੰਪਰਕਾਂ ਬਾਰੇ ਡਾਟਾ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਉਸ ਬਾਰੰਬਾਰਤਾ ਸਮੇਤ ਜਿਸ ਨਾਲ ਤੁਸੀਂ ਕਾਲ ਕੀਤੀ ਹੈ, ਈਮੇਲ ਕੀਤੀ ਹੈ ਜਾਂ ਖ਼ਾਸ ਵਿਅਕਤੀਆਂ ਨਾਲ ਹੋਰ ਤਰੀਕਿਆਂ ਨਾਲ ਸੰਚਾਰ ਕੀਤਾ। ਇਹ ਅਨੁਮਤੀ ਐਪਸ ਨੂੰ ਸੰਪਰਕ ਡਾਟਾ ਮਿਟਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ।"</string> - <string name="permdesc_writeContacts" product="default" msgid="589869224625163558">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ ਫੋਨ ਤੇ ਸਟੋਰ ਕੀਤੇ ਤੁਹਾਡੇ ਸੰਪਰਕਾਂ ਬਾਰੇ ਡਾਟਾ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਉਸ ਬਾਰੰਬਾਰਤਾ ਸਮੇਤ ਜਿਸ ਨਾਲ ਤੁਸੀਂ ਕਾਲ ਕੀਤੀ ਹੈ, ਈਮੇਲ ਕੀਤੀ ਹੈ ਜਾਂ ਖ਼ਾਸ ਵਿਅਕਤੀਆਂ ਨਾਲ ਹੋਰ ਤਰੀਕਿਆਂ ਨਾਲ ਸੰਚਾਰ ਕੀਤਾ। ਇਹ ਅਨੁਮਤੀ ਐਪਸ ਨੂੰ ਤੁਹਾਡਾ ਸੰਪਰਕ ਡਾਟਾ ਮਿਟਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ।"</string> + <string name="permdesc_writeContacts" product="tablet" msgid="897243932521953602">"ਐਪ ਨੂੰ ਤੁਹਾਡੀ ਟੈਬਲੇਟ ਤੇ ਸਟੋਰ ਕੀਤੇ ਤੁਹਾਡੇ ਸੰਪਰਕਾਂ ਬਾਰੇ ਡੈਟਾ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਉਸ ਬਾਰੰਬਾਰਤਾ ਸਮੇਤ ਜਿਸ ਨਾਲ ਤੁਸੀਂ ਕਾਲ ਕੀਤੀ ਹੈ, ਈਮੇਲ ਕੀਤੀ ਹੈ ਜਾਂ ਖ਼ਾਸ ਵਿਅਕਤੀਆਂ ਨਾਲ ਹੋਰ ਤਰੀਕਿਆਂ ਨਾਲ ਸੰਚਾਰ ਕੀਤਾ। ਇਹ ਅਨੁਮਤੀ ਐਪਸ ਨੂੰ ਸੰਪਰਕ ਡੈਟਾ ਮਿਟਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ।"</string> + <string name="permdesc_writeContacts" product="tv" msgid="5438230957000018959">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ TV ਤੇ ਸਟੋਰ ਕੀਤੇ ਤੁਹਾਡੇ ਸੰਪਰਕਾਂ ਬਾਰੇ ਡੈਟਾ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਉਸ ਬਾਰੰਬਾਰਤਾ ਸਮੇਤ ਜਿਸ ਨਾਲ ਤੁਸੀਂ ਕਾਲ ਕੀਤੀ ਹੈ, ਈਮੇਲ ਕੀਤੀ ਹੈ ਜਾਂ ਖ਼ਾਸ ਵਿਅਕਤੀਆਂ ਨਾਲ ਹੋਰ ਤਰੀਕਿਆਂ ਨਾਲ ਸੰਚਾਰ ਕੀਤਾ। ਇਹ ਅਨੁਮਤੀ ਐਪਸ ਨੂੰ ਸੰਪਰਕ ਡੈਟਾ ਮਿਟਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ।"</string> + <string name="permdesc_writeContacts" product="default" msgid="589869224625163558">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ ਫੋਨ ਤੇ ਸਟੋਰ ਕੀਤੇ ਤੁਹਾਡੇ ਸੰਪਰਕਾਂ ਬਾਰੇ ਡੈਟਾ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਉਸ ਬਾਰੰਬਾਰਤਾ ਸਮੇਤ ਜਿਸ ਨਾਲ ਤੁਸੀਂ ਕਾਲ ਕੀਤੀ ਹੈ, ਈਮੇਲ ਕੀਤੀ ਹੈ ਜਾਂ ਖ਼ਾਸ ਵਿਅਕਤੀਆਂ ਨਾਲ ਹੋਰ ਤਰੀਕਿਆਂ ਨਾਲ ਸੰਚਾਰ ਕੀਤਾ। ਇਹ ਅਨੁਮਤੀ ਐਪਸ ਨੂੰ ਤੁਹਾਡਾ ਸੰਪਰਕ ਡੈਟਾ ਮਿਟਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ।"</string> <string name="permlab_readCallLog" msgid="3478133184624102739">"ਕਾਲ ਲੌਗ ਪੜ੍ਹੋ"</string> - <string name="permdesc_readCallLog" product="tablet" msgid="3700645184870760285">"ਐਪ ਨੂੰ ਤੁਹਾਡੀ ਟੈਬਲੇਟ ਦਾ ਕਾਲ ਲੌਗ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਇਨਕਮਿੰਗ ਅਤੇ ਆਊਟਗੋਇੰਗ ਕਾਲਾਂ ਬਾਰੇ ਡਾਟਾ ਸਮੇਤ। ਇਹ ਅਨੁਮਤੀ ਐਪਸ ਨੂੰ ਤੁਹਾਡਾ ਕਾਲ ਲੌਗ ਡਾਟਾ ਸੁਰੱਖਿਅਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ ਅਤੇ ਖ਼ਰਾਬ ਐਪਸ ਤੁਹਾਡੀ ਜਾਣਕਾਰੀ ਤੋਂ ਬਿਨਾਂ ਕਾਲ ਲੌਗ ਡਾਟਾ ਸ਼ੇਅਰ ਕਰ ਸਕਦੇ ਹਨ।"</string> - <string name="permdesc_readCallLog" product="tv" msgid="5611770887047387926">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ TV ਦਾ ਕਾਲ ਲੌਗ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਇਨਕਮਿੰਗ ਅਤੇ ਆਊਟਗੋਇੰਗ ਕਾਲਾਂ ਬਾਰੇ ਡਾਟਾ ਸਮੇਤ। ਇਹ ਅਨੁਮਤੀ ਐਪਸ ਨੂੰ ਤੁਹਾਡਾ ਕਾਲ ਲੌਗ ਡਾਟਾ ਸੁਰੱਖਿਅਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ ਅਤੇ ਖ਼ਰਾਬ ਐਪਸ ਤੁਹਾਡੀ ਜਾਣਕਾਰੀ ਤੋਂ ਬਿਨਾਂ ਕਾਲ ਲੌਗ ਡਾਟਾ ਸ਼ੇਅਰ ਕਰ ਸਕਦੇ ਹਨ।"</string> - <string name="permdesc_readCallLog" product="default" msgid="5777725796813217244">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ ਫੋਨ ਦਾ ਕਾਲ ਲੌਗ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਇਨਕਮਿੰਗ ਅਤੇ ਆਊਟਗੋਇੰਗ ਕਾਲਾਂ ਬਾਰੇ ਡਾਟਾ ਸਮੇਤ। ਇਹ ਅਨੁਮਤੀ ਐਪਸ ਨੂੰ ਤੁਹਾਡਾ ਕਾਲ ਲੌਗ ਡਾਟਾ ਸੁਰੱਖਿਅਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ ਅਤੇ ਖ਼ਰਾਬ ਐਪਸ ਤੁਹਾਡੀ ਜਾਣਕਾਰੀ ਤੋਂ ਬਿਨਾਂ ਕਾਲ ਲੌਗ ਡਾਟਾ ਸ਼ੇਅਰ ਕਰ ਸਕਦੇ ਹਨ।"</string> + <string name="permdesc_readCallLog" product="tablet" msgid="3700645184870760285">"ਐਪ ਨੂੰ ਤੁਹਾਡੀ ਟੈਬਲੇਟ ਦਾ ਕਾਲ ਲੌਗ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਇਨਕਮਿੰਗ ਅਤੇ ਆਊਟਗੋਇੰਗ ਕਾਲਾਂ ਬਾਰੇ ਡੈਟਾ ਸਮੇਤ। ਇਹ ਅਨੁਮਤੀ ਐਪਸ ਨੂੰ ਤੁਹਾਡਾ ਕਾਲ ਲੌਗ ਡੈਟਾ ਸੁਰੱਖਿਅਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ ਅਤੇ ਖ਼ਰਾਬ ਐਪਸ ਤੁਹਾਡੀ ਜਾਣਕਾਰੀ ਤੋਂ ਬਿਨਾਂ ਕਾਲ ਲੌਗ ਡੈਟਾ ਸ਼ੇਅਰ ਕਰ ਸਕਦੇ ਹਨ।"</string> + <string name="permdesc_readCallLog" product="tv" msgid="5611770887047387926">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ TV ਦਾ ਕਾਲ ਲੌਗ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਇਨਕਮਿੰਗ ਅਤੇ ਆਊਟਗੋਇੰਗ ਕਾਲਾਂ ਬਾਰੇ ਡੈਟਾ ਸਮੇਤ। ਇਹ ਅਨੁਮਤੀ ਐਪਸ ਨੂੰ ਤੁਹਾਡਾ ਕਾਲ ਲੌਗ ਡੈਟਾ ਸੁਰੱਖਿਅਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ ਅਤੇ ਖ਼ਰਾਬ ਐਪਸ ਤੁਹਾਡੀ ਜਾਣਕਾਰੀ ਤੋਂ ਬਿਨਾਂ ਕਾਲ ਲੌਗ ਡੈਟਾ ਸ਼ੇਅਰ ਕਰ ਸਕਦੇ ਹਨ।"</string> + <string name="permdesc_readCallLog" product="default" msgid="5777725796813217244">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ ਫੋਨ ਦਾ ਕਾਲ ਲੌਗ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਇਨਕਮਿੰਗ ਅਤੇ ਆਊਟਗੋਇੰਗ ਕਾਲਾਂ ਬਾਰੇ ਡੈਟਾ ਸਮੇਤ। ਇਹ ਅਨੁਮਤੀ ਐਪਸ ਨੂੰ ਤੁਹਾਡਾ ਕਾਲ ਲੌਗ ਡੈਟਾ ਸੁਰੱਖਿਅਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ ਅਤੇ ਖ਼ਰਾਬ ਐਪਸ ਤੁਹਾਡੀ ਜਾਣਕਾਰੀ ਤੋਂ ਬਿਨਾਂ ਕਾਲ ਲੌਗ ਡੈਟਾ ਸ਼ੇਅਰ ਕਰ ਸਕਦੇ ਹਨ।"</string> <string name="permlab_writeCallLog" msgid="8552045664743499354">"ਕਾਲ ਲੌਗ ਲਿਖੋ"</string> - <string name="permdesc_writeCallLog" product="tablet" msgid="6661806062274119245">"ਐਪ ਨੂੰ ਤੁਹਾਡੀ ਟੈਬਲੇਟ ਦਾ ਕਾਲ ਲੌਗ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਇਨਕਮਿੰਗ ਅਤੇ ਆਊਟਗੋਇੰਗ ਕਾਲਾਂ ਬਾਰੇ ਡਾਟਾ ਸਮੇਤ। ਖ਼ਰਾਬ ਐਪਸ ਇਸਦੀ ਵਰਤੋਂ ਤੁਹਾਡੇ ਕਾਲ ਲੌਗ ਨੂੰ ਮਿਟਾਉਣ ਜਾਂ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਲਈ ਕਰ ਸਕਦੇ ਹਨ।"</string> - <string name="permdesc_writeCallLog" product="tv" msgid="4225034892248398019">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ TV ਦਾ ਕਾਲ ਲੌਗ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਇਨਕਮਿੰਗ ਅਤੇ ਆਊਟਗੋਇੰਗ ਕਾਲਾਂ ਬਾਰੇ ਡਾਟਾ ਸਮੇਤ। ਖ਼ਰਾਬ ਐਪਸ ਇਸਦੀ ਵਰਤੋਂ ਤੁਹਾਡੇ ਕਾਲ ਲੌਗ ਨੂੰ ਮਿਟਾਉਣ ਜਾਂ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਲਈ ਕਰ ਸਕਦੇ ਹਨ।"</string> - <string name="permdesc_writeCallLog" product="default" msgid="683941736352787842">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ ਫੋਨ ਦਾ ਕਾਲ ਲੌਗ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਇਨਕਮਿੰਗ ਅਤੇ ਆਊਟਗੋਇੰਗ ਕਾਲਾਂ ਬਾਰੇ ਡਾਟਾ ਸਮੇਤ। ਖ਼ਰਾਬ ਐਪਸ ਇਸਦੀ ਵਰਤੋਂ ਤੁਹਾਡੇ ਕਾਲ ਲੌਗ ਨੂੰ ਮਿਟਾਉਣ ਜਾਂ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਲਈ ਕਰ ਸਕਦੇ ਹਨ।"</string> + <string name="permdesc_writeCallLog" product="tablet" msgid="6661806062274119245">"ਐਪ ਨੂੰ ਤੁਹਾਡੀ ਟੈਬਲੇਟ ਦਾ ਕਾਲ ਲੌਗ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਇਨਕਮਿੰਗ ਅਤੇ ਆਊਟਗੋਇੰਗ ਕਾਲਾਂ ਬਾਰੇ ਡੈਟਾ ਸਮੇਤ। ਖ਼ਰਾਬ ਐਪਸ ਇਸਦੀ ਵਰਤੋਂ ਤੁਹਾਡੇ ਕਾਲ ਲੌਗ ਨੂੰ ਮਿਟਾਉਣ ਜਾਂ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਲਈ ਕਰ ਸਕਦੇ ਹਨ।"</string> + <string name="permdesc_writeCallLog" product="tv" msgid="4225034892248398019">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ TV ਦਾ ਕਾਲ ਲੌਗ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਇਨਕਮਿੰਗ ਅਤੇ ਆਊਟਗੋਇੰਗ ਕਾਲਾਂ ਬਾਰੇ ਡੈਟਾ ਸਮੇਤ। ਖ਼ਰਾਬ ਐਪਸ ਇਸਦੀ ਵਰਤੋਂ ਤੁਹਾਡੇ ਕਾਲ ਲੌਗ ਨੂੰ ਮਿਟਾਉਣ ਜਾਂ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਲਈ ਕਰ ਸਕਦੇ ਹਨ।"</string> + <string name="permdesc_writeCallLog" product="default" msgid="683941736352787842">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ ਫੋਨ ਦਾ ਕਾਲ ਲੌਗ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਇਨਕਮਿੰਗ ਅਤੇ ਆਊਟਗੋਇੰਗ ਕਾਲਾਂ ਬਾਰੇ ਡੈਟਾ ਸਮੇਤ। ਖ਼ਰਾਬ ਐਪਸ ਇਸਦੀ ਵਰਤੋਂ ਤੁਹਾਡੇ ਕਾਲ ਲੌਗ ਨੂੰ ਮਿਟਾਉਣ ਜਾਂ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਲਈ ਕਰ ਸਕਦੇ ਹਨ।"</string> <string name="permlab_bodySensors" msgid="4683341291818520277">"ਸਰੀਰ ਸੰਵੇਦਕਾਂ \'ਤੇ ਪਹੁੰਚ ਕਰੋ (ਜਿਵੇਂ ਦਿਲ ਦੀ ਧੜਕਣ ਦੇ ਨਿਰੀਖਕ)"</string> - <string name="permdesc_bodySensors" product="default" msgid="4380015021754180431">"ਐਪ ਨੂੰ ਉਹਨਾਂ ਸੰਵੇਦਕਾਂ ਦੇ ਡਾਟਾ ਤੱਕ ਪਹੁੰਚ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ ਜੋ ਤੁਹਾਡੀ ਸਰੀਰਕ ਸਥਿਤੀ ਦਾ ਨਿਰੀਖਣ ਕਰ ਸਕਦੇ ਹਨ, ਜਿਵੇਂ ਤੁਹਾਡੇ ਦਿਲ ਦੀ ਧੜਕਣ।"</string> + <string name="permdesc_bodySensors" product="default" msgid="4380015021754180431">"ਐਪ ਨੂੰ ਉਹਨਾਂ ਸੰਵੇਦਕਾਂ ਦੇ ਡੈਟਾ ਤੱਕ ਪਹੁੰਚ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ ਜੋ ਤੁਹਾਡੀ ਸਰੀਰਕ ਸਥਿਤੀ ਦਾ ਨਿਰੀਖਣ ਕਰ ਸਕਦੇ ਹਨ, ਜਿਵੇਂ ਤੁਹਾਡੇ ਦਿਲ ਦੀ ਧੜਕਣ।"</string> <string name="permlab_readCalendar" msgid="5972727560257612398">"ਕੈਲੰਡਰ ਇਵੈਂਟਾਂ ਪਲਸ ਗੁਪਤ ਜਾਣਕਾਰੀ ਪੜ੍ਹੋ"</string> - <string name="permdesc_readCalendar" product="tablet" msgid="4216462049057658723">"ਐਪ ਨੂੰ ਤੁਹਾਡੀ ਟੈਬਲੇਟ ਤੇ ਸਟੋਰ ਕੀਤੀਆਂ ਸਾਰੀਆਂ ਕੈਲੰਡਰ ਇਵੈਂਟਾਂ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਦੋਸਤਾਂ ਜਾਂ ਸਹਿਯੋਗੀਆਂ ਦੀਆਂ ਇਵੈਂਟਾਂ ਸਮੇਤ। ਇਹ ਐਪ ਨੂੰ ਤੁਹਾਡਾ ਕੈਲੰਡਰ ਡਾਟਾ ਸ਼ੇਅਰ ਜਾਂ ਸੁਰੱਖਿਅਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇ ਸਕਦਾ ਹੈ, ਗੁਪਤਤਾ ਜਾਂ ਸੰਵੇਦਨਸ਼ੀਲਤਾ ਤੇ ਧਿਆਨ ਦਿੱਤੇ ਬਿਨਾਂ।"</string> - <string name="permdesc_readCalendar" product="tv" msgid="3191352452242394196">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ TV ਤੇ ਸਟੋਰ ਕੀਤੀਆਂ ਸਾਰੀਆਂ ਕੈਲੰਡਰ ਇਵੈਂਟਾਂ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਦੋਸਤਾਂ ਜਾਂ ਸਹਿਯੋਗੀਆਂ ਦੀਆਂ ਇਵੈਂਟਾਂ ਸਮੇਤ। ਇਹ ਐਪ ਨੂੰ ਤੁਹਾਡਾ ਕੈਲੰਡਰ ਡਾਟਾ ਸ਼ੇਅਰ ਜਾਂ ਸੁਰੱਖਿਅਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇ ਸਕਦਾ ਹੈ, ਗੁਪਤਤਾ ਜਾਂ ਸੰਵੇਦਨਸ਼ੀਲਤਾ ਤੇ ਧਿਆਨ ਦਿੱਤੇ ਬਿਨਾਂ।"</string> - <string name="permdesc_readCalendar" product="default" msgid="7434548682470851583">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ ਫੋਨ ਤੇ ਸਟੋਰ ਕੀਤੀਆਂ ਸਾਰੀਆਂ ਕੈਲੰਡਰ ਇਵੈਂਟਾਂ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਦੋਸਤਾਂ ਜਾਂ ਸਹਿਯੋਗੀਆਂ ਦੀਆਂ ਇਵੈਂਟਾਂ ਸਮੇਤ। ਇਹ ਐਪ ਨੂੰ ਤੁਹਾਡਾ ਕੈਲੰਡਰ ਡਾਟਾ ਸ਼ੇਅਰ ਜਾਂ ਸੁਰੱਖਿਅਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇ ਸਕਦਾ ਹੈ, ਗੁਪਤਤਾ ਜਾਂ ਸੰਵੇਦਨਸ਼ੀਲਤਾ ਤੇ ਧਿਆਨ ਦਿੱਤੇ ਬਿਨਾਂ।"</string> + <string name="permdesc_readCalendar" product="tablet" msgid="4216462049057658723">"ਐਪ ਨੂੰ ਤੁਹਾਡੀ ਟੈਬਲੇਟ ਤੇ ਸਟੋਰ ਕੀਤੀਆਂ ਸਾਰੀਆਂ ਕੈਲੰਡਰ ਇਵੈਂਟਾਂ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਦੋਸਤਾਂ ਜਾਂ ਸਹਿਯੋਗੀਆਂ ਦੀਆਂ ਇਵੈਂਟਾਂ ਸਮੇਤ। ਇਹ ਐਪ ਨੂੰ ਤੁਹਾਡਾ ਕੈਲੰਡਰ ਡੈਟਾ ਸ਼ੇਅਰ ਜਾਂ ਸੁਰੱਖਿਅਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇ ਸਕਦਾ ਹੈ, ਗੁਪਤਤਾ ਜਾਂ ਸੰਵੇਦਨਸ਼ੀਲਤਾ ਤੇ ਧਿਆਨ ਦਿੱਤੇ ਬਿਨਾਂ।"</string> + <string name="permdesc_readCalendar" product="tv" msgid="3191352452242394196">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ TV ਤੇ ਸਟੋਰ ਕੀਤੀਆਂ ਸਾਰੀਆਂ ਕੈਲੰਡਰ ਇਵੈਂਟਾਂ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਦੋਸਤਾਂ ਜਾਂ ਸਹਿਯੋਗੀਆਂ ਦੀਆਂ ਇਵੈਂਟਾਂ ਸਮੇਤ। ਇਹ ਐਪ ਨੂੰ ਤੁਹਾਡਾ ਕੈਲੰਡਰ ਡੈਟਾ ਸ਼ੇਅਰ ਜਾਂ ਸੁਰੱਖਿਅਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇ ਸਕਦਾ ਹੈ, ਗੁਪਤਤਾ ਜਾਂ ਸੰਵੇਦਨਸ਼ੀਲਤਾ ਤੇ ਧਿਆਨ ਦਿੱਤੇ ਬਿਨਾਂ।"</string> + <string name="permdesc_readCalendar" product="default" msgid="7434548682470851583">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ ਫੋਨ ਤੇ ਸਟੋਰ ਕੀਤੀਆਂ ਸਾਰੀਆਂ ਕੈਲੰਡਰ ਇਵੈਂਟਾਂ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਦੋਸਤਾਂ ਜਾਂ ਸਹਿਯੋਗੀਆਂ ਦੀਆਂ ਇਵੈਂਟਾਂ ਸਮੇਤ। ਇਹ ਐਪ ਨੂੰ ਤੁਹਾਡਾ ਕੈਲੰਡਰ ਡੈਟਾ ਸ਼ੇਅਰ ਜਾਂ ਸੁਰੱਖਿਅਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇ ਸਕਦਾ ਹੈ, ਗੁਪਤਤਾ ਜਾਂ ਸੰਵੇਦਨਸ਼ੀਲਤਾ ਤੇ ਧਿਆਨ ਦਿੱਤੇ ਬਿਨਾਂ।"</string> <string name="permlab_writeCalendar" msgid="8438874755193825647">"ਕੈਲੰਡਰ ਇਵੈਂਟਾਂ ਜੋੜੋ ਜਾਂ ਸੰਸ਼ੋਧਿਤ ਕਰੋ ਅਤੇ ਮਾਲਕ ਦੀ ਜਾਣਕਾਰੀ ਤੋਂ ਬਿਨਾਂ ਮਹਿਮਾਨਾਂ ਨੂੰ ਈਮੇਲ ਭੇਜੋ"</string> <string name="permdesc_writeCalendar" product="tablet" msgid="6679035520113668528">"ਐਪ ਨੂੰ ਉਹ ਇਵੈਂਟਾਂ ਜੋੜਨ, ਹਟਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਜਿਹਨਾਂ ਨੂੰ ਤੁਸੀਂ ਆਪਣੀ ਟੈਬਲੇਟ ਤੇ ਸੰਸ਼ੋਧਿਤ ਕਰ ਸਕਦੇ ਹੋ, ਦੋਸਤਾਂ ਜਾਂ ਸਹਿਯੋਗੀਆਂ ਦੀਆਂ ਇਵੈਂਟਾਂ ਸਮੇਤ। ਇਹ ਐਪ ਨੂੰ ਮਾਲਕ ਦੀ ਜਾਣਕਾਰੀ ਤੋਂ ਬਿਨਾਂ ਉਹ ਸੁਨੇਹੇ, ਜੋ ਕੈਲੰਡਰ ਮਾਲਕਾਂ ਤੋਂ ਆਉਂਦੇ ਜਾਪਦੇ ਹਨ, ਭੇਜਣ ਦੀ ਜਾਂ ਇਵੈਂਟਾਂ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇ ਸਕਦਾ ਹੈ।"</string> <string name="permdesc_writeCalendar" product="tv" msgid="1273290605500902507">"ਐਪ ਨੂੰ ਉਹ ਇਵੈਂਟਾਂ ਜੋੜਨ, ਹਟਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਜਿਹਨਾਂ ਨੂੰ ਤੁਸੀਂ ਆਪਣੇ TV ਤੇ ਸੰਸ਼ੋਧਿਤ ਕਰ ਸਕਦੇ ਹੋ, ਦੋਸਤਾਂ ਜਾਂ ਸਹਿਯੋਗੀਆਂ ਦੀਆਂ ਇਵੈਂਟਾਂ ਸਮੇਤ। ਇਹ ਐਪ ਨੂੰ ਮਾਲਕ ਦੀ ਜਾਣਕਾਰੀ ਤੋਂ ਬਿਨਾਂ ਉਹ ਸੁਨੇਹੇ, ਜੋ ਕੈਲੰਡਰ ਮਾਲਕਾਂ ਤੋਂ ਆਉਂਦੇ ਜਾਪਦੇ ਹਨ, ਭੇਜਣ ਦੀ ਜਾਂ ਇਵੈਂਟਾਂ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇ ਸਕਦਾ ਹੈ।"</string> <string name="permdesc_writeCalendar" product="default" msgid="2324469496327249376">"ਐਪ ਨੂੰ ਉਹ ਇਵੈਂਟਾਂ ਜੋੜਨ, ਹਟਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਜਿਹਨਾਂ ਨੂੰ ਤੁਸੀਂ ਆਪਣੇ ਫੋਨ ਤੇ ਸੰਸ਼ੋਧਿਤ ਕਰ ਸਕਦੇ ਹੋ, ਦੋਸਤਾਂ ਜਾਂ ਸਹਿਯੋਗੀਆਂ ਦੀਆਂ ਇਵੈਂਟਾਂ ਸਮੇਤ। ਇਹ ਐਪ ਨੂੰ ਮਾਲਕ ਦੀ ਜਾਣਕਾਰੀ ਤੋਂ ਬਿਨਾਂ ਉਹ ਸੁਨੇਹੇ, ਜੋ ਕੈਲੰਡਰ ਮਾਲਕਾਂ ਤੋਂ ਆਉਂਦੇ ਜਾਪਦੇ ਹਨ, ਭੇਜਣ ਦੀ ਜਾਂ ਇਵੈਂਟਾਂ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇ ਸਕਦਾ ਹੈ।"</string> <string name="permlab_accessLocationExtraCommands" msgid="2836308076720553837">"ਵਾਧੂ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਪ੍ਰਦਾਤਾ ਕਮਾਂਡਾਂ ਤੱਕ ਪਹੁੰਚ"</string> - <string name="permdesc_accessLocationExtraCommands" msgid="6078307221056649927">"ਐਪ ਨੂੰ ਵਾਧੂ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਪ੍ਰਦਾਤਾ ਕਮਾਂਡਾਂ ਤੱਕ ਪਹੁੰਚ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਐਪ ਨੂੰ GPS ਜਾਂ ਹੋਰ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਸ੍ਰੋਤਾਂ ਦੇ ਓਪਰੇਸ਼ਨ ਵਿੱਚ ਵਿਘਨ ਪਾਉਣ ਦੀ ਆਗਿਆ ਦੇ ਸਕਦਾ ਹੈ।"</string> + <string name="permdesc_accessLocationExtraCommands" msgid="6078307221056649927">"ਐਪ ਨੂੰ ਵਾਧੂ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਪ੍ਰਦਾਤਾ ਕਮਾਂਡਾਂ ਤੱਕ ਪਹੁੰਚ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਐਪ ਨੂੰ GPS ਜਾਂ ਹੋਰ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਸਰੋਤਾਂ ਦੇ ਓਪਰੇਸ਼ਨ ਵਿੱਚ ਵਿਘਨ ਪਾਉਣ ਦੀ ਆਗਿਆ ਦੇ ਸਕਦਾ ਹੈ।"</string> <string name="permlab_accessFineLocation" msgid="251034415460950944">"ਸਟੀਕ ਟਿਕਾਣੇ \'ਤੇ ਪਹੁੰਚ ਕਰੋ (GPS ਅਤੇ ਨੈੱਟਵਰਕ-ਆਧਾਰਿਤ)"</string> - <string name="permdesc_accessFineLocation" msgid="5295047563564981250">"ਐਪ ਨੂੰ ਗਲੋਬਲ ਪੋਜੀਸ਼ਨਿੰਗ ਸਿਸਟਮ (GPS) ਜਾਂ ਨੈਟਵਰਕ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਸ੍ਰੋਤ ਜਿਵੇਂ ਸੈਲ ਟਾਵਰ ਅਤੇ Wi-Fi, ਵਰਤਦੇ ਹੋਏ ਤੁਹਾਡਾ ਨਿਯਤ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਸੇਵਾਵਾਂ ਚਾਲੂ ਅਤੇ ਐਪ ਨੂੰ ਉਹਨਾਂ ਨੂੰ ਵਰਤਣ ਲਈ ਤੁਹਾਡੀ ਡਿਵਾਈਸ ਤੇ ਉਪਲਬਧ ਹੋਣੀਆਂ ਚਾਹੀਦੀਆਂ ਹਨ। ਐਪਸ ਇਸਦੀ ਵਰਤੋਂ ਇਹ ਨਿਰਧਾਰਿਤ ਕਰਨ ਲਈ ਕਰ ਸਕਦੇ ਹਨ ਕਿ ਤੁਸੀਂ ਕਿੱਥੇ ਹੋ ਅਤੇ ਵਾਧੂ ਬੈਟਰੀ ਪਾਵਰ ਖ਼ਰਚ ਸਕਦੇ ਹਨ।"</string> + <string name="permdesc_accessFineLocation" msgid="5295047563564981250">"ਐਪ ਨੂੰ ਗਲੋਬਲ ਪੋਜੀਸ਼ਨਿੰਗ ਸਿਸਟਮ (GPS) ਜਾਂ ਨੈੱਟਵਰਕ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਸਰੋਤ ਜਿਵੇਂ ਸੈਲ ਟਾਵਰ ਅਤੇ Wi-Fi, ਵਰਤਦੇ ਹੋਏ ਤੁਹਾਡਾ ਨਿਯਤ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਸੇਵਾਵਾਂ ਚਾਲੂ ਅਤੇ ਐਪ ਨੂੰ ਉਹਨਾਂ ਨੂੰ ਵਰਤਣ ਲਈ ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਤੇ ਉਪਲਬਧ ਹੋਣੀਆਂ ਚਾਹੀਦੀਆਂ ਹਨ। ਐਪਸ ਇਸਦੀ ਵਰਤੋਂ ਇਹ ਨਿਰਧਾਰਿਤ ਕਰਨ ਲਈ ਕਰ ਸਕਦੇ ਹਨ ਕਿ ਤੁਸੀਂ ਕਿੱਥੇ ਹੋ ਅਤੇ ਵਾਧੂ ਬੈਟਰੀ ਪਾਵਰ ਖ਼ਰਚ ਸਕਦੇ ਹਨ।"</string> <string name="permlab_accessCoarseLocation" msgid="7715277613928539434">"ਅੰਦਾਜ਼ਨ ਟਿਕਾਣੇ \'ਤੇ ਪਹੁੰਚ ਕਰੋ (ਨੈੱਟਵਰਕ-ਆਧਾਰਿਤ)"</string> - <string name="permdesc_accessCoarseLocation" msgid="2538200184373302295">"ਐਪ ਨੂੰ ਤੁਹਾਡਾ ਅਨੁਮਾਨਿਤ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਨੈਟਵਰਕ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਸ੍ਰੋਤ ਵਰਤਦੇ ਹੋਏ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਸੇਵਾਵਾਂ ਰਾਹੀਂ ਪ੍ਰਾਪਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਜਿਵੇਂ ਸੈਲ ਟਾਵਰ ਅਤੇ Wi-Fi. ਇਹ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਸੇਵਾਵਾਂ ਚਾਲੂ ਅਤੇ ਐਪ ਨੂੰ ਉਹਨਾਂ ਨੂੰ ਵਰਤਣ ਲਈ ਤੁਹਾਡੀ ਡਿਵਾਈਸ ਤੇ ਹੋਣੀਆਂ ਚਾਹੀਦੀਆਂ ਹਨ। ਐਪਸ ਇਸਦੀ ਵਰਤੋਂ ਇਹ ਅਨੁਮਾਨ ਲਗਾਉਣ ਲਈ ਕਰ ਸਕਦੇ ਹਨ ਕਿ ਤੁਸੀਂ ਕਿੱਥੇ ਹੋ।"</string> + <string name="permdesc_accessCoarseLocation" msgid="2538200184373302295">"ਐਪ ਨੂੰ ਤੁਹਾਡਾ ਅਨੁਮਾਨਿਤ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਨੈੱਟਵਰਕ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਸਰੋਤ ਵਰਤਦੇ ਹੋਏ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਸੇਵਾਵਾਂ ਰਾਹੀਂ ਪ੍ਰਾਪਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਜਿਵੇਂ ਸੈਲ ਟਾਵਰ ਅਤੇ Wi-Fi. ਇਹ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਸੇਵਾਵਾਂ ਚਾਲੂ ਅਤੇ ਐਪ ਨੂੰ ਉਹਨਾਂ ਨੂੰ ਵਰਤਣ ਲਈ ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਤੇ ਹੋਣੀਆਂ ਚਾਹੀਦੀਆਂ ਹਨ। ਐਪਸ ਇਸਦੀ ਵਰਤੋਂ ਇਹ ਅਨੁਮਾਨ ਲਗਾਉਣ ਲਈ ਕਰ ਸਕਦੇ ਹਨ ਕਿ ਤੁਸੀਂ ਕਿੱਥੇ ਹੋ।"</string> <string name="permlab_modifyAudioSettings" msgid="6095859937069146086">"ਆਪਣੀਆਂ ਔਡੀਓ ਸੈਟਿੰਗਾਂ ਬਦਲੋ"</string> <string name="permdesc_modifyAudioSettings" msgid="3522565366806248517">"ਔਪ ਨੂੰ ਗਲੋਬਲ ਔਡੀਓ ਸੈਟਿੰਗਾਂ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ ਜਿਵੇਂ ਵੌਲਯੂਮ ਅਤੇ ਆਊਟਪੁਟ ਲਈ ਕਿਹੜਾ ਸਪੀਕਰ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।"</string> <string name="permlab_recordAudio" msgid="3876049771427466323">"ਔਡੀਓ ਰਿਕਾਰਡ ਕਰੋ"</string> @@ -375,7 +375,7 @@ <string name="permlab_accessImsCallService" msgid="3574943847181793918">"IMS ਕਾਲ ਸੇਵਾ ਤੱਕ ਪਹੁੰਚ"</string> <string name="permdesc_accessImsCallService" msgid="8992884015198298775">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ ਦਖ਼ਲ ਤੋਂ ਬਿਨਾਂ ਕਾਲਾਂ ਕਰਨ ਲਈ IMS ਸੇਵਾ ਵਰਤਣ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ।"</string> <string name="permlab_readPhoneState" msgid="9178228524507610486">"ਫੋਨ ਸਥਿਤੀ ਅਤੇ ਪਛਾਣ ਪੜ੍ਹੋ"</string> - <string name="permdesc_readPhoneState" msgid="1639212771826125528">"ਐਪ ਨੂੰ ਡਿਵਾਈਸ ਦੀਆਂ ਫੋਨ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਤੱਕ ਪਹੁੰਚ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਅਨੁਮਤੀ ਐਪ ਨੂੰ ਫੋਨ ਨੰਬਰ ਅਤੇ ਡਿਵਾਈਸ ID ਨਿਰਧਾਰਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ, ਇੱਕ ਕਾਲ ਸਕਿਰਿਆ ਹੈ ਜਾਂ ਨਹੀਂ ਅਤੇ ਰਿਮੋਟ ਨੰਬਰ ਇੱਕ ਕਾਲ ਨਾਲ ਕਨੈਕਟ ਹੈ ਜਾਂ ਨਹੀਂ।"</string> + <string name="permdesc_readPhoneState" msgid="1639212771826125528">"ਐਪ ਨੂੰ ਡੀਵਾਈਸ ਦੀਆਂ ਫੋਨ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਤੱਕ ਪਹੁੰਚ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਅਨੁਮਤੀ ਐਪ ਨੂੰ ਫੋਨ ਨੰਬਰ ਅਤੇ ਡੀਵਾਈਸ ID ਨਿਰਧਾਰਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ, ਇੱਕ ਕਾਲ ਸਕਿਰਿਆ ਹੈ ਜਾਂ ਨਹੀਂ ਅਤੇ ਰਿਮੋਟ ਨੰਬਰ ਇੱਕ ਕਾਲ ਨਾਲ ਕਨੈਕਟ ਹੈ ਜਾਂ ਨਹੀਂ।"</string> <string name="permlab_wakeLock" product="tablet" msgid="1531731435011495015">"ਟੈਬਲੇਟ ਨੂੰ ਸਲੀਪਿੰਗ ਤੋਂ ਰੋਕੋ"</string> <string name="permlab_wakeLock" product="tv" msgid="2601193288949154131">"TV ਨੂੰ ਸਲੀਪਿੰਗ ਤੋਂ ਰੋਕੋ"</string> <string name="permlab_wakeLock" product="default" msgid="573480187941496130">"ਫੋਨ ਨੂੰ ਸਲੀਪਿੰਗ ਤੋਂ ਰੋਕੋ"</string> @@ -386,34 +386,34 @@ <string name="permdesc_transmitIr" product="tablet" msgid="5358308854306529170">"ਐਪ ਨੂੰ ਟੈਬਲੇਟ ਦਾ ਇੰਫਰਾਰੈਡ ਟ੍ਰਾਂਸਮੀਟਰ ਵਰਤਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string> <string name="permdesc_transmitIr" product="tv" msgid="3926790828514867101">"ਐਪ ਨੂੰ TV ਦਾ ਇੰਫਰਾਰੈਡ ਟ੍ਰਾਂਸਮੀਟਰ ਵਰਤਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string> <string name="permdesc_transmitIr" product="default" msgid="7957763745020300725">"ਐਪ ਨੂੰ ਫੋਨ ਦਾ ਇੰਫਰਾਰੈਡ ਟ੍ਰਾਂਸਮੀਟਰ ਵਰਤਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string> - <string name="permlab_setWallpaper" msgid="6627192333373465143">"ਵਾਲਪੇਪਰ ਸੈਟ ਕਰੋ"</string> + <string name="permlab_setWallpaper" msgid="6627192333373465143">"ਵਾਲਪੇਪਰ ਸੈੱਟ ਕਰੋ"</string> <string name="permdesc_setWallpaper" msgid="7373447920977624745">"ਐਪ ਨੂੰ ਸਿਸਟਮ ਵਾਲਪੇਪਰ ਸੈਟ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string> <string name="permlab_setWallpaperHints" msgid="3278608165977736538">"ਆਪਣਾ ਵਾਲਪੇਪਰ ਆਕਾਰ ਵਿਵਸਥਿਤ ਕਰੋ"</string> <string name="permdesc_setWallpaperHints" msgid="8235784384223730091">"ਐਪ ਨੂੰ ਸਿਸਟਮ ਵਾਲਪੇਪਰ ਆਕਾਰ ਸੰਕੇਤ ਸੈਟ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string> - <string name="permlab_setTimeZone" msgid="2945079801013077340">"ਸਮਾਂ ਜ਼ੋਨ ਸੈਟ ਕਰੋ"</string> + <string name="permlab_setTimeZone" msgid="2945079801013077340">"ਸਮਾਂ ਜ਼ੋਨ ਸੈੱਟ ਕਰੋ"</string> <string name="permdesc_setTimeZone" product="tablet" msgid="1676983712315827645">"ਐਪ ਨੂੰ ਟੈਬਲੇਟ ਦਾ ਸਮਾਂ ਜ਼ੋਨ ਬਦਲਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string> <string name="permdesc_setTimeZone" product="tv" msgid="888864653946175955">"ਐਪ ਨੂੰ TV ਦਾ ਸਮਾਂ ਜ਼ੋਨ ਬਦਲਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string> <string name="permdesc_setTimeZone" product="default" msgid="4499943488436633398">"ਐਪ ਨੂੰ ਫੋਨ ਦਾ ਸਮਾਂ ਜ਼ੋਨ ਬਦਲਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string> - <string name="permlab_getAccounts" msgid="1086795467760122114">"ਡਿਵਾਈਸ ਤੇ ਖਾਤੇ ਲੱਭੋ"</string> + <string name="permlab_getAccounts" msgid="1086795467760122114">"ਡੀਵਾਈਸ ਤੇ ਖਾਤੇ ਲੱਭੋ"</string> <string name="permdesc_getAccounts" product="tablet" msgid="2741496534769660027">"ਐਪ ਨੂੰ ਟੈਬਲੇਟ ਵੱਲੋਂ ਗਿਆਤ ਖਾਤਿਆਂ ਦੀ ਸੂਚੀ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਸ ਵਿੱਚ ਤੁਹਾਡੇ ਵੱਲੋਂ ਇੰਸਟੌਲ ਕੀਤੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵੱਲੋਂ ਬਣਾਏ ਗਏ ਕੋਈ ਵੀ ਖਾਤੇ ਸ਼ਾਮਲ ਹੋ ਸਕਦੇ ਹਨ।"</string> <string name="permdesc_getAccounts" product="tv" msgid="4190633395633907543">"ਐਪ ਨੂੰ TV ਵੱਲੋਂ ਗਿਆਤ ਖਾਤਿਆਂ ਦੀ ਸੂਚੀ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਸ ਵਿੱਚ ਤੁਹਾਡੇ ਵੱਲੋਂ ਇੰਸਟੌਲ ਕੀਤੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵੱਲੋਂ ਬਣਾਏ ਗਏ ਕੋਈ ਵੀ ਖਾਤੇ ਸ਼ਾਮਲ ਹੋ ਸਕਦੇ ਹਨ।"</string> <string name="permdesc_getAccounts" product="default" msgid="3448316822451807382">"ਐਪ ਨੂੰ ਫੋਨ ਵੱਲੋਂ ਗਿਆਤ ਖਾਤਿਆਂ ਦੀ ਸੂਚੀ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਸ ਵਿੱਚ ਤੁਹਾਡੇ ਵੱਲੋਂ ਇੰਸਟੌਲ ਕੀਤੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵੱਲੋਂ ਬਣਾਏ ਗਏ ਕੋਈ ਵੀ ਖਾਤੇ ਸ਼ਾਮਲ ਹੋ ਸਕਦੇ ਹਨ।"</string> - <string name="permlab_accessNetworkState" msgid="4951027964348974773">"ਨੈਟਵਰਕ ਕਨੈਕਸ਼ਨ ਦੇਖੋ"</string> - <string name="permdesc_accessNetworkState" msgid="8318964424675960975">"ਐਪ ਨੂੰ ਨੈਟਵਰਕ ਕਨੈਕਸ਼ਨਾਂ ਬਾਰੇ ਜਾਣਕਾਰੀ ਦੇਖਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ ਜਿਵੇਂ ਕਿਹੜੇ ਨੈਟਵਰਕ ਮੌਜੂਦ ਹਨ ਅਤੇ ਕਨੈਕਟ ਕੀਤੇ ਹੋਏ ਹਨ।"</string> + <string name="permlab_accessNetworkState" msgid="4951027964348974773">"ਨੈੱਟਵਰਕ ਕਨੈਕਸ਼ਨ ਦੇਖੋ"</string> + <string name="permdesc_accessNetworkState" msgid="8318964424675960975">"ਐਪ ਨੂੰ ਨੈੱਟਵਰਕ ਕਨੈਕਸ਼ਨਾਂ ਬਾਰੇ ਜਾਣਕਾਰੀ ਦੇਖਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ ਜਿਵੇਂ ਕਿਹੜੇ ਨੈੱਟਵਰਕ ਮੌਜੂਦ ਹਨ ਅਤੇ ਕਨੈਕਟ ਕੀਤੇ ਹੋਏ ਹਨ।"</string> <string name="permlab_createNetworkSockets" msgid="7934516631384168107">"ਪੂਰੀ ਨੈੱਟਵਰਕ ਪਹੁੰਚ ਪਾਓ"</string> - <string name="permdesc_createNetworkSockets" msgid="3403062187779724185">"ਐਪ ਨੂੰ ਨੈਟਵਰਕ ਸੌਕੇਟ ਬਣਾਉਣ ਅਤੇ ਕਸਟਮ ਨੈਟਵਰਕ ਪ੍ਰੋਟੋਕੋਲ ਵਰਤਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਬ੍ਰਾਊਜ਼ਰ ਅਤੇ ਹੋਰ ਐਪਲੀਕੇਸ਼ਨਾਂ ਇੰਟਰਨੈਟ ਨੂੰ ਡਾਟਾ ਭੇਜਣ ਲਈ ਸਾਧਨ ਮੁਹੱਈਆ ਕਰਦਾ ਹੈ, ਇਸਲਈ ਇੰਟਰਨੈਟ ਡਾਟਾ ਭੇਜਣ ਲਈ ਇਹ ਅਨੁਮਤੀ ਲੁੜੀਂਦੀ ਨਹੀਂ ਹੈ।"</string> - <string name="permlab_changeNetworkState" msgid="958884291454327309">"ਨੈਟਵਰਕ ਕਨੈਕਟੀਵਿਟੀ ਬਦਲੋ"</string> - <string name="permdesc_changeNetworkState" msgid="6789123912476416214">"ਐਪ ਨੂੰ ਨੈਟਵਰਕ ਕਨੈਕਟੀਵਿਟੀ ਦੀ ਸਥਿਤੀ ਬਦਲਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string> + <string name="permdesc_createNetworkSockets" msgid="3403062187779724185">"ਐਪ ਨੂੰ ਨੈੱਟਵਰਕ ਸੌਕੇਟ ਬਣਾਉਣ ਅਤੇ ਕਸਟਮ ਨੈੱਟਵਰਕ ਪ੍ਰੋਟੋਕੋਲ ਵਰਤਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਬ੍ਰਾਊਜ਼ਰ ਅਤੇ ਹੋਰ ਐਪਲੀਕੇਸ਼ਨਾਂ ਇੰਟਰਨੈਟ ਨੂੰ ਡੈਟਾ ਭੇਜਣ ਲਈ ਸਾਧਨ ਮੁਹੱਈਆ ਕਰਦਾ ਹੈ, ਇਸਲਈ ਇੰਟਰਨੈਟ ਡੈਟਾ ਭੇਜਣ ਲਈ ਇਹ ਅਨੁਮਤੀ ਲੁੜੀਂਦੀ ਨਹੀਂ ਹੈ।"</string> + <string name="permlab_changeNetworkState" msgid="958884291454327309">"ਨੈੱਟਵਰਕ ਕਨੈਕਟੀਵਿਟੀ ਬਦਲੋ"</string> + <string name="permdesc_changeNetworkState" msgid="6789123912476416214">"ਐਪ ਨੂੰ ਨੈੱਟਵਰਕ ਕਨੈਕਟੀਵਿਟੀ ਦੀ ਸਥਿਤੀ ਬਦਲਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string> <string name="permlab_changeTetherState" msgid="5952584964373017960">"ਟੀਥਰ ਕੀਤੀ ਕਨੈਕਟੀਵਿਟੀ ਬਦਲੋ"</string> - <string name="permdesc_changeTetherState" msgid="1524441344412319780">"ਐਪ ਨੂੰ ਟੀਥਰ ਕੀਤੀ ਨੈਟਵਰਕ ਕਨੈਕਟੀਵਿਟੀ ਦੀ ਸਥਿਤੀ ਬਦਲਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string> + <string name="permdesc_changeTetherState" msgid="1524441344412319780">"ਐਪ ਨੂੰ ਟੀਥਰ ਕੀਤੀ ਨੈੱਟਵਰਕ ਕਨੈਕਟੀਵਿਟੀ ਦੀ ਸਥਿਤੀ ਬਦਲਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string> <string name="permlab_accessWifiState" msgid="5202012949247040011">"Wi-Fi ਕਨੈਕਸ਼ਨ ਦੇਖੋ"</string> <string name="permdesc_accessWifiState" msgid="5002798077387803726">"ਐਪ ਨੂੰ Wi-Fi ਨੈਟਵਰਕਿੰਗ ਬਾਰੇ ਜਾਣਕਾਰੀ ਦੇਖਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਜਿਵੇਂ Wi-Fi ਸਮਰਥਿਤ ਹੈ ਜਾਂ ਨਹੀਂ ਅਤੇ ਕਨੈਕਟ ਕੀਤੀਆਂ Wi-Fi ਡਿਵਾਈਸਾਂ ਦਾ ਨਾਮ।"</string> <string name="permlab_changeWifiState" msgid="6550641188749128035">"Wi-Fi ਤੋਂ ਕਨੈਕਟ ਅਤੇ ਡਿਸਕਨੈਕਟ ਕਰੋ"</string> - <string name="permdesc_changeWifiState" msgid="7137950297386127533">"ਐਪ ਨੂੰ Wi-Fi ਪਹੁੰਚ ਬਿੰਦੂਆਂ ਤੇ ਕਨੈਕਟ ਅਤੇ ਇਹਨਾਂ ਤੋਂ ਡਿਸਕਨੈਕਟ ਕਰਨ ਅਤੇ Wi-Fi ਨੈਟਵਰਕਾਂ ਲਈ ਡਿਵਾਈਸ ਕੌਂਫਿਗਰੇਸ਼ਨ ਵਿੱਚ ਬਦਲਾਵ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string> + <string name="permdesc_changeWifiState" msgid="7137950297386127533">"ਐਪ ਨੂੰ Wi-Fi ਪਹੁੰਚ ਬਿੰਦੂਆਂ ਤੇ ਕਨੈਕਟ ਅਤੇ ਇਹਨਾਂ ਤੋਂ ਡਿਸਕਨੈਕਟ ਕਰਨ ਅਤੇ Wi-Fi ਨੈਟਵਰਕਾਂ ਲਈ ਡੀਵਾਈਸ ਕੌਂਫਿਗਰੇਸ਼ਨ ਵਿੱਚ ਬਦਲਾਵ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string> <string name="permlab_changeWifiMulticastState" msgid="1368253871483254784">"Wi-Fi ਮਲਟੀਕਾਸਟ ਰਿਸੈਪਸ਼ਨ ਦੀ ਆਗਿਆ ਦਿਓ"</string> - <string name="permdesc_changeWifiMulticastState" product="tablet" msgid="7969774021256336548">"ਐਪ ਨੂੰ ਮਲਟੀਕਾਸਟ ਪਤੇ ਵਰਤਦੇ ਹੋਏ ਇੱਕ Wi-Fi ਨੈਟਵਰਕ ਤੇ ਸਾਰੀਆਂ ਡਿਵਾਈਸਾਂ ਤੇ ਭੇਜੇ ਗਏ ਪੈਕੇਟ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਕੇਵਲ ਤੁਹਾਡੀ ਟੈਬਲੇਟ ਨਹੀਂ। ਇਹ ਗ਼ੈਰ-ਮਲਟੀਕਾਸਟ ਮੋਡ ਦੇ ਮੁਕਾਬਲੇ ਵੱਧ ਪਾਵਰ ਵਰਤਦਾ ਹੈ।"</string> - <string name="permdesc_changeWifiMulticastState" product="tv" msgid="9031975661145014160">"ਐਪ ਨੂੰ ਮਲਟੀਕਾਸਟ ਪਤੇ ਵਰਤਦੇ ਹੋਏ ਇੱਕ Wi-Fi ਨੈਟਵਰਕ ਤੇ ਸਾਰੀਆਂ ਡਿਵਾਈਸਾਂ ਤੇ ਭੇਜੇ ਗਏ ਪੈਕੇਟ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਕੇਵਲ ਤੁਹਾਡਾ TV ਨਹੀਂ। ਇਹ ਗ਼ੈਰ-ਮਲਟੀਕਾਸਟ ਮੋਡ ਦੇ ਮੁਕਾਬਲੇ ਵੱਧ ਪਾਵਰ ਵਰਤਦਾ ਹੈ।"</string> - <string name="permdesc_changeWifiMulticastState" product="default" msgid="6851949706025349926">"ਐਪ ਨੂੰ ਮਲਟੀਕਾਸਟ ਪਤੇ, ਵਰਤਦੇ ਹੋਏ ਇੱਕ Wi-Fi ਨੈਟਵਰਕ ਤੇ ਸਾਰੀਆਂ ਡਿਵਾਈਸਾਂ ਤੇ ਭੇਜੇ ਗਏ ਪੈਕੇਟ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਕੇਵਲ ਤੁਹਾਡਾ ਫੋਨ ਨਹੀਂ। ਇਹ ਗ਼ੈਰ-ਮਲਟੀਕਾਸਟ ਮੋਡ ਦੇ ਮੁਕਾਬਲੇ ਵੱਧ ਪਾਵਰ ਵਰਤਦਾ ਹੈ।"</string> + <string name="permdesc_changeWifiMulticastState" product="tablet" msgid="7969774021256336548">"ਐਪ ਨੂੰ ਮਲਟੀਕਾਸਟ ਪਤੇ ਵਰਤਦੇ ਹੋਏ ਇੱਕ Wi-Fi ਨੈੱਟਵਰਕ ਤੇ ਸਾਰੀਆਂ ਡਿਵਾਈਸਾਂ ਤੇ ਭੇਜੇ ਗਏ ਪੈਕੇਟ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਕੇਵਲ ਤੁਹਾਡੀ ਟੈਬਲੇਟ ਨਹੀਂ। ਇਹ ਗ਼ੈਰ-ਮਲਟੀਕਾਸਟ ਮੋਡ ਦੇ ਮੁਕਾਬਲੇ ਵੱਧ ਪਾਵਰ ਵਰਤਦਾ ਹੈ।"</string> + <string name="permdesc_changeWifiMulticastState" product="tv" msgid="9031975661145014160">"ਐਪ ਨੂੰ ਮਲਟੀਕਾਸਟ ਪਤੇ ਵਰਤਦੇ ਹੋਏ ਇੱਕ Wi-Fi ਨੈੱਟਵਰਕ ਤੇ ਸਾਰੀਆਂ ਡਿਵਾਈਸਾਂ ਤੇ ਭੇਜੇ ਗਏ ਪੈਕੇਟ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਕੇਵਲ ਤੁਹਾਡਾ TV ਨਹੀਂ। ਇਹ ਗ਼ੈਰ-ਮਲਟੀਕਾਸਟ ਮੋਡ ਦੇ ਮੁਕਾਬਲੇ ਵੱਧ ਪਾਵਰ ਵਰਤਦਾ ਹੈ।"</string> + <string name="permdesc_changeWifiMulticastState" product="default" msgid="6851949706025349926">"ਐਪ ਨੂੰ ਮਲਟੀਕਾਸਟ ਪਤੇ, ਵਰਤਦੇ ਹੋਏ ਇੱਕ Wi-Fi ਨੈੱਟਵਰਕ ਤੇ ਸਾਰੀਆਂ ਡਿਵਾਈਸਾਂ ਤੇ ਭੇਜੇ ਗਏ ਪੈਕੇਟ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਕੇਵਲ ਤੁਹਾਡਾ ਫੋਨ ਨਹੀਂ। ਇਹ ਗ਼ੈਰ-ਮਲਟੀਕਾਸਟ ਮੋਡ ਦੇ ਮੁਕਾਬਲੇ ਵੱਧ ਪਾਵਰ ਵਰਤਦਾ ਹੈ।"</string> <string name="permlab_bluetoothAdmin" msgid="6006967373935926659">"Bluetooth ਸੈਟਿੰਗਾਂ ਤੱਕ ਪਹੁੰਚ"</string> <string name="permdesc_bluetoothAdmin" product="tablet" msgid="6921177471748882137">"ਐਪ ਨੂੰ ਸਥਾਨਕ Bluetooth ਟੈਬਲੇਟ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨ ਅਤੇ ਰਿਮੋਟ ਡਿਵਾਈਸਾਂ ਨੂੰ ਖੋਜਣ ਅਤੇ ਉਹਨਾਂ ਨਾਲ ਪੇਅਰ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string> <string name="permdesc_bluetoothAdmin" product="tv" msgid="3373125682645601429">"ਐਪ ਨੂੰ ਸਥਾਨਕ Bluetooth TV ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨ ਅਤੇ ਰਿਮੋਟ ਡਿਵਾਈਸਾਂ ਨੂੰ ਖੋਜਣ ਅਤੇ ਉਹਨਾਂ ਨਾਲ ਪੇਅਰ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string> @@ -458,7 +458,7 @@ <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"ਸਿੰਕ ਟੌਗਲ ਚਾਲੂ ਅਤੇ ਬੰਦ"</string> <string name="permdesc_writeSyncSettings" msgid="8956262591306369868">"ਐਪ ਨੂੰ ਇੱਕ ਖਾਤੇ ਲਈ ਸਿੰਕ ਸੈਟਿੰਗਾਂ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਉਦਾਹਰਨ ਲਈ, ਇਸਦੀ ਵਰਤੋਂ ਇੱਕ ਖਾਤੇ ਨਾਲ People ਐਪ ਦਾ ਸਿੰਕ ਸਮਰੱਥ ਬਣਾਉਣ ਲਈ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ।"</string> <string name="permlab_readSyncStats" msgid="7396577451360202448">"ਸਿੰਕ ਅੰਕੜੇ ਪੜ੍ਹੋ"</string> - <string name="permdesc_readSyncStats" msgid="1510143761757606156">"ਐਪ ਨੂੰ ਇੱਕ ਖਾਤੇ ਲਈ ਸਿੰਕ ਸਟੇਟਸ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਸਿੰਕ ਇਵੈਂਟਾਂ ਦੇ ਇਤਿਹਾਸ ਅਤੇ ਕਿੰਨਾ ਡਾਟਾ ਸਿੰਕ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਸਮੇਤ।"</string> + <string name="permdesc_readSyncStats" msgid="1510143761757606156">"ਐਪ ਨੂੰ ਇੱਕ ਖਾਤੇ ਲਈ ਸਿੰਕ ਸਟੇਟਸ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਸਿੰਕ ਇਵੈਂਟਾਂ ਦੇ ਇਤਿਹਾਸ ਅਤੇ ਕਿੰਨਾ ਡੈਟਾ ਸਿੰਕ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਸਮੇਤ।"</string> <string name="permlab_sdcardRead" product="nosdcard" msgid="367275095159405468">"ਆਪਣੀ USB ਸਟੋਰੇਜ ਦੀਆਂ ਸਮੱਗਰੀਆਂ ਪੜ੍ਹੋ"</string> <string name="permlab_sdcardRead" product="default" msgid="2188156462934977940">"ਆਪਣੇ SD ਕਾਰਡ ਦੀਆਂ ਸਮੱਗਰੀਆਂ ਪੜ੍ਹੋ"</string> <string name="permdesc_sdcardRead" product="nosdcard" msgid="3446988712598386079">"ਐਪ ਨੂੰ ਆਪਣੀ USB ਸਟੋਰੇਜ ਦੀਆਂ ਸਮੱਗਰੀਆਂ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string> @@ -481,12 +481,12 @@ <string name="permdesc_bind_connection_service" msgid="4008754499822478114">"ਐਨ ਨੂੰ ਕਾਲਾਂ ਕਰਨ/ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਟੈਲੀਫੋਨੀ ਸੇਵਾਵਾਂ ਨਾਲ ਇੰਟਰੈਕਟ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string> <string name="permlab_control_incall_experience" msgid="9061024437607777619">"ਇੱਕ ਇਨ-ਕਾਲ ਉਪਭੋਗਤਾ ਅਨੁਭਵ ਮੁਹੱਈਆ ਕਰੋ"</string> <string name="permdesc_control_incall_experience" msgid="915159066039828124">"ਐਪ ਨੂੰ ਇੱਕ ਇਨ-ਕਾਲ ਉਪਭੋਗਤਾ ਅਨੁਭਵ ਮੁਹੱਈਆ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string> - <string name="permlab_readNetworkUsageHistory" msgid="7862593283611493232">"ਇਤਿਹਾਸਕ ਨੈਟਵਰਕ ਵਰਤੋਂ ਪੜ੍ਹੋ"</string> - <string name="permdesc_readNetworkUsageHistory" msgid="7689060749819126472">"ਐਪ ਨੂੰ ਖ਼ਾਸ ਨੈਟਵਰਕਾਂ ਅਤੇ ਐਪਸ ਲਈ ਇਤਿਹਾਸਕ ਨੈਟਵਰਕ ਵਰਤੋਂ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string> - <string name="permlab_manageNetworkPolicy" msgid="2562053592339859990">"ਨੈਟਵਰਕ ਨੀਤੀ ਵਿਵਸਥਿਤ ਕਰੋ"</string> - <string name="permdesc_manageNetworkPolicy" msgid="7537586771559370668">"ਐਪ ਨੂੰ ਨੈਟਵਰਕ ਨੀਤੀਆਂ ਵਿਵਸਥਿਤ ਕਰਨ ਅਤੇ ਐਪ-ਵਿਸ਼ੇਸ਼ ਨਿਯਮਾਂ ਨੂੰ ਨਿਰਧਾਰਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string> - <string name="permlab_modifyNetworkAccounting" msgid="5088217309088729650">"ਨੈਟਵਰਕ ਵਰਤੋਂ ਅਕਾਊਂਟਿੰਗ ਸੰਸ਼ੋਧਿਤ ਕਰੋ"</string> - <string name="permdesc_modifyNetworkAccounting" msgid="5443412866746198123">"ਐਪ ਨੂੰ ਐਪਸ ਦੇ ਵਿਪਰੀਤ ਨੈਟਵਰਕ ਵਰਤੋਂ ਦਾ ਹਿਸਾਬ ਲਗਾਉਣ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਸਧਾਰਨ ਐਪਸ ਵੱਲੋਂ ਵਰਤੋਂ ਲਈ ਨਹੀਂ।"</string> + <string name="permlab_readNetworkUsageHistory" msgid="7862593283611493232">"ਇਤਿਹਾਸਕ ਨੈੱਟਵਰਕ ਵਰਤੋਂ ਪੜ੍ਹੋ"</string> + <string name="permdesc_readNetworkUsageHistory" msgid="7689060749819126472">"ਐਪ ਨੂੰ ਖ਼ਾਸ ਨੈੱਟਵਰਕਾਂ ਅਤੇ ਐਪਸ ਲਈ ਇਤਿਹਾਸਕ ਨੈੱਟਵਰਕ ਵਰਤੋਂ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string> + <string name="permlab_manageNetworkPolicy" msgid="2562053592339859990">"ਨੈੱਟਵਰਕ ਨੀਤੀ ਵਿਵਸਥਿਤ ਕਰੋ"</string> + <string name="permdesc_manageNetworkPolicy" msgid="7537586771559370668">"ਐਪ ਨੂੰ ਨੈੱਟਵਰਕ ਨੀਤੀਆਂ ਵਿਵਸਥਿਤ ਕਰਨ ਅਤੇ ਐਪ-ਵਿਸ਼ੇਸ਼ ਨਿਯਮਾਂ ਨੂੰ ਨਿਰਧਾਰਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string> + <string name="permlab_modifyNetworkAccounting" msgid="5088217309088729650">"ਨੈੱਟਵਰਕ ਵਰਤੋਂ ਅਕਾਊਂਟਿੰਗ ਸੰਸ਼ੋਧਿਤ ਕਰੋ"</string> + <string name="permdesc_modifyNetworkAccounting" msgid="5443412866746198123">"ਐਪ ਨੂੰ ਐਪਸ ਦੇ ਵਿਪਰੀਤ ਨੈੱਟਵਰਕ ਵਰਤੋਂ ਦਾ ਹਿਸਾਬ ਲਗਾਉਣ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਸਧਾਰਨ ਐਪਸ ਵੱਲੋਂ ਵਰਤੋਂ ਲਈ ਨਹੀਂ।"</string> <string name="permlab_accessNotifications" msgid="7673416487873432268">"ਪਹੁੰਚ ਸੂਚਨਾਵਾਂ"</string> <string name="permdesc_accessNotifications" msgid="458457742683431387">"ਐਪ ਨੂੰ ਸੂਚਨਾਵਾਂ ਨੂੰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ, ਜਾਂਚ ਕਰਨ ਅਤੇ ਹਟਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਹੋਰਾਂ ਐਪਸ ਵੱਲੋਂ ਪੋਸਟ ਕੀਤੀਆਂ ਸਮੇਤ।"</string> <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"ਇੱਕ ਸੂਚਨਾ ਸੁਣਨ ਵਾਲੀ ਸੇਵਾ ਨਾਲ ਜੋੜੋ"</string> @@ -497,9 +497,9 @@ <string name="permdesc_bindDreamService" msgid="7325825272223347863">"ਹੋਲਡਰ ਨੂੰ ਇੱਕ ਡ੍ਰੀਮ ਸੇਵਾ ਦੇ ਉੱਚ-ਪੱਧਰ ਦੇ ਇੰਟਰਫੇਸ ਨਾਲ ਜੋੜਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਸਧਾਰਨ ਐਪਸ ਲਈ ਕਦੇ ਵੀ ਲੁੜੀਂਦਾ ਨਹੀਂ ਹੋਵੇਗਾ।"</string> <string name="permlab_invokeCarrierSetup" msgid="3699600833975117478">"ਕੈਰੀਅਰ-ਵੱਲੋਂ ਮੁਹੱਈਆ ਕੀਤੇ ਕੌਂਫਿਗਰੇਸ਼ਨ ਐਪ ਦੀ ਬੇਨਤੀ ਕਰੋ"</string> <string name="permdesc_invokeCarrierSetup" msgid="4159549152529111920">"ਹੋਲਡਰ ਨੂੰ ਕੈਰੀਅਰ-ਵੱਲੋਂ ਮੁਹੱਈਆ ਕੀਤੇ ਕੌਂਫਿਗਰੇਸ਼ਨ ਐਪ ਦੀ ਬੇਨਤੀ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਸਧਾਰਨ ਐਪਸ ਲਈ ਕਦੇ ਵੀ ਲੁੜੀਂਦਾ ਨਹੀਂ ਹੋਵੇਗਾ।"</string> - <string name="permlab_accessNetworkConditions" msgid="8206077447838909516">"ਨੈਟਵਰਕ ਸਥਿਤੀਆਂ ਤੇ ਟਿੱਪਣੀਆਂ ਸੁਣੋ"</string> - <string name="permdesc_accessNetworkConditions" msgid="6899102075825272211">"ਇੱਕ ਐਪਲੀਸ਼ਨ ਨੂੰ ਨੈਟਵਰਕ ਸਥਿਤੀਆਂ ਤੇ ਟਿੱਪਣੀਆਂ ਸੁਣਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਸਧਾਰਨ ਐਪਸ ਲਈ ਕਦੇ ਵੀ ਲੁੜੀਂਦਾ ਨਹੀਂ ਹੋਵੇਗਾ।"</string> - <string name="permlab_setInputCalibration" msgid="4902620118878467615">"ਇਨਪੁਟ ਡਿਵਾਈਸ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਬਦਲੋ"</string> + <string name="permlab_accessNetworkConditions" msgid="8206077447838909516">"ਨੈੱਟਵਰਕ ਸਥਿਤੀਆਂ ਤੇ ਟਿੱਪਣੀਆਂ ਸੁਣੋ"</string> + <string name="permdesc_accessNetworkConditions" msgid="6899102075825272211">"ਇੱਕ ਐਪਲੀਸ਼ਨ ਨੂੰ ਨੈੱਟਵਰਕ ਸਥਿਤੀਆਂ ਤੇ ਟਿੱਪਣੀਆਂ ਸੁਣਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਸਧਾਰਨ ਐਪਸ ਲਈ ਕਦੇ ਵੀ ਲੁੜੀਂਦਾ ਨਹੀਂ ਹੋਵੇਗਾ।"</string> + <string name="permlab_setInputCalibration" msgid="4902620118878467615">"ਇਨਪੁਟ ਡੀਵਾਈਸ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਬਦਲੋ"</string> <string name="permdesc_setInputCalibration" msgid="4527511047549456929">"ਐਪ ਨੂੰ ਟਚ ਸਕ੍ਰੀਨ ਦੇ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਪੈਰਾਮੀਟਰਾਂ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਸਧਾਰਨ ਐਪਸ ਲਈ ਕਦੇ ਵੀ ਲੁੜੀਂਦਾ ਨਹੀਂ ਹੋਵੇਗਾ।"</string> <string name="permlab_accessDrmCertificates" msgid="7436886640723203615">"DRM ਸਰਟੀਫਿਕੇਟਾਂ ਤੱਕ ਪਹੁੰਚ"</string> <string name="permdesc_accessDrmCertificates" msgid="8073288354426159089">"ਇੱਕ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਵਿਵਸਥਾ ਕਰਨ ਅਤੇ DRM ਸਰਟੀਫਿਕੇਟ ਵਰਤਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਸਧਾਰਨ ਐਪਸ ਲਈ ਕਦੇ ਵੀ ਲੁੜੀਂਦਾ ਨਹੀਂ ਹੋਵੇਗਾ।"</string> @@ -513,35 +513,35 @@ <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"ਹੋਲਡਰ ਨੂੰ ਕੈਰੀਅਰ ਸੇਵਾਵਾਂ ਨਾਲ ਜੋੜਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਸਧਾਰਨ ਐਪਸ ਲਈ ਕਦੇ ਵੀ ਲੁੜੀਂਦਾ ਨਹੀਂ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।"</string> <string name="permlab_access_notification_policy" msgid="4247510821662059671">"ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ ਤੱਕ ਪਹੁੰਚ ਪ੍ਰਾਪਤ ਕਰੋ"</string> <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"ਐਪ ਨੂੰ ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ ਕੌਂਫਿਗਰੇਸ਼ਨ ਨੂੰ ਪੜ੍ਹਨ ਅਤੇ ਲਿਖਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string> - <string name="policylab_limitPassword" msgid="4497420728857585791">"ਪਾਸਵਰਡ ਨਿਯਮ ਸੈਟ ਕਰੋ"</string> + <string name="policylab_limitPassword" msgid="4497420728857585791">"ਪਾਸਵਰਡ ਨਿਯਮ ਸੈੱਟ ਕਰੋ"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"ਸਕ੍ਰੀਨ ਲੌਕ ਪਾਸਵਰਡਾਂ ਅਤੇ PIN ਵਿੱਚ ਆਗਿਆ ਦਿੱਤੀ ਲੰਮਾਈ ਅਤੇ ਅੱਖਰਾਂ ਤੇ ਨਿਯੰਤਰਣ ਪਾਓ।"</string> <string name="policylab_watchLogin" msgid="914130646942199503">"ਸਕ੍ਰੀਨ-ਅਨਲੌਕ ਸੈਟਿੰਗਾਂ ਦਾ ਨਿਰੀਖਣ ਕਰੋ"</string> - <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"ਸਕ੍ਰੀਨ ਨੂੰ ਅਨਲੌਕ ਕਰਦੇ ਸਮੇਂ ਟਾਈਪ ਕੀਤੇ ਗ਼ਲਤ ਪਾਸਵਰਡਾਂ ਦੀ ਸੰਖਿਆ ਦਾ ਨਿਰੀਖਣ ਕਰੋ ਅਤੇ ਟੈਬਲੇਟ ਨੂੰ ਲੌਕ ਕਰੋ ਜਾਂ ਟੈਬਲੇਟ ਦਾ ਸਾਰਾ ਡਾਟਾ ਮਿਟਾਓ ਜੇਕਰ ਬਹੁਤ ਜ਼ਿਆਦਾ ਗ਼ਲਤ ਪਾਸਵਰਡ ਟਾਈਪ ਕੀਤੇ ਹਨ।"</string> - <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"ਸਕ੍ਰੀਨ ਨੂੰ ਅਨਲੌਕ ਕਰਦੇ ਸਮੇਂ ਟਾਈਪ ਕੀਤੇ ਗ਼ਲਤ ਪਾਸਵਰਡਾਂ ਦੀ ਸੰਖਿਆ ਦਾ ਨਿਰੀਖਣ ਕਰੋ ਅਤੇ TV ਨੂੰ ਲੌਕ ਕਰੋ ਜਾਂ TV ਦਾ ਸਾਰਾ ਡਾਟਾ ਮਿਟਾਓ ਜੇਕਰ ਬਹੁਤ ਜ਼ਿਆਦਾ ਗ਼ਲਤ ਪਾਸਵਰਡ ਟਾਈਪ ਕੀਤੇ ਹਨ।"</string> - <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"ਸਕ੍ਰੀਨ ਨੂੰ ਅਨਲੌਕ ਕਰਦੇ ਸਮੇਂ ਟਾਈਪ ਕੀਤੇ ਗ਼ਲਤ ਪਾਸਵਰਡਾਂ ਦੀ ਸੰਖਿਆ ਦਾ ਨਿਰੀਖਣ ਕਰੋ ਅਤੇ ਫੋਨ ਨੂੰ ਲੌਕ ਕਰੋ ਜਾਂ ਫੋਨ ਦਾ ਸਾਰਾ ਡਾਟਾ ਮਿਟਾਓ ਜੇਕਰ ਬਹੁਤ ਜ਼ਿਆਦਾ ਗ਼ਲਤ ਪਾਸਵਰਡ ਟਾਈਪ ਕੀਤੇ ਹਨ।"</string> - <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"ਸਕ੍ਰੀਨ ਨੂੰ ਅਨਲੌਕ ਕਰਦੇ ਸਮੇਂ ਟਾਈਪ ਕੀਤੇ ਗ਼ਲਤ ਪਾਸਵਰਡਾਂ ਦੀ ਸੰਖਿਆ ਦਾ ਨਿਰੀਖਣ ਕਰੋ ਅਤੇ ਟੈਬਲੇਟ ਨੂੰ ਲੌਕ ਕਰੋ ਜਾਂ ਟੈਬਲੇਟ ਦਾ ਸਾਰਾ ਡਾਟਾ ਮਿਟਾਓ ਜੇਕਰ ਬਹੁਤ ਜ਼ਿਆਦਾ ਗ਼ਲਤ ਪਾਸਵਰਡ ਟਾਈਪ ਕੀਤੇ ਹਨ।"</string> - <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"ਸਕ੍ਰੀਨ ਨੂੰ ਅਨਲੌਕ ਕਰਦੇ ਸਮੇਂ ਟਾਈਪ ਕੀਤੇ ਗ਼ਲਤ ਪਾਸਵਰਡਾਂ ਦੀ ਸੰਖਿਆ ਦਾ ਨਿਰੀਖਣ ਕਰੋ ਅਤੇ TV ਨੂੰ ਲੌਕ ਕਰੋ ਜਾਂ TV ਦਾ ਸਾਰਾ ਡਾਟਾ ਮਿਟਾਓ ਜੇਕਰ ਬਹੁਤ ਜ਼ਿਆਦਾ ਗ਼ਲਤ ਪਾਸਵਰਡ ਟਾਈਪ ਕੀਤੇ ਹਨ।"</string> - <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"ਸਕ੍ਰੀਨ ਨੂੰ ਅਨਲੌਕ ਕਰਦੇ ਸਮੇਂ ਟਾਈਪ ਕੀਤੇ ਗ਼ਲਤ ਪਾਸਵਰਡਾਂ ਦੀ ਸੰਖਿਆ ਦਾ ਨਿਰੀਖਣ ਕਰੋ ਅਤੇ ਫੋਨ ਨੂੰ ਲੌਕ ਕਰੋ ਜਾਂ ਫੋਨ ਦਾ ਸਾਰਾ ਡਾਟਾ ਮਿਟਾਓ ਜੇਕਰ ਬਹੁਤ ਜ਼ਿਆਦਾ ਗ਼ਲਤ ਪਾਸਵਰਡ ਟਾਈਪ ਕੀਤੇ ਹਨ।"</string> + <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"ਸਕ੍ਰੀਨ ਨੂੰ ਅਨਲੌਕ ਕਰਦੇ ਸਮੇਂ ਟਾਈਪ ਕੀਤੇ ਗ਼ਲਤ ਪਾਸਵਰਡਾਂ ਦੀ ਸੰਖਿਆ ਦਾ ਨਿਰੀਖਣ ਕਰੋ ਅਤੇ ਟੈਬਲੇਟ ਨੂੰ ਲੌਕ ਕਰੋ ਜਾਂ ਟੈਬਲੇਟ ਦਾ ਸਾਰਾ ਡੈਟਾ ਮਿਟਾਓ ਜੇਕਰ ਬਹੁਤ ਜ਼ਿਆਦਾ ਗ਼ਲਤ ਪਾਸਵਰਡ ਟਾਈਪ ਕੀਤੇ ਹਨ।"</string> + <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"ਸਕ੍ਰੀਨ ਨੂੰ ਅਨਲੌਕ ਕਰਦੇ ਸਮੇਂ ਟਾਈਪ ਕੀਤੇ ਗ਼ਲਤ ਪਾਸਵਰਡਾਂ ਦੀ ਸੰਖਿਆ ਦਾ ਨਿਰੀਖਣ ਕਰੋ ਅਤੇ TV ਨੂੰ ਲੌਕ ਕਰੋ ਜਾਂ TV ਦਾ ਸਾਰਾ ਡੈਟਾ ਮਿਟਾਓ ਜੇਕਰ ਬਹੁਤ ਜ਼ਿਆਦਾ ਗ਼ਲਤ ਪਾਸਵਰਡ ਟਾਈਪ ਕੀਤੇ ਹਨ।"</string> + <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"ਸਕ੍ਰੀਨ ਨੂੰ ਅਨਲੌਕ ਕਰਦੇ ਸਮੇਂ ਟਾਈਪ ਕੀਤੇ ਗ਼ਲਤ ਪਾਸਵਰਡਾਂ ਦੀ ਸੰਖਿਆ ਦਾ ਨਿਰੀਖਣ ਕਰੋ ਅਤੇ ਫੋਨ ਨੂੰ ਲੌਕ ਕਰੋ ਜਾਂ ਫੋਨ ਦਾ ਸਾਰਾ ਡੈਟਾ ਮਿਟਾਓ ਜੇਕਰ ਬਹੁਤ ਜ਼ਿਆਦਾ ਗ਼ਲਤ ਪਾਸਵਰਡ ਟਾਈਪ ਕੀਤੇ ਹਨ।"</string> + <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"ਸਕ੍ਰੀਨ ਨੂੰ ਅਨਲੌਕ ਕਰਦੇ ਸਮੇਂ ਟਾਈਪ ਕੀਤੇ ਗ਼ਲਤ ਪਾਸਵਰਡਾਂ ਦੀ ਸੰਖਿਆ ਦਾ ਨਿਰੀਖਣ ਕਰੋ ਅਤੇ ਟੈਬਲੇਟ ਨੂੰ ਲੌਕ ਕਰੋ ਜਾਂ ਟੈਬਲੇਟ ਦਾ ਸਾਰਾ ਡੈਟਾ ਮਿਟਾਓ ਜੇਕਰ ਬਹੁਤ ਜ਼ਿਆਦਾ ਗ਼ਲਤ ਪਾਸਵਰਡ ਟਾਈਪ ਕੀਤੇ ਹਨ।"</string> + <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"ਸਕ੍ਰੀਨ ਨੂੰ ਅਨਲੌਕ ਕਰਦੇ ਸਮੇਂ ਟਾਈਪ ਕੀਤੇ ਗ਼ਲਤ ਪਾਸਵਰਡਾਂ ਦੀ ਸੰਖਿਆ ਦਾ ਨਿਰੀਖਣ ਕਰੋ ਅਤੇ TV ਨੂੰ ਲੌਕ ਕਰੋ ਜਾਂ TV ਦਾ ਸਾਰਾ ਡੈਟਾ ਮਿਟਾਓ ਜੇਕਰ ਬਹੁਤ ਜ਼ਿਆਦਾ ਗ਼ਲਤ ਪਾਸਵਰਡ ਟਾਈਪ ਕੀਤੇ ਹਨ।"</string> + <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"ਸਕ੍ਰੀਨ ਨੂੰ ਅਨਲੌਕ ਕਰਦੇ ਸਮੇਂ ਟਾਈਪ ਕੀਤੇ ਗ਼ਲਤ ਪਾਸਵਰਡਾਂ ਦੀ ਸੰਖਿਆ ਦਾ ਨਿਰੀਖਣ ਕਰੋ ਅਤੇ ਫੋਨ ਨੂੰ ਲੌਕ ਕਰੋ ਜਾਂ ਫੋਨ ਦਾ ਸਾਰਾ ਡੈਟਾ ਮਿਟਾਓ ਜੇਕਰ ਬਹੁਤ ਜ਼ਿਆਦਾ ਗ਼ਲਤ ਪਾਸਵਰਡ ਟਾਈਪ ਕੀਤੇ ਹਨ।"</string> <string name="policylab_resetPassword" msgid="4934707632423915395">"ਸਕ੍ਰੀਨ ਲੌਕ ਬਦਲੋ"</string> <string name="policydesc_resetPassword" msgid="1278323891710619128">"ਸਕ੍ਰੀਨ ਲੌਕ ਬਦਲੋ।"</string> <string name="policylab_forceLock" msgid="2274085384704248431">"ਸਕ੍ਰੀਨ ਲੌਕ ਕਰੋ"</string> <string name="policydesc_forceLock" msgid="1141797588403827138">"ਇਸਤੇ ਨਿਯੰਤਰਣ ਪਾਓ ਕਿ ਸਕ੍ਰਿਨ ਕਿਵੇਂ ਅਤੇ ਕਦੋਂ ਲੌਕ ਹੁੰਦੀ ਹੈ।"</string> - <string name="policylab_wipeData" msgid="3910545446758639713">"ਸਾਰਾ ਡਾਟਾ ਮਿਟਾਓ"</string> - <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"ਇੱਕ ਫੈਕਟਰੀ ਡਾਟਾ ਰੀਸੈਟ ਕਰਕੇ ਚਿਤਾਵਨੀ ਤੋਂ ਬਿਨਾਂ ਟੈਬਲੇਟ ਦਾ ਡਾਟਾ ਮਿਟਾਓ।"</string> - <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"ਇੱਕ ਫੈਕਟਰੀ ਡਾਟਾ ਰੀਸੈਟ ਕਰਕੇ ਚਿਤਾਵਨੀ ਤੋਂ ਬਿਨਾਂ TV ਦਾ ਡਾਟਾ ਮਿਟਾਓ।"</string> - <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"ਇੱਕ ਫੈਕਟਰੀ ਡਾਟਾ ਰੀਸੈਟ ਕਰਕੇ ਚਿਤਾਵਨੀ ਤੋਂ ਬਿਨਾਂ ਫੋਨ ਦਾ ਡਾਟਾ ਮਿਟਾਓ।"</string> - <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"ਉਪਭੋਗਤਾ ਡਾਟਾ ਮਿਟਾਓ"</string> - <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"ਬਿਨਾਂ ਚਿਤਾਵਨੀ ਦੇ ਇਸ ਟੈਬਲੇਟ ਤੇ ਮੌਜੂਦ ਇਸ ਉਪਭੋਗਤਾ ਦਾ ਸਾਰਾ ਡਾਟਾ ਮਿਟਾਓ।"</string> - <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"ਬਿਨਾਂ ਚਿਤਾਵਨੀ ਦੇ ਇਸ TV ਤੇ ਮੌਜੂਦ ਇਸ ਉਪਭੋਗਤਾ ਦਾ ਸਾਰਾ ਡਾਟਾ ਮਿਟਾਓ।"</string> - <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"ਬਿਨਾਂ ਚਿਤਾਵਨੀ ਦੇ ਇਸ ਫੋਨ ਤੇ ਮੌਜੂਦ ਇਸ ਉਪਭੋਗਤਾ ਦਾ ਸਾਰਾ ਡਾਟਾ ਮਿਟਾਓ।"</string> - <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"ਡਿਵਾਈਸ ਗਲੋਬਲ ਪ੍ਰੌਕਸੀ ਸੈਟ ਕਰੋ"</string> - <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"ਜਦੋਂ ਪਾੱਲਿਸੀ ਸਮਰਥਿਤ ਹੋਵੇ ਤਾਂ ਵਰਤੇ ਜਾਣ ਲਈ ਡਿਵਾਈਸ ਗਲੋਬਲ ਪ੍ਰੌਕਸੀ ਸੈਟ ਕਰੋ। ਕੇਵਲ ਡਿਵਾਈਸ ਮਾਲਡ ਗਲੋਬਲ ਪ੍ਰੌਕਸੀ ਸੈਟ ਕਰ ਸਕਦਾ ਹੈ।"</string> - <string name="policylab_expirePassword" msgid="5610055012328825874">"ਸਕ੍ਰੀਨ ਲੌਕ ਪਾਸਵਰਡ ਸਮਾਪਤੀ ਮਿਆਦ ਸੈਟ ਕਰੋ"</string> + <string name="policylab_wipeData" msgid="3910545446758639713">"ਸਾਰਾ ਡੈਟਾ ਮਿਟਾਓ"</string> + <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"ਇੱਕ ਫੈਕਟਰੀ ਡੈਟਾ ਰੀਸੈੱਟ ਕਰਕੇ ਚਿਤਾਵਨੀ ਤੋਂ ਬਿਨਾਂ ਟੈਬਲੇਟ ਦਾ ਡੈਟਾ ਮਿਟਾਓ।"</string> + <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"ਇੱਕ ਫੈਕਟਰੀ ਡੈਟਾ ਰੀਸੈੱਟ ਕਰਕੇ ਚਿਤਾਵਨੀ ਤੋਂ ਬਿਨਾਂ TV ਦਾ ਡੈਟਾ ਮਿਟਾਓ।"</string> + <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"ਇੱਕ ਫੈਕਟਰੀ ਡੈਟਾ ਰੀਸੈੱਟ ਕਰਕੇ ਚਿਤਾਵਨੀ ਤੋਂ ਬਿਨਾਂ ਫੋਨ ਦਾ ਡੈਟਾ ਮਿਟਾਓ।"</string> + <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"ਉਪਭੋਗਤਾ ਡੈਟਾ ਮਿਟਾਓ"</string> + <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"ਬਿਨਾਂ ਚਿਤਾਵਨੀ ਦੇ ਇਸ ਟੈਬਲੇਟ ਤੇ ਮੌਜੂਦ ਇਸ ਉਪਭੋਗਤਾ ਦਾ ਸਾਰਾ ਡੈਟਾ ਮਿਟਾਓ।"</string> + <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"ਬਿਨਾਂ ਚਿਤਾਵਨੀ ਦੇ ਇਸ TV ਤੇ ਮੌਜੂਦ ਇਸ ਉਪਭੋਗਤਾ ਦਾ ਸਾਰਾ ਡੈਟਾ ਮਿਟਾਓ।"</string> + <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"ਬਿਨਾਂ ਚਿਤਾਵਨੀ ਦੇ ਇਸ ਫੋਨ ਤੇ ਮੌਜੂਦ ਇਸ ਉਪਭੋਗਤਾ ਦਾ ਸਾਰਾ ਡੈਟਾ ਮਿਟਾਓ।"</string> + <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"ਡੀਵਾਈਸ ਗਲੋਬਲ ਪ੍ਰੌਕਸੀ ਸੈੱਟ ਕਰੋ"</string> + <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"ਜਦੋਂ ਪਾੱਲਿਸੀ ਸਮਰਥਿਤ ਹੋਵੇ ਤਾਂ ਵਰਤੇ ਜਾਣ ਲਈ ਡੀਵਾਈਸ ਗਲੋਬਲ ਪ੍ਰੌਕਸੀ ਸੈੱਟ ਕਰੋ। ਕੇਵਲ ਡੀਵਾਈਸ ਮਾਲਡ ਗਲੋਬਲ ਪ੍ਰੌਕਸੀ ਸੈਟ ਕਰ ਸਕਦਾ ਹੈ।"</string> + <string name="policylab_expirePassword" msgid="5610055012328825874">"ਸਕ੍ਰੀਨ ਲੌਕ ਪਾਸਵਰਡ ਸਮਾਪਤੀ ਮਿਆਦ ਸੈੱਟ ਕਰੋ"</string> <string name="policydesc_expirePassword" msgid="5367525762204416046">"ਇਸ ਵਿੱਚ ਬਦਲਾਵ ਕਰੋ ਕਿ ਸਕ੍ਰੀਨ ਲੌਕ ਪਾਸਵਰਡ, PIN ਜਾਂ ਪੈਟਰਨ ਨੂੰ ਕਿੰਨੀ ਵਾਰ ਬਦਲਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ।"</string> - <string name="policylab_encryptedStorage" msgid="8901326199909132915">"ਸਟੋਰੇਜ ਐਨਕ੍ਰਿਪਸ਼ਨ ਸੈਟ ਕਰੋ"</string> - <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"ਲੋੜ ਹੈ ਕਿ ਸਟੋਰ ਕੀਤਾ ਐਪ ਡਾਟਾ ਐਨਕ੍ਰਿਪਟ ਕੀਤਾ ਜਾਏ।"</string> + <string name="policylab_encryptedStorage" msgid="8901326199909132915">"ਸਟੋਰੇਜ ਇਨਕ੍ਰਿਪਸ਼ਨ ਸੈੱਟ ਕਰੋ"</string> + <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"ਲੋੜ ਹੈ ਕਿ ਸਟੋਰ ਕੀਤਾ ਐਪ ਡੈਟਾ ਇਨਕ੍ਰਿਪਟ ਕੀਤਾ ਜਾਏ।"</string> <string name="policylab_disableCamera" msgid="6395301023152297826">"ਕੈਮਰੇ ਅਸਮਰੱਥ ਬਣਾਓ"</string> - <string name="policydesc_disableCamera" msgid="2306349042834754597">"ਸਾਰੇ ਡਿਵਾਈਸ ਕੈਮਰਿਆਂ ਦੀ ਵਰਤੋਂ ਰੋਕੋ।"</string> + <string name="policydesc_disableCamera" msgid="2306349042834754597">"ਸਾਰੇ ਡੀਵਾਈਸ ਕੈਮਰਿਆਂ ਦੀ ਵਰਤੋਂ ਰੋਕੋ।"</string> <string name="policylab_disableKeyguardFeatures" msgid="8552277871075367771">"ਸਕ੍ਰੀਨ ਲੌਕ ਦੀਆਂ ਕੁਝ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਅਸਮਰੱਥ ਬਣਾਓ"</string> <string name="policydesc_disableKeyguardFeatures" msgid="2044755691354158439">"ਸਕ੍ਰੀਨ ਲੌਕ ਦੀਆਂ ਕੁਝ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਵਰਤੋਂ ਰੋਕੋ।"</string> <string-array name="phoneTypes"> @@ -550,32 +550,32 @@ <item msgid="7897544654242874543">"ਕੰਮ"</item> <item msgid="1103601433382158155">"ਦਫ਼ਤਰ ਦੀ ਫੈਕਸ"</item> <item msgid="1735177144948329370">"ਘਰ ਦੀ ਫੈਕਸ"</item> - <item msgid="603878674477207394">"ਪੇਜ਼ਰ"</item> + <item msgid="603878674477207394">"ਪੇਜਰ"</item> <item msgid="1650824275177931637">"ਹੋਰ"</item> - <item msgid="9192514806975898961">"ਕਸਟਮ"</item> + <item msgid="9192514806975898961">"ਵਿਸ਼ੇਸ਼-ਵਿਉਂਤਬੱਧ"</item> </string-array> <string-array name="emailAddressTypes"> <item msgid="8073994352956129127">"ਘਰ"</item> <item msgid="7084237356602625604">"ਕੰਮ"</item> <item msgid="1112044410659011023">"ਹੋਰ"</item> - <item msgid="2374913952870110618">"ਕਸਟਮ"</item> + <item msgid="2374913952870110618">"ਵਿਸ਼ੇਸ਼-ਵਿਉਂਤਬੱਧ"</item> </string-array> <string-array name="postalAddressTypes"> <item msgid="6880257626740047286">"ਘਰ"</item> <item msgid="5629153956045109251">"ਕੰਮ"</item> <item msgid="4966604264500343469">"ਹੋਰ"</item> - <item msgid="4932682847595299369">"ਕਸਟਮ"</item> + <item msgid="4932682847595299369">"ਵਿਸ਼ੇਸ਼-ਵਿਉਂਤਬੱਧ"</item> </string-array> <string-array name="imAddressTypes"> <item msgid="1738585194601476694">"ਘਰ"</item> <item msgid="1359644565647383708">"ਕੰਮ"</item> <item msgid="7868549401053615677">"ਹੋਰ"</item> - <item msgid="3145118944639869809">"ਕਸਟਮ"</item> + <item msgid="3145118944639869809">"ਵਿਸ਼ੇਸ਼-ਵਿਉਂਤਬੱਧ"</item> </string-array> <string-array name="organizationTypes"> <item msgid="7546335612189115615">"ਕੰਮ"</item> <item msgid="4378074129049520373">"ਹੋਰ"</item> - <item msgid="3455047468583965104">"ਕਸਟਮ"</item> + <item msgid="3455047468583965104">"ਵਿਸ਼ੇਸ਼-ਵਿਉਂਤਬੱਧ"</item> </string-array> <string-array name="imProtocols"> <item msgid="8595261363518459565">"AIM"</item> @@ -587,17 +587,17 @@ <item msgid="2506857312718630823">"ICQ"</item> <item msgid="1648797903785279353">"Jabber"</item> </string-array> - <string name="phoneTypeCustom" msgid="1644738059053355820">"ਕਸਟਮ"</string> + <string name="phoneTypeCustom" msgid="1644738059053355820">"ਵਿਸ਼ੇਸ਼-ਵਿਉਂਤਬੱਧ"</string> <string name="phoneTypeHome" msgid="2570923463033985887">"ਘਰ"</string> <string name="phoneTypeMobile" msgid="6501463557754751037">"ਮੋਬਾਈਲ"</string> <string name="phoneTypeWork" msgid="8863939667059911633">"ਕੰਮ"</string> <string name="phoneTypeFaxWork" msgid="3517792160008890912">"ਦਫ਼ਤਰ ਦੀ ਫੈਕਸ"</string> <string name="phoneTypeFaxHome" msgid="2067265972322971467">"ਘਰ ਦੀ ਫੈਕਸ"</string> - <string name="phoneTypePager" msgid="7582359955394921732">"ਪੇਜ਼ਰ"</string> + <string name="phoneTypePager" msgid="7582359955394921732">"ਪੇਜਰ"</string> <string name="phoneTypeOther" msgid="1544425847868765990">"ਹੋਰ"</string> <string name="phoneTypeCallback" msgid="2712175203065678206">"ਕਾਲਬੈਕ ਕਰੋ"</string> <string name="phoneTypeCar" msgid="8738360689616716982">"ਕਾਰ"</string> - <string name="phoneTypeCompanyMain" msgid="540434356461478916">"ਕੰਪਨੀ ਮੇਨ"</string> + <string name="phoneTypeCompanyMain" msgid="540434356461478916">"ਕੰਪਨੀ ਦਾ ਪ੍ਰਮੁੱਖ ਫ਼ੋਨ"</string> <string name="phoneTypeIsdn" msgid="8022453193171370337">"ISDN"</string> <string name="phoneTypeMain" msgid="6766137010628326916">"ਮੁੱਖ"</string> <string name="phoneTypeOtherFax" msgid="8587657145072446565">"ਹੋਰ ਫੈਕਸ"</string> @@ -608,37 +608,37 @@ <string name="phoneTypeWorkPager" msgid="649938731231157056">"ਦਫ਼ਤਰ ਦਾ ਪੇਜਰ"</string> <string name="phoneTypeAssistant" msgid="5596772636128562884">"ਸਹਾਇਕ"</string> <string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string> - <string name="eventTypeCustom" msgid="7837586198458073404">"ਕਸਟਮ"</string> + <string name="eventTypeCustom" msgid="7837586198458073404">"ਵਿਸ਼ੇਸ਼-ਵਿਉਂਤਬੱਧ"</string> <string name="eventTypeBirthday" msgid="2813379844211390740">"ਜਨਮਦਿਨ"</string> <string name="eventTypeAnniversary" msgid="3876779744518284000">"ਵਰ੍ਹੇਗੰਢ"</string> <string name="eventTypeOther" msgid="7388178939010143077">"ਹੋਰ"</string> - <string name="emailTypeCustom" msgid="8525960257804213846">"ਕਸਟਮ"</string> + <string name="emailTypeCustom" msgid="8525960257804213846">"ਵਿਸ਼ੇਸ਼-ਵਿਉਂਤਬੱਧ"</string> <string name="emailTypeHome" msgid="449227236140433919">"ਘਰ"</string> <string name="emailTypeWork" msgid="3548058059601149973">"ਕੰਮ"</string> <string name="emailTypeOther" msgid="2923008695272639549">"ਹੋਰ"</string> <string name="emailTypeMobile" msgid="119919005321166205">"ਮੋਬਾਈਲ"</string> - <string name="postalTypeCustom" msgid="8903206903060479902">"ਕਸਟਮ"</string> + <string name="postalTypeCustom" msgid="8903206903060479902">"ਵਿਸ਼ੇਸ਼-ਵਿਉਂਤਬੱਧ"</string> <string name="postalTypeHome" msgid="8165756977184483097">"ਘਰ"</string> <string name="postalTypeWork" msgid="5268172772387694495">"ਕੰਮ"</string> <string name="postalTypeOther" msgid="2726111966623584341">"ਹੋਰ"</string> - <string name="imTypeCustom" msgid="2074028755527826046">"ਕਸਟਮ"</string> + <string name="imTypeCustom" msgid="2074028755527826046">"ਵਿਸ਼ੇਸ਼-ਵਿਉਂਤਬੱਧ"</string> <string name="imTypeHome" msgid="6241181032954263892">"ਘਰ"</string> <string name="imTypeWork" msgid="1371489290242433090">"ਕੰਮ"</string> <string name="imTypeOther" msgid="5377007495735915478">"ਹੋਰ"</string> - <string name="imProtocolCustom" msgid="6919453836618749992">"ਕਸਟਮ"</string> + <string name="imProtocolCustom" msgid="6919453836618749992">"ਵਿਸ਼ੇਸ਼-ਵਿਉਂਤਬੱਧ"</string> <string name="imProtocolAim" msgid="7050360612368383417">"AIM"</string> <string name="imProtocolMsn" msgid="144556545420769442">"Windows Live"</string> <string name="imProtocolYahoo" msgid="8271439408469021273">"Yahoo"</string> <string name="imProtocolSkype" msgid="9019296744622832951">"Skype"</string> <string name="imProtocolQq" msgid="8887484379494111884">"QQ"</string> - <string name="imProtocolGoogleTalk" msgid="493902321140277304">"ਹੈਂਗਆਊਟਸ"</string> + <string name="imProtocolGoogleTalk" msgid="493902321140277304">"Hangouts"</string> <string name="imProtocolIcq" msgid="1574870433606517315">"ICQ"</string> <string name="imProtocolJabber" msgid="2279917630875771722">"Jabber"</string> <string name="imProtocolNetMeeting" msgid="8287625655986827971">"NetMeeting"</string> <string name="orgTypeWork" msgid="29268870505363872">"ਕੰਮ"</string> <string name="orgTypeOther" msgid="3951781131570124082">"ਹੋਰ"</string> - <string name="orgTypeCustom" msgid="225523415372088322">"ਕਸਟਮ"</string> - <string name="relationTypeCustom" msgid="3542403679827297300">"ਕਸਟਮ"</string> + <string name="orgTypeCustom" msgid="225523415372088322">"ਵਿਸ਼ੇਸ਼-ਵਿਉਂਤਬੱਧ"</string> + <string name="relationTypeCustom" msgid="3542403679827297300">"ਵਿਸ਼ੇਸ਼-ਵਿਉਂਤਬੱਧ"</string> <string name="relationTypeAssistant" msgid="6274334825195379076">"ਸਹਾਇਕ"</string> <string name="relationTypeBrother" msgid="8757913506784067713">"ਭਰਾ"</string> <string name="relationTypeChild" msgid="1890746277276881626">"ਬੱਚਾ"</string> @@ -653,7 +653,7 @@ <string name="relationTypeRelative" msgid="1799819930085610271">"ਰਿਸ਼ਤੇਦਾਰ"</string> <string name="relationTypeSister" msgid="1735983554479076481">"ਭੈਣ"</string> <string name="relationTypeSpouse" msgid="394136939428698117">"ਜੀਵਨਸਾਥੀ"</string> - <string name="sipAddressTypeCustom" msgid="2473580593111590945">"ਕਸਟਮ"</string> + <string name="sipAddressTypeCustom" msgid="2473580593111590945">"ਵਿਸ਼ੇਸ਼-ਵਿਉਂਤਬੱਧ"</string> <string name="sipAddressTypeHome" msgid="6093598181069359295">"ਘਰ"</string> <string name="sipAddressTypeWork" msgid="6920725730797099047">"ਕੰਮ"</string> <string name="sipAddressTypeOther" msgid="4408436162950119849">"ਹੋਰ"</string> @@ -673,7 +673,7 @@ <string name="lockscreen_instructions_when_pattern_enabled" msgid="46154051614126049">"ਅਨਲੌਕ ਕਰਨ ਲਈ ਮੀਨੂ ਦਬਾਓ ਜਾਂ ਐਮਰਜੈਂਸੀ ਕਾਲ ਕਰੋ।"</string> <string name="lockscreen_instructions_when_pattern_disabled" msgid="686260028797158364">"ਅਨਲੌਕ ਕਰਨ ਲਈ ਮੀਨੂ ਦਬਾਓ।"</string> <string name="lockscreen_pattern_instructions" msgid="7478703254964810302">"ਅਨਲੌਕ ਕਰਨ ਲਈ ਪੈਟਰਨ ਡ੍ਰਾ ਕਰੋ"</string> - <string name="lockscreen_emergency_call" msgid="5298642613417801888">"ਅਪਾਤਕਾਲ"</string> + <string name="lockscreen_emergency_call" msgid="5298642613417801888">"ਸੰਕਟਕਾਲ"</string> <string name="lockscreen_return_to_call" msgid="5244259785500040021">"ਕਾਲ ਤੇ ਵਾਪਸ ਜਾਓ"</string> <string name="lockscreen_pattern_correct" msgid="9039008650362261237">"ਸਹੀ!"</string> <string name="lockscreen_pattern_wrong" msgid="4317955014948108794">"ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ"</string> @@ -686,7 +686,7 @@ <string name="lockscreen_missing_sim_instructions" msgid="5372787138023272615">"ਇੱਕ SIM ਕਾਰਡ ਪਾਓ।"</string> <string name="lockscreen_missing_sim_instructions_long" msgid="3526573099019319472">"SIM ਕਾਰਡ ਲੁਪਤ ਹੈ ਜਾਂ ਪੜ੍ਹਨਯੋਗ ਨਹੀਂ ਹੈ। ਇੱਕ SIM ਕਾਰਡ ਪਾਓ।"</string> <string name="lockscreen_permanent_disabled_sim_message_short" msgid="5096149665138916184">"ਨਾਵਰਤਣਯੋਗ SIM ਕਾਰਡ।"</string> - <string name="lockscreen_permanent_disabled_sim_instructions" msgid="910904643433151371">"ਤੁਹਾਡਾ SIM ਕਾਰਡ ਸਥਾਈ ਤੌਰ ਤੇ ਅਸਮਰੱਥ ਬਣਾਇਆ ਗਿਆ ਹੈ।\n ਦੂਜੇ SIM ਕਾਰਡ ਲਈ ਆਪਣੇ ਵਾਇਰਲੈਸ ਸੇਵਾ ਪ੍ਰਦਾਤਾ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string> + <string name="lockscreen_permanent_disabled_sim_instructions" msgid="910904643433151371">"ਤੁਹਾਡਾ SIM ਕਾਰਡ ਸਥਾਈ ਤੌਰ ਤੇ ਅਯੋਗ ਬਣਾਇਆ ਗਿਆ ਹੈ।\n ਦੂਜੇ SIM ਕਾਰਡ ਲਈ ਆਪਣੇ ਵਾਇਰਲੈਸ ਸੇਵਾ ਪ੍ਰਦਾਤਾ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string> <string name="lockscreen_transport_prev_description" msgid="6300840251218161534">"ਪਿਛਲਾ ਟਰੈਕ"</string> <string name="lockscreen_transport_next_description" msgid="573285210424377338">"ਅਗਲਾ ਟਰੈਕ"</string> <string name="lockscreen_transport_pause_description" msgid="3980308465056173363">"ਰੋਕੋ"</string> @@ -695,7 +695,7 @@ <string name="lockscreen_transport_rew_description" msgid="6944412838651990410">"ਰੀਵਾਈਂਡ ਕਰੋ"</string> <string name="lockscreen_transport_ffw_description" msgid="42987149870928985">"ਅੱਗੇ ਭੇਜੋ"</string> <string name="emergency_calls_only" msgid="6733978304386365407">"ਕੇਵਲ ਐਮਰਜੈਂਸੀ ਕਾਲਾਂ"</string> - <string name="lockscreen_network_locked_message" msgid="143389224986028501">"ਨੈਟਵਰਕ ਲੌਕ ਕੀਤਾ"</string> + <string name="lockscreen_network_locked_message" msgid="143389224986028501">"ਨੈੱਟਵਰਕ ਲੌਕ ਕੀਤਾ"</string> <string name="lockscreen_sim_puk_locked_message" msgid="7441797339976230">"SIM ਕਾਰਡ PUK-ਲੌਕਡ ਹੈ।"</string> <string name="lockscreen_sim_puk_locked_instructions" msgid="8127916255245181063">"ਉਪਭੋਗਤਾ ਗਾਈਡ ਦੇਖੋ ਜਾਂ ਗਾਹਕ ਸੇਵਾ ਨੂੰ ਫੋਨ ਕਰੋ।"</string> <string name="lockscreen_sim_locked_message" msgid="8066660129206001039">"SIM ਕਾਰਡ ਲੌਕ ਕੀਤਾ ਹੋਇਆ ਹੈ।"</string> @@ -706,22 +706,22 @@ <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="9191611984625460820">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਆਪਣਾ ਅਨਲੌਕ ਪੈਟਰਨ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਡ੍ਰਾ ਕੀਤਾ ਹੈ। <xliff:g id="NUMBER_1">%2$d</xliff:g> ਹੋਰ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਤੁਹਾਨੂੰ ਆਪਣਾ Google ਸਾਈਨਇਨ ਵਰਤਦੇ ਹੋਏ ਆਪਣੀ ਟੈਬਲੇਟ ਅਨਲੌਕ ਕਰਨ ਲਈ ਕਿਹਾ ਜਾਏਗਾ। \n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string> <string name="lockscreen_failed_attempts_almost_glogin" product="tv" msgid="5316664559603394684">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਆਪਣਾ ਅਨਲੌਕ ਪੈਟਰਨ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਡ੍ਰਾ ਕੀਤਾ ਹੈ। <xliff:g id="NUMBER_1">%2$d</xliff:g> ਹੋਰ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਤੁਹਾਨੂੰ ਆਪਣਾ Google ਸਾਈਨਇਨ ਵਰਤਦੇ ਹੋਏ ਆਪਣਾ TV ਅਨਲੌਕ ਕਰਨ ਲਈ ਕਿਹਾ ਜਾਏਗਾ।\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string> <string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="2590227559763762751">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਆਪਣਾ ਅਨਲੌਕ ਪੈਟਰਨ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਡ੍ਰਾ ਕੀਤਾ ਹੈ। <xliff:g id="NUMBER_1">%2$d</xliff:g> ਹੋਰ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਤੁਹਾਨੂੰ ਆਪਣਾ Google ਸਾਈਨਇਨ ਵਰਤਦੇ ਹੋਏ ਆਪਣਾ ਫੋਨ ਅਨਲੌਕ ਕਰਨ ਲਈ ਕਿਹਾ ਜਾਏਗਾ।\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string> - <string name="lockscreen_failed_attempts_almost_at_wipe" product="tablet" msgid="6128106399745755604">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟੈਬਲੇਟ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। <xliff:g id="NUMBER_1">%2$d</xliff:g> ਵੱਧ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਟੈਬਲੇਟ ਫੈਕਟਰੀ ਡਿਫੌਲਟ ਤੇ ਰੀਸੈਟ ਹੋ ਜਾਏਗੀ ਅਤੇ ਸਾਰਾ ਉਪਭੋਗਤਾ ਡਾਟਾ ਨਸ਼ਟ ਹੋ ਜਾਏਗਾ।"</string> - <string name="lockscreen_failed_attempts_almost_at_wipe" product="tv" msgid="950408382418270260">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ TV ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। <xliff:g id="NUMBER_1">%2$d</xliff:g> ਵੱਧ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, TV ਫੈਕਟਰੀ ਡਿਫੌਲਟ ਤੇ ਰੀਸੈਟ ਹੋ ਜਾਏਗਾ ਅਤੇ ਸਾਰਾ ਉਪਭੋਗਤਾ ਡਾਟਾ ਨਸ਼ਟ ਹੋ ਜਾਏਗਾ।"</string> - <string name="lockscreen_failed_attempts_almost_at_wipe" product="default" msgid="8603565142156826565">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਫੋਨ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। <xliff:g id="NUMBER_1">%2$d</xliff:g> ਵੱਧ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਫੋਨ ਫੈਕਟਰੀ ਡਿਫੌਲਟ ਤੇ ਰੀਸੈਟ ਹੋ ਜਾਏਗਾ ਅਤੇ ਸਾਰਾ ਉਪਭੋਗਤਾ ਡਾਟਾ ਨਸ਼ਟ ਹੋ ਜਾਏਗਾ।"</string> - <string name="lockscreen_failed_attempts_now_wiping" product="tablet" msgid="280873516493934365">"ਤੁਸੀਂ <xliff:g id="NUMBER">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟੈਬਲੇਟ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਹੁਣ ਟੌਬਲੇਟ ਫੈਕਟਰੀ ਡਿਫੌਲਟ ਤੇ ਰੀਸੈਟ ਹੋ ਜਾਏਗੀ।"</string> - <string name="lockscreen_failed_attempts_now_wiping" product="tv" msgid="3195755534096192191">"ਤੁਸੀਂ <xliff:g id="NUMBER">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ TV ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਹੁਣ TV ਫੈਕਟਰੀ ਡਿਫੌਲਟ ਤੇ ਰੀਸੈਟ ਹੋ ਜਾਏਗਾ।"</string> - <string name="lockscreen_failed_attempts_now_wiping" product="default" msgid="3025504721764922246">"ਤੁਸੀਂ <xliff:g id="NUMBER">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਫੋਨ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਹੁਣ ਫੋਨ ਫੈਕਟਰੀ ਡਿਫੌਲਟ ਤੇ ਰੀਸੈਟ ਹੋ ਜਾਏਗਾ।"</string> + <string name="lockscreen_failed_attempts_almost_at_wipe" product="tablet" msgid="6128106399745755604">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟੈਬਲੇਟ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। <xliff:g id="NUMBER_1">%2$d</xliff:g> ਵੱਧ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਟੈਬਲੇਟ ਫੈਕਟਰੀ ਡਿਫੌਲਟ ਤੇ ਰੀਸੈੱਟ ਹੋ ਜਾਏਗੀ ਅਤੇ ਸਾਰਾ ਉਪਭੋਗਤਾ ਡੈਟਾ ਨਸ਼ਟ ਹੋ ਜਾਏਗਾ।"</string> + <string name="lockscreen_failed_attempts_almost_at_wipe" product="tv" msgid="950408382418270260">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ TV ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। <xliff:g id="NUMBER_1">%2$d</xliff:g> ਵੱਧ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, TV ਫੈਕਟਰੀ ਡਿਫੌਲਟ ਤੇ ਰੀਸੈੱਟ ਹੋ ਜਾਏਗਾ ਅਤੇ ਸਾਰਾ ਉਪਭੋਗਤਾ ਡੈਟਾ ਨਸ਼ਟ ਹੋ ਜਾਏਗਾ।"</string> + <string name="lockscreen_failed_attempts_almost_at_wipe" product="default" msgid="8603565142156826565">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਫੋਨ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। <xliff:g id="NUMBER_1">%2$d</xliff:g> ਵੱਧ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਫੋਨ ਫੈਕਟਰੀ ਡਿਫੌਲਟ ਤੇ ਰੀਸੈੱਟ ਹੋ ਜਾਏਗਾ ਅਤੇ ਸਾਰਾ ਉਪਭੋਗਤਾ ਡੈਟਾ ਨਸ਼ਟ ਹੋ ਜਾਏਗਾ।"</string> + <string name="lockscreen_failed_attempts_now_wiping" product="tablet" msgid="280873516493934365">"ਤੁਸੀਂ <xliff:g id="NUMBER">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟੈਬਲੇਟ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਹੁਣ ਟੌਬਲੇਟ ਫੈਕਟਰੀ ਡਿਫੌਲਟ ਤੇ ਰੀਸੈੱਟ ਹੋ ਜਾਏਗੀ।"</string> + <string name="lockscreen_failed_attempts_now_wiping" product="tv" msgid="3195755534096192191">"ਤੁਸੀਂ <xliff:g id="NUMBER">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ TV ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਹੁਣ TV ਫੈਕਟਰੀ ਡਿਫੌਲਟ ਤੇ ਰੀਸੈੱਟ ਹੋ ਜਾਏਗਾ।"</string> + <string name="lockscreen_failed_attempts_now_wiping" product="default" msgid="3025504721764922246">"ਤੁਸੀਂ <xliff:g id="NUMBER">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਫੋਨ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਹੁਣ ਫੋਨ ਫੈਕਟਰੀ ਡਿਫੌਲਟ ਤੇ ਰੀਸੈੱਟ ਹੋ ਜਾਏਗਾ।"</string> <string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"<xliff:g id="NUMBER">%d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string> <string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"ਕੀ ਪੈਟਰਨ ਭੁੱਲ ਗਏ?"</string> <string name="lockscreen_glogin_forgot_pattern" msgid="2588521501166032747">"ਖਾਤਾ ਅਨਲੌਕ"</string> <string name="lockscreen_glogin_too_many_attempts" msgid="2751368605287288808">"ਬਹੁਤ ਜ਼ਿਆਦਾ ਪੈਟਰਨ ਕੋਸ਼ਿਸ਼ਾਂ"</string> <string name="lockscreen_glogin_instructions" msgid="3931816256100707784">"ਅਨਲੌਕ ਕਰਨ ਲਈ, ਆਪਣੇ Google ਖਾਤੇ ਨਾਲ ਸਾਈਨ ਇਨ ਕਰੋ।"</string> - <string name="lockscreen_glogin_username_hint" msgid="8846881424106484447">"ਉਪਭੋਗਤਾ ਨਾਮ (ਈਮੇਲ)"</string> + <string name="lockscreen_glogin_username_hint" msgid="8846881424106484447">"ਵਰਤੋਂਕਾਰ ਨਾਮ (ਈਮੇਲ)"</string> <string name="lockscreen_glogin_password_hint" msgid="5958028383954738528">"ਪਾਸਵਰਡ"</string> <string name="lockscreen_glogin_submit_button" msgid="7130893694795786300">"ਸਾਈਨ ਇਨ ਕਰੋ"</string> - <string name="lockscreen_glogin_invalid_input" msgid="1364051473347485908">"ਅਪ੍ਰਮਾਣਿਕ ਉਪਭੋਗਤਾ ਨਾਮ ਜਾਂ ਪਾਸਵਰਡ।"</string> - <string name="lockscreen_glogin_account_recovery_hint" msgid="1696924763690379073">"ਕੀ ਤੁਸੀਂ ਆਪਣਾ ਉਪਭੋਗਤਾ ਨਾਮ ਜਾਂ ਪਾਸਵਰਡ ਭੁੱਲ ਗਏ ਹੋ?\n"<b>"google.com/accounts/recovery"</b>" ਤੇ ਜਾਓ।"</string> + <string name="lockscreen_glogin_invalid_input" msgid="1364051473347485908">"ਅਪ੍ਰਮਾਣਿਕ ਵਰਤੋਂਕਾਰ ਨਾਮ ਜਾਂ ਪਾਸਵਰਡ।"</string> + <string name="lockscreen_glogin_account_recovery_hint" msgid="1696924763690379073">"ਕੀ ਤੁਸੀਂ ਆਪਣਾ ਵਰਤੋਂਕਾਰ ਨਾਮ ਜਾਂ ਪਾਸਵਰਡ ਭੁੱਲ ਗਏ ਹੋ?\n"<b>"google.com/accounts/recovery"</b>" ਤੇ ਜਾਓ।"</string> <string name="lockscreen_glogin_checking_password" msgid="7114627351286933867">"ਜਾਂਚ ਕਰ ਰਿਹਾ ਹੈ..."</string> <string name="lockscreen_unlock_label" msgid="737440483220667054">"ਅਨਲੌਕ ਕਰੋ"</string> <string name="lockscreen_sound_on_label" msgid="9068877576513425970">"ਅਵਾਜ਼ ਚਾਲੂ"</string> @@ -793,17 +793,17 @@ <string name="permlab_readHistoryBookmarks" msgid="3775265775405106983">"ਆਪਣੇ ਵੈਬ ਬੁੱਕਮਾਰਕਸ ਅਤੇ ਇਤਿਹਾਸ ਪੜ੍ਹੋ"</string> <string name="permdesc_readHistoryBookmarks" msgid="8462378226600439658">"ਐਪ ਨੂੰ ਸਾਰੇ URL ਜਿਹਨਾਂ ਤੇ ਬ੍ਰਾਊਜ਼ਰ ਨੇ ਵਿਜਿਟ ਕੀਤਾ ਹੈ ਅਤੇ ਬ੍ਰਾਊਜ਼ਰ ਦੇ ਸਾਰੇ ਬੁੱਕਮਾਰਕਸ, ਦਾ ਇਤਿਹਾਸ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਨੋਟ: ਇਹ ਅਨੁਮਤੀ ਤੀਜੀ-ਪਾਰਟੀ ਬ੍ਰਾਊਜ਼ਰਾਂ ਜਾਂ ਵੈਬ ਬ੍ਰਾਊਜ਼ਿੰਗ ਸਮਰੱਥਤਾਵਾਂ ਵਾਲੇ ਹੋਰਾਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵੱਲੋਂ ਲਾਗੂ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ।"</string> <string name="permlab_writeHistoryBookmarks" msgid="3714785165273314490">"ਵੈਬ ਬੁੱਕਮਾਰਕਸ ਅਤੇ ਇਤਿਹਾਸ ਲਿਖੋ"</string> - <string name="permdesc_writeHistoryBookmarks" product="tablet" msgid="6825527469145760922">"ਐਪ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਦਾ ਇਤਿਹਾਸ ਅਤੇ ਤੁਹਾਡੀ ਟੈਬਲੇਟ ਤੇ ਸਟੋਰ ਕੀਤੇ ਬੁੱਕਮਾਰਕਾਂ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਐਪ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਡਾਟਾ ਮਿਟਾਉਣ ਜਾਂ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇ ਸਕਦਾ ਹੈ। ਨੋਟ: ਇਹ ਅਨੁਮਤੀ ਤੀਜੀ-ਪਾਰਟੀ ਬ੍ਰਾਊਜ਼ਰਾਂ ਜਾਂ ਵੈਬ ਬ੍ਰਾਊਜ਼ਿੰਗ ਸਮਰੱਥਤਾਵਂ ਵਾਲੀਆਂ ਹੋਰਾਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵੱਲੋਂ ਲਾਗੂ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ।"</string> - <string name="permdesc_writeHistoryBookmarks" product="tv" msgid="7007393823197766548">"ਐਪ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਦਾ ਇਤਿਹਾਸ ਅਤੇ ਤੁਹਾਡੇ TV ਤੇ ਸਟੋਰ ਕੀਤੇ ਬੁੱਕਮਾਰਕਾਂ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਐਪ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਡਾਟਾ ਮਿਟਾਉਣ ਜਾਂ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇ ਸਕਦਾ ਹੈ। ਨੋਟ: ਇਹ ਅਨੁਮਤੀ ਤੀਜੀ-ਪਾਰਟੀ ਬ੍ਰਾਊਜ਼ਰਾਂ ਜਾਂ ਵੈਬ ਬ੍ਰਾਊਜ਼ਿੰਗ ਸਮਰੱਥਤਾਵਂ ਵਾਲੀਆਂ ਹੋਰਾਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵੱਲੋਂ ਲਾਗੂ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ।"</string> - <string name="permdesc_writeHistoryBookmarks" product="default" msgid="8497389531014185509">"ਐਪ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਦਾ ਇਤਿਹਾਸ ਅਤੇ ਤੁਹਾਡੇ ਫੋਨ ਤੇ ਸਟੋਰ ਕੀਤੇ ਬੁੱਕਮਾਰਕਾਂ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਐਪ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਡਾਟਾ ਮਿਟਾਉਣ ਜਾਂ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇ ਸਕਦਾ ਹੈ। ਨੋਟ: ਇਹ ਅਨੁਮਤੀ ਤੀਜੀ-ਪਾਰਟੀ ਬ੍ਰਾਊਜ਼ਰਾਂ ਜਾਂ ਵੈਬ ਬ੍ਰਾਊਜ਼ਿੰਗ ਸਮਰੱਥਤਾਵਂ ਵਾਲੀਆਂ ਹੋਰਾਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵੱਲੋਂ ਲਾਗੂ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ।"</string> - <string name="permlab_setAlarm" msgid="1379294556362091814">"ਇੱਕ ਅਲਾਰਮ ਸੈਟ ਕਰੋ"</string> + <string name="permdesc_writeHistoryBookmarks" product="tablet" msgid="6825527469145760922">"ਐਪ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਦਾ ਇਤਿਹਾਸ ਅਤੇ ਤੁਹਾਡੀ ਟੈਬਲੇਟ ਤੇ ਸਟੋਰ ਕੀਤੇ ਬੁੱਕਮਾਰਕਾਂ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਐਪ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਡੈਟਾ ਮਿਟਾਉਣ ਜਾਂ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇ ਸਕਦਾ ਹੈ। ਨੋਟ: ਇਹ ਅਨੁਮਤੀ ਤੀਜੀ-ਪਾਰਟੀ ਬ੍ਰਾਊਜ਼ਰਾਂ ਜਾਂ ਵੈਬ ਬ੍ਰਾਊਜ਼ਿੰਗ ਸਮਰੱਥਤਾਵਂ ਵਾਲੀਆਂ ਹੋਰਾਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵੱਲੋਂ ਲਾਗੂ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ।"</string> + <string name="permdesc_writeHistoryBookmarks" product="tv" msgid="7007393823197766548">"ਐਪ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਦਾ ਇਤਿਹਾਸ ਅਤੇ ਤੁਹਾਡੇ TV ਤੇ ਸਟੋਰ ਕੀਤੇ ਬੁੱਕਮਾਰਕਾਂ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਐਪ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਡੈਟਾ ਮਿਟਾਉਣ ਜਾਂ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇ ਸਕਦਾ ਹੈ। ਨੋਟ: ਇਹ ਅਨੁਮਤੀ ਤੀਜੀ-ਪਾਰਟੀ ਬ੍ਰਾਊਜ਼ਰਾਂ ਜਾਂ ਵੈਬ ਬ੍ਰਾਊਜ਼ਿੰਗ ਸਮਰੱਥਤਾਵਂ ਵਾਲੀਆਂ ਹੋਰਾਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵੱਲੋਂ ਲਾਗੂ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ।"</string> + <string name="permdesc_writeHistoryBookmarks" product="default" msgid="8497389531014185509">"ਐਪ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਦਾ ਇਤਿਹਾਸ ਅਤੇ ਤੁਹਾਡੇ ਫੋਨ ਤੇ ਸਟੋਰ ਕੀਤੇ ਬੁੱਕਮਾਰਕਾਂ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਐਪ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਡੈਟਾ ਮਿਟਾਉਣ ਜਾਂ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇ ਸਕਦਾ ਹੈ। ਨੋਟ: ਇਹ ਅਨੁਮਤੀ ਤੀਜੀ-ਪਾਰਟੀ ਬ੍ਰਾਊਜ਼ਰਾਂ ਜਾਂ ਵੈਬ ਬ੍ਰਾਊਜ਼ਿੰਗ ਸਮਰੱਥਤਾਵਂ ਵਾਲੀਆਂ ਹੋਰਾਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵੱਲੋਂ ਲਾਗੂ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ।"</string> + <string name="permlab_setAlarm" msgid="1379294556362091814">"ਇੱਕ ਅਲਾਰਮ ਸੈੱਟ ਕਰੋ"</string> <string name="permdesc_setAlarm" msgid="316392039157473848">"ਐਪ ਨੂੰ ਇੱਕ ਇੰਸਟੌਲ ਕੀਤੀ ਅਲਾਰਮ ਘੜੀ ਐਪ ਵਿੱਚ ਇੱਕ ਅਲਾਰਮ ਸੈਟ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਕੁਝ ਅਲਾਰਮ ਘੜੀ ਐਪਲ ਇਹ ਵਿਸ਼ੇਸ਼ਤਾ ਲਾਗੂ ਨਹੀਂ ਵੀ ਕਰ ਸਕਦੇ।"</string> <string name="permlab_addVoicemail" msgid="5525660026090959044">"ਵੌਇਸਮੇਲ ਜੋੜੋ"</string> <string name="permdesc_addVoicemail" msgid="6604508651428252437">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ ਵੌਇਸਮੇਲ ਇਨਬੌਕਸ ਵਿੱਚ ਸੁਨੇਹੇ ਜੋੜਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string> <string name="permlab_writeGeolocationPermissions" msgid="5962224158955273932">"ਬ੍ਰਾਊਜ਼ਰ ਜਿਓਲੋਕੇਸ਼ਨ ਅਨੁਮਤੀਆਂ ਸੰਸ਼ੋਧਿਤ ਕਰੋ"</string> <string name="permdesc_writeGeolocationPermissions" msgid="1083743234522638747">"ਐਪ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਦੀਆਂ ਜਿਓਲੋਕੇਸ਼ਨ ਅਨੁਮਤੀਆਂ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਖ਼ਰਾਬ ਐਪਸ ਇਸਦੀ ਵਰਤੋਂ ਆਰਬਿਟਰੇਰੀ ਵੈਬ ਸਾਈਟਾਂ ਨੂੰ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਜਾਣਕਾਰੀ ਭੇਜਣ ਦੀ ਆਗਿਆ ਦੇਣ ਲਈ ਕਰ ਸਕਦੇ ਹਨ।"</string> <string name="save_password_message" msgid="767344687139195790">"ਕੀ ਤੁਸੀਂ ਚਾਹੁੰਦੇ ਹੋ ਕਿ ਬ੍ਰਾਊਜ਼ਰ ਇਹ ਪਾਸਵਰਡ ਯਾਦ ਰੱਖੇ?"</string> - <string name="save_password_notnow" msgid="6389675316706699758">"ਹੁਣ ਨਹੀਂ"</string> + <string name="save_password_notnow" msgid="6389675316706699758">"ਅਜੇ ਨਹੀਂ"</string> <string name="save_password_remember" msgid="6491879678996749466">"ਯਾਦ ਰੱਖੋ"</string> <string name="save_password_never" msgid="8274330296785855105">"ਕਦੇ ਵੀ ਨਹੀਂ"</string> <string name="open_permission_deny" msgid="7374036708316629800">"ਤੁਹਾਨੂੰ ਇਸ ਸਫ਼ੇ ਨੂੰ ਖੋਲ੍ਹਣ ਦੀ ਅਨੁਮਤੀ ਨਹੀਂ ਹੈ।"</string> @@ -811,7 +811,7 @@ <string name="more_item_label" msgid="4650918923083320495">"ਹੋਰ"</string> <string name="prepend_shortcut_label" msgid="2572214461676015642">"ਮੀਨੂ+"</string> <string name="menu_space_shortcut_label" msgid="2410328639272162537">"ਸਪੇਸ"</string> - <string name="menu_enter_shortcut_label" msgid="2743362785111309668">"ਦਰਜ ਕਰੋ"</string> + <string name="menu_enter_shortcut_label" msgid="2743362785111309668">"ਦਾਖਲ ਕਰੋ"</string> <string name="menu_delete_shortcut_label" msgid="3658178007202748164">"ਮਿਟਾਓ"</string> <string name="search_go" msgid="8298016669822141719">"ਖੋਜੋ"</string> <string name="search_hint" msgid="1733947260773056054">"ਖੋਜ…"</string> @@ -892,7 +892,7 @@ <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> ਸਾਲ ਵਿੱਚ</item> </plurals> <string name="VideoView_error_title" msgid="3534509135438353077">"ਵੀਡੀਓ ਸਮੱਸਿਆ"</string> - <string name="VideoView_error_text_invalid_progressive_playback" msgid="3186670335938670444">"ਇਹ ਵੀਡੀਓ ਇਸ ਡਿਵਾਈਸ ਤੇ ਸਟ੍ਰੀਮਿੰਗ ਲਈ ਪ੍ਰਮਾਣਿਕ ਨਹੀਂ ਹੈ।"</string> + <string name="VideoView_error_text_invalid_progressive_playback" msgid="3186670335938670444">"ਇਹ ਵੀਡੀਓ ਇਸ ਡੀਵਾਈਸ ਤੇ ਸਟ੍ਰੀਮਿੰਗ ਲਈ ਪ੍ਰਮਾਣਿਕ ਨਹੀਂ ਹੈ।"</string> <string name="VideoView_error_text_unknown" msgid="3450439155187810085">"ਇਹ ਵੀਡੀਓ ਪਲੇ ਨਹੀਂ ਕਰ ਸਕਦਾ।"</string> <string name="VideoView_error_button" msgid="2822238215100679592">"ਠੀਕ"</string> <string name="relative_time" msgid="1818557177829411417">"<xliff:g id="DATE">%1$s</xliff:g>, <xliff:g id="TIME">%2$s</xliff:g>"</string> @@ -902,7 +902,7 @@ <string name="Midnight" msgid="5630806906897892201">"ਅੱਧੀ ਰਾਤ"</string> <string name="elapsed_time_short_format_mm_ss" msgid="4431555943828711473">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> <string name="elapsed_time_short_format_h_mm_ss" msgid="1846071997616654124">"<xliff:g id="HOURS">%1$d</xliff:g>:<xliff:g id="MINUTES">%2$02d</xliff:g>:<xliff:g id="SECONDS">%3$02d</xliff:g>"</string> - <string name="selectAll" msgid="6876518925844129331">"ਸਾਰੇ ਚੁਣੋ"</string> + <string name="selectAll" msgid="6876518925844129331">"ਸਭ ਚੁਣੋ"</string> <string name="cut" msgid="3092569408438626261">"ਕੱਟੋ"</string> <string name="copy" msgid="2681946229533511987">"ਕਾਪੀ ਕਰੋ"</string> <string name="paste" msgid="5629880836805036433">"ਪੇਸਟ ਕਰੋ"</string> @@ -911,7 +911,7 @@ <string name="delete" msgid="6098684844021697789">"ਮਿਟਾਓ"</string> <string name="copyUrl" msgid="2538211579596067402">"URL ਕਾਪੀ ਕਰੋ"</string> <string name="selectTextMode" msgid="1018691815143165326">"ਟੈਕਸਟ ਚੁਣੋ"</string> - <string name="undo" msgid="7905788502491742328">"ਪਹਿਲਾਂ ਵਰਗਾ ਕਰੋ"</string> + <string name="undo" msgid="7905788502491742328">"ਅਣਕੀਤਾ ਕਰੋ"</string> <string name="redo" msgid="7759464876566803888">"ਮੁੜ-ਓਹੀ ਕਰੋ"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"ਟੈਕਸਟ ਚੋਣ"</string> <string name="addToDictionary" msgid="4352161534510057874">"ਸ਼ਬਦਕੋਸ਼ ਵਿੱਚ ਜੋੜੋ"</string> @@ -940,8 +940,8 @@ <string name="whichEditApplication" msgid="144727838241402655">"ਨਾਲ ਸੰਪਾਦਿਤ ਕਰੋ"</string> <string name="whichEditApplicationNamed" msgid="1775815530156447790">"%1$s ਨਾਲ ਸੰਪਾਦਿਤ ਕਰੋ"</string> <string name="whichEditApplicationLabel" msgid="7183524181625290300">"ਸੰਪਾਦਨ ਕਰੋ"</string> - <string name="whichSendApplication" msgid="6902512414057341668">"ਇਸ ਨਾਲ ਸ਼ੇਅਰ ਕਰੋ"</string> - <string name="whichSendApplicationNamed" msgid="2799370240005424391">"%1$s ਨਾਲ ਸ਼ੇਅਰ ਕਰੋ"</string> + <string name="whichSendApplication" msgid="6902512414057341668">"ਇਸ ਨਾਲ ਸਾਂਝਾ ਕਰੋ"</string> + <string name="whichSendApplicationNamed" msgid="2799370240005424391">"%1$s ਨਾਲ ਸਾਂਝਾ ਕਰੋ"</string> <string name="whichSendApplicationLabel" msgid="4579076294675975354">"ਸਾਂਝਾ ਕਰੋ"</string> <string name="whichSendToApplication" msgid="8272422260066642057">"ਇਸ ਦੀ ਵਰਤੋਂ ਨਾਲ ਭੇਜੋ"</string> <string name="whichSendToApplicationNamed" msgid="7768387871529295325">"%1$s ਦੀ ਵਰਤੋਂ ਨਾਲ ਭੇਜੋ"</string> @@ -956,7 +956,7 @@ <string name="use_a_different_app" msgid="8134926230585710243">"ਇੱਕ ਵੱਖਰਾ ਖਾਤਾ ਵਰਤੋ"</string> <string name="clearDefaultHintMsg" msgid="3252584689512077257">"ਸਿਸਟਮ ਸੈਟਿੰਗਾਂ > ਐਪਸ > ਡਾਊਨਲੋਡ ਕੀਤਿਆਂ ਵਿੱਚ ਡਿਫੌਲਟ ਹਟਾਓ।"</string> <string name="chooseActivity" msgid="7486876147751803333">"ਇੱਕ ਕਿਰਿਆ ਚੁਣੋ"</string> - <string name="chooseUsbActivity" msgid="6894748416073583509">"USB ਡਿਵਾਈਸ ਲਈ ਇੱਕ ਐਪ ਚੁਣੋ"</string> + <string name="chooseUsbActivity" msgid="6894748416073583509">"USB ਡੀਵਾਈਸ ਲਈ ਇੱਕ ਐਪ ਚੁਣੋ"</string> <string name="noApplications" msgid="2991814273936504689">"ਕੋਈ ਐਪਸ ਇਸ ਕਿਰਿਆ ਨੂੰ ਨਹੀਂ ਕਰ ਸਕਦੇ।"</string> <string name="aerr_application" msgid="250320989337856518">"<xliff:g id="APPLICATION">%1$s</xliff:g> ਰੁਕ ਗਈ ਹੈ"</string> <string name="aerr_process" msgid="6201597323218674729">"<xliff:g id="PROCESS">%1$s</xliff:g> ਰੁਕ ਗਿਆ ਹੈ"</string> @@ -1022,21 +1022,21 @@ <string name="volume_icon_description_incall" msgid="8890073218154543397">"ਕਾਲ ਵੌਲਯੂਮ"</string> <string name="volume_icon_description_media" msgid="4217311719665194215">"ਮੀਡੀਆ ਵੌਲਯੂਮ"</string> <string name="volume_icon_description_notification" msgid="7044986546477282274">"ਸੂਚਨਾ ਵੌਲਯੂਮ"</string> - <string name="ringtone_default" msgid="3789758980357696936">"ਡਿਫੌਲਟ ਰਿੰਗਟੋਨ"</string> - <string name="ringtone_default_with_actual" msgid="8129563480895990372">"ਡਿਫੌਲਟ ਰਿੰਗਟੋਨ (<xliff:g id="ACTUAL_RINGTONE">%1$s</xliff:g>)"</string> + <string name="ringtone_default" msgid="3789758980357696936">"ਪੂਰਵ-ਨਿਰਧਾਰਤ ਰਿੰਗਟੋਨ"</string> + <string name="ringtone_default_with_actual" msgid="8129563480895990372">"ਪੂਰਵ-ਨਿਰਧਾਰਤ ਰਿੰਗਟੋਨ (<xliff:g id="ACTUAL_RINGTONE">%1$s</xliff:g>)"</string> <string name="ringtone_silent" msgid="7937634392408977062">"ਕੋਈ ਨਹੀਂ"</string> <string name="ringtone_picker_title" msgid="3515143939175119094">"ਰਿੰਗਟੋਨਾਂ"</string> <string name="ringtone_unknown" msgid="5477919988701784788">"ਅਗਿਆਤ ਰਿੰਗਟੋਨ"</string> <plurals name="wifi_available" formatted="false" msgid="7900333017752027322"> - <item quantity="one">Wi-Fi ਨੈਟਵਰਕਸ ਉਪਲਬਧ</item> - <item quantity="other">Wi-Fi ਨੈਟਵਰਕਸ ਉਪਲਬਧ</item> + <item quantity="one">Wi-Fi ਨੈੱਟਵਰਕਸ ਉਪਲਬਧ</item> + <item quantity="other">Wi-Fi ਨੈੱਟਵਰਕਸ ਉਪਲਬਧ</item> </plurals> <plurals name="wifi_available_detailed" formatted="false" msgid="1140699367193975606"> - <item quantity="one">ਉਪਲਬਧ Wi-Fi ਨੈਟਵਰਕ ਖੋਲ੍ਹੋ</item> - <item quantity="other">ਉਪਲਬਧ Wi-Fi ਨੈਟਵਰਕ ਖੋਲ੍ਹੋ</item> + <item quantity="one">ਉਪਲਬਧ Wi-Fi ਨੈੱਟਵਰਕ ਖੋਲ੍ਹੋ</item> + <item quantity="other">ਉਪਲਬਧ Wi-Fi ਨੈੱਟਵਰਕ ਖੋਲ੍ਹੋ</item> </plurals> <string name="wifi_available_sign_in" msgid="9157196203958866662">"Wi-Fi ਨੈੱਟਵਰਕ ਵਿੱਚ ਸਾਈਨ ਇਨ ਕਰੋ"</string> - <string name="network_available_sign_in" msgid="1848877297365446605">"ਨੈਟਵਰਕ ਤੇ ਸਾਈਨ ਇਨ ਕਰੋ"</string> + <string name="network_available_sign_in" msgid="1848877297365446605">"ਨੈੱਟਵਰਕ ਤੇ ਸਾਈਨ ਇਨ ਕਰੋ"</string> <!-- no translation found for network_available_sign_in_detailed (8000081941447976118) --> <skip /> <string name="wifi_no_internet" msgid="8451173622563841546">"Wi-Fi ਦੀ ਕੋਈ ਇੰਟਰਨੈਟ ਪਹੁੰਚ ਨਹੀਂ ਹੈ"</string> @@ -1044,7 +1044,7 @@ <string name="wifi_watchdog_network_disabled" msgid="7904214231651546347">"Wi-Fi ਨਾਲ ਕਨੈਕਟ ਨਹੀਂ ਕਰ ਸਕਿਆ"</string> <string name="wifi_watchdog_network_disabled_detailed" msgid="5548780776418332675">" ਇਸਦਾ ਇੱਕ ਖ਼ਰਾਬ ਇੰਟਰਨੈਟ ਕਨੈਕਸ਼ਨ ਹੈ।"</string> <string name="wifi_connect_alert_title" msgid="8455846016001810172">"ਕੀ ਕਨੈਕਸ਼ਨ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string> - <string name="wifi_connect_alert_message" msgid="6451273376815958922">"ਐਪਲੀਕੇਸ਼ਨ %1$s Wifi ਨੈਟਵਰਕ %2$s ਨਾਲ ਕਨੈਕਟ ਕਰਨਾ ਚਾਹੁੰਦਾ ਹੈ"</string> + <string name="wifi_connect_alert_message" msgid="6451273376815958922">"ਐਪਲੀਕੇਸ਼ਨ %1$s Wifi ਨੈੱਟਵਰਕ %2$s ਨਾਲ ਕਨੈਕਟ ਕਰਨਾ ਚਾਹੁੰਦਾ ਹੈ"</string> <string name="wifi_connect_default_application" msgid="7143109390475484319">"ਇੱਕ ਐਪਲੀਕੇਸ਼ਨ"</string> <string name="wifi_p2p_dialog_title" msgid="97611782659324517">"Wi-Fi ਡਾਇਰੈਕਟ"</string> <string name="wifi_p2p_turnon_message" msgid="2909250942299627244">"Wi-Fi ਡਾਇਰੈਕਟ ਚਾਲੂ ਕਰੋ। ਇਹ Wi-Fi ਕਲਾਈਂਟ/ਹੌਟਸਪੌਟ ਨੂੰ ਬੰਦ ਕਰ ਦੇਵੇਗਾ।"</string> @@ -1062,7 +1062,7 @@ <string name="wifi_p2p_frequency_conflict_message" product="tablet" msgid="8012981257742232475">"ਟੈਬਲੇਟ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ਨਾਲ ਕਨੈਕਟ ਕੀਤੇ ਜਾਣ ਤੇ Wi-Fi ਤੋਂ ਅਸਥਾਈ ਤੌਰ ਤੇ ਡਿਸਕਨੈਕਟ ਹੋ ਜਾਏਗੀ"</string> <string name="wifi_p2p_frequency_conflict_message" product="tv" msgid="3087858235069421128">"TV <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ਨਾਲ ਕਨੈਕਟ ਕੀਤੇ ਜਾਣ ਤੇ Wi-Fi ਤੋਂ ਅਸਥਾਈ ਤੌਰ ਤੇ ਡਿਸਕਨੈਕਟ ਹੋ ਜਾਏਗਾ"</string> <string name="wifi_p2p_frequency_conflict_message" product="default" msgid="7363907213787469151">"ਫੋਨ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ਨਾਲ ਕਨੈਕਟ ਕੀਤੇ ਜਾਣ ਤੇ Wi-Fi ਤੋਂ ਅਸਥਾਈ ਤੌਰ ਤੇ ਡਿਸਕਨੈਕਟ ਹੋ ਜਾਏਗਾ"</string> - <string name="select_character" msgid="3365550120617701745">"ਅੱਖਰ ਦਰਜ ਕਰੋ"</string> + <string name="select_character" msgid="3365550120617701745">"ਅੱਖਰ ਦਾਖਲ ਕਰੋ"</string> <string name="sms_control_title" msgid="7296612781128917719">"SMS ਸੁਨੇਹੇ ਭੇਜ ਰਿਹਾ ਹੈ"</string> <string name="sms_control_message" msgid="3867899169651496433">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਵੱਡੀ ਸੰਖਿਆ ਵਿੱਚ SMS ਸੁਨੇਹੇ ਭੇਜ ਰਿਹਾ ਹੈ। ਕੀ ਤੁਸੀਂ ਇਸ ਐਪ ਨੂੰ ਸੁਨੇਹੇ ਭੇਜਣਾ ਜਾਰੀ ਰੱਖਣ ਦੀ ਆਗਿਆ ਦੇਣਾ ਚਾਹੁੰਦੇ ਹੋ?"</string> <string name="sms_control_yes" msgid="3663725993855816807">"ਆਗਿਆ ਦਿਓ"</string> @@ -1077,19 +1077,19 @@ <string name="sms_short_code_confirm_always_allow" msgid="3241181154869493368">"ਹਮੇਸ਼ਾਂ ਆਗਿਆ ਦਿਓ"</string> <string name="sms_short_code_confirm_never_allow" msgid="446992765774269673">"ਕਦੇ ਵੀ ਆਗਿਆ ਨਾ ਦਿਓ"</string> <string name="sim_removed_title" msgid="6227712319223226185">"SIM ਕਾਰਡ ਹਟਾਇਆ ਗਿਆ"</string> - <string name="sim_removed_message" msgid="5450336489923274918">"ਸੈਲਿਊਲਰ ਨੈਟਵਰਕ ਅਣਉਪਲਬਧ ਹੋਵੇਗਾ ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ ਇੱਕ ਪ੍ਰਮਾਣਿਕ SIM ਕਾਰਡ ਪਾ ਕੇ ਰੀਸਟਾਰਟ ਨਹੀਂ ਕਰਦੇ।"</string> + <string name="sim_removed_message" msgid="5450336489923274918">"ਸੈਲਿਊਲਰ ਨੈੱਟਵਰਕ ਅਣਉਪਲਬਧ ਹੋਵੇਗਾ ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ ਇੱਕ ਪ੍ਰਮਾਣਿਕ SIM ਕਾਰਡ ਪਾ ਕੇ ਰੀਸਟਾਰਟ ਨਹੀਂ ਕਰਦੇ।"</string> <string name="sim_done_button" msgid="827949989369963775">"ਹੋ ਗਿਆ"</string> <string name="sim_added_title" msgid="3719670512889674693">"SIM ਕਾਰਡ ਜੋੜਿਆ ਗਿਆ"</string> - <string name="sim_added_message" msgid="7797975656153714319">"ਸੈਲਿਊਲਰ ਨੈਟਵਰਕ ਤੱਕ ਪਹੁੰਚ ਲਈ ਆਪਣੀ ਡਿਵਾਈਸ ਰੀਸਟਾਰਟ ਕਰੋ।"</string> + <string name="sim_added_message" msgid="7797975656153714319">"ਸੈਲਿਊਲਰ ਨੈੱਟਵਰਕ ਤੱਕ ਪਹੁੰਚ ਲਈ ਆਪਣੀ ਡੀਵਾਈਸ ਰੀਸਟਾਰਟ ਕਰੋ।"</string> <string name="sim_restart_button" msgid="4722407842815232347">"ਰੀਸਟਾਰਟ ਕਰੋ"</string> <string name="carrier_app_dialog_message" msgid="7066156088266319533">"ਤੁਹਾਡੀ ਨਵੀਂ SIM ਦੇ ਸਹੀ ਢੰਗ ਨਾਲ ਕੰਮ ਕਰਨ ਲਈ, ਤੁਹਾਨੂੰ ਤੁਹਾਡੇ ਕੈਰੀਅਰ ਤੋਂ ਇੱਕ ਐਪ ਸਥਾਪਤ ਕਰਨ ਅਤੇ ਖੋਲ੍ਹਣ ਦੀ ਲੋੜ ਪਵੇਗੀ।"</string> <string name="carrier_app_dialog_button" msgid="7900235513678617329">"ਐਪ ਪ੍ਰਾਪਤ ਕਰੋ"</string> - <string name="carrier_app_dialog_not_now" msgid="6361378684292268027">"ਹੁਣੇ ਨਹੀਂ"</string> + <string name="carrier_app_dialog_not_now" msgid="6361378684292268027">"ਅਜੇ ਨਹੀਂ"</string> <string name="carrier_app_notification_title" msgid="8921767385872554621">"ਨਵੀਂ SIM ਦਾਖਲ ਕੀਤੀ ਗਈ"</string> <string name="carrier_app_notification_text" msgid="1132487343346050225">"ਇਸ ਨੂੰ ਸੈੱਟ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ"</string> - <string name="time_picker_dialog_title" msgid="8349362623068819295">"ਸਮਾਂ ਸੈਟ ਕਰੋ"</string> - <string name="date_picker_dialog_title" msgid="5879450659453782278">"ਤਾਰੀਖ ਸੈਟ ਕਰੋ"</string> - <string name="date_time_set" msgid="5777075614321087758">"ਸੈਟ ਕਰੋ"</string> + <string name="time_picker_dialog_title" msgid="8349362623068819295">"ਸਮਾਂ ਸੈੱਟ ਕਰੋ"</string> + <string name="date_picker_dialog_title" msgid="5879450659453782278">"ਤਾਰੀਖ ਸੈੱਟ ਕਰੋ"</string> + <string name="date_time_set" msgid="5777075614321087758">"ਸੈੱਟ ਕਰੋ"</string> <string name="date_time_done" msgid="2507683751759308828">"ਹੋ ਗਿਆ"</string> <string name="perms_new_perm_prefix" msgid="8257740710754301407"><font size="12" fgcolor="#ff33b5e5">"ਨਵਾਂ: "</font></string> <string name="perms_description_app" msgid="5139836143293299417">"<xliff:g id="APP_NAME">%1$s</xliff:g> ਵੱਲੋਂ ਮੁਹੱਈਆ ਕੀਤਾ।"</string> @@ -1109,11 +1109,11 @@ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"ਕੀ ਬੱਗ ਰਿਪੋਰਟ ਸਾਂਝੀ ਕਰਨੀ ਹੈ?"</string> <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"ਬੱਗ ਰਿਪੋਰਟ ਸਾਂਝੀ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ…"</string> <string name="share_remote_bugreport_notification_message_finished" msgid="8610614010660772643">"ਤੁਹਾਡੇ IT ਪ੍ਰਸ਼ਾਸਕ ਨੇ ਇਸ ਡੀਵਾਈਸ ਦੀ ਸਮੱਸਿਆ ਨੂੰ ਠੀਕ ਕਰਨ ਵਿੱੱਚ ਮਦਦ ਲਈ ਬੱਗ ਰਿਪੋਰਟ ਦੀ ਬੇਨਤੀ ਕੀਤੀ ਹੈ। ਐਪਾਂ ਅਤੇ ਡੈਟੇ ਨੂੰ ਸਾਂਝਾ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।"</string> - <string name="share_remote_bugreport_action" msgid="6249476773913384948">"ਸਾਂਝੀ ਕਰੋ"</string> + <string name="share_remote_bugreport_action" msgid="6249476773913384948">"ਸਾਂਝਾ ਕਰੋ"</string> <string name="decline_remote_bugreport_action" msgid="6230987241608770062">"ਅਸਵੀਕਾਰ ਕਰੋ"</string> - <string name="select_input_method" msgid="8547250819326693584">"ਕੀਬੋਰਡ ਬਦਲੋ"</string> + <string name="select_input_method" msgid="8547250819326693584">"ਕੀ-ਬੋਰਡ ਬਦਲੋ"</string> <string name="show_ime" msgid="2506087537466597099">"ਭੌਤਿਕ ਕੀ-ਬੋਰਡ ਸਰਗਰਮ ਹੋਣ ਦੌਰਾਨ ਇਸ ਨੂੰ ਸਕ੍ਰੀਨ \'ਤੇ ਬਣਾਈ ਰੱਖੋ"</string> - <string name="hardware" msgid="194658061510127999">"ਵਰਚੁਅਲ ਕੀ-ਬੋਰਡ ਵਿਖਾਓ"</string> + <string name="hardware" msgid="194658061510127999">"ਆਭਾਸੀ ਕੀ-ਬੋਰਡ ਵਿਖਾਓ"</string> <string name="select_keyboard_layout_notification_title" msgid="597189518763083494">"ਭੌਤਿਕ ਕੀ-ਬੋਰਡ ਦਾ ਸੰਰੂਪਣ ਕਰੋ"</string> <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"ਭਾਸ਼ਾ ਅਤੇ ਖਾਕਾ ਚੁਣਨ ਲਈ ਟੈਪ ਕਰੋ"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1133,11 +1133,11 @@ <string name="ext_media_nomedia_notification_message" msgid="6471542972147056586">"<xliff:g id="NAME">%s</xliff:g> ਨੂੰ ਹਟਾਇਆ ਗਿਆ, ਕੋਈ ਨਵਾਂ ਸੰਮਿਲਿਤ ਕਰੋ"</string> <string name="ext_media_unmounting_notification_title" msgid="640674168454809372">"ਅਜੇ ਵੀ <xliff:g id="NAME">%s</xliff:g> ਨੂੰ ਕੱਢ ਰਿਹਾ ਹੈ..."</string> <string name="ext_media_unmounting_notification_message" msgid="4182843895023357756">"ਨਾ ਹਟਾਓ"</string> - <string name="ext_media_init_action" msgid="7952885510091978278">"ਸੈਟ ਅਪ"</string> + <string name="ext_media_init_action" msgid="7952885510091978278">"ਸਥਾਪਤ ਕਰੋ"</string> <string name="ext_media_unmount_action" msgid="1121883233103278199">"ਬਾਹਰ ਕੱਢੋ"</string> <string name="ext_media_browse_action" msgid="8322172381028546087">"ਐਕਸਪਲੋਰ ਕਰੋ"</string> <string name="ext_media_missing_title" msgid="620980315821543904">"<xliff:g id="NAME">%s</xliff:g> ਲਾਪਤਾ"</string> - <string name="ext_media_missing_message" msgid="5761133583368750174">"ਇਸ ਡਿਵਾਈਸ ਨੂੰ ਮੁੜ ਸੰਮਿਲਿਤ ਕਰੋ"</string> + <string name="ext_media_missing_message" msgid="5761133583368750174">"ਇਸ ਡੀਵਾਈਸ ਨੂੰ ਮੁੜ ਸੰਮਿਲਿਤ ਕਰੋ"</string> <string name="ext_media_move_specific_title" msgid="1471100343872375842">"<xliff:g id="NAME">%s</xliff:g> ਮੂਵ ਕਰ ਰਿਹਾ ਹੈ"</string> <string name="ext_media_move_title" msgid="1022809140035962662">"ਡੇਟਾ ਮੂਵ ਕਰ ਰਿਹਾ ਹੈ"</string> <string name="ext_media_move_success_title" msgid="8575300932957954671">"ਮੂਵ ਸੰਪੂਰਣ"</string> @@ -1168,7 +1168,7 @@ <string name="ime_action_go" msgid="8320845651737369027">"ਜਾਓ"</string> <string name="ime_action_search" msgid="658110271822807811">"ਖੋਜੋ"</string> <string name="ime_action_send" msgid="2316166556349314424">"ਭੇਜੋ"</string> - <string name="ime_action_next" msgid="3138843904009813834">"ਅਗਲਾ"</string> + <string name="ime_action_next" msgid="3138843904009813834">"ਅੱਗੇ"</string> <string name="ime_action_done" msgid="8971516117910934605">"ਹੋ ਗਿਆ"</string> <string name="ime_action_previous" msgid="1443550039250105948">"ਪਿੱਛੇ"</string> <string name="ime_action_default" msgid="2840921885558045721">"ਐਗਜੀਕਿਊਟ ਕਰੋ"</string> @@ -1204,14 +1204,14 @@ <string name="vpn_lockdown_config" msgid="4655589351146766608">"ਸੰਰੂਪਣ ਲਈ ਟੈਪ ਕਰੋ"</string> <string name="upload_file" msgid="2897957172366730416">"ਫਾਈਲ ਚੁਣੋ"</string> <string name="no_file_chosen" msgid="6363648562170759465">"ਕੋਈ ਫਾਈਲ ਨਹੀਂ ਚੁਣੀ ਗਈ"</string> - <string name="reset" msgid="2448168080964209908">"ਰੀਸੈਟ ਕਰੋ"</string> + <string name="reset" msgid="2448168080964209908">"ਰੀਸੈੱਟ ਕਰੋ"</string> <string name="submit" msgid="1602335572089911941">"ਪ੍ਰਸਤੁਤ ਕਰੋ"</string> <string name="car_mode_disable_notification_title" msgid="3164768212003864316">"ਕਾਰ ਮੋਡ ਸਮਰਥਿਤ"</string> <string name="car_mode_disable_notification_message" msgid="6301524980144350051">"ਕਾਰ ਮੋਡ ਤੋਂ ਬਾਹਰ ਜਾਣ ਲਈ ਟੈਪ ਕਰੋ।"</string> <string name="tethered_notification_title" msgid="3146694234398202601">"ਟੀਥਰਿਗ ਜਾਂ ਹੌਟਸਪੌਟ ਸਕਿਰਿਆ"</string> <string name="tethered_notification_message" msgid="2113628520792055377">"ਸਥਾਪਤ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ।"</string> <string name="back_button_label" msgid="2300470004503343439">"ਪਿੱਛੇ"</string> - <string name="next_button_label" msgid="1080555104677992408">"ਅਗਲਾ"</string> + <string name="next_button_label" msgid="1080555104677992408">"ਅੱਗੇ"</string> <string name="skip_button_label" msgid="1275362299471631819">"ਛੱਡੋ"</string> <string name="no_matches" msgid="8129421908915840737">"ਕੋਈ ਮੇਲ ਨਹੀਂ"</string> <string name="find_on_page" msgid="1946799233822820384">"ਸਫ਼ੇ ਤੇ ਲੱਭੋ"</string> @@ -1222,13 +1222,13 @@ <string name="action_mode_done" msgid="7217581640461922289">"ਹੋ ਗਿਆ"</string> <string name="progress_erasing" product="nosdcard" msgid="4521573321524340058">"USB ਸਟੋਰੇਜ ਮਿਟਾ ਰਿਹਾ ਹੈ…"</string> <string name="progress_erasing" product="default" msgid="6596988875507043042">"SD ਕਾਰਡ ਮਿਟਾ ਰਿਹਾ ਹੈ…"</string> - <string name="share" msgid="1778686618230011964">"ਸ਼ੇਅਰ ਕਰੋ"</string> + <string name="share" msgid="1778686618230011964">"ਸਾਂਝਾ ਕਰੋ"</string> <string name="find" msgid="4808270900322985960">"ਲੱਭੋ"</string> <string name="websearch" msgid="4337157977400211589">"ਵੈਬ ਖੋਜ"</string> <string name="find_next" msgid="5742124618942193978">"ਅਗਲਾ ਲੱਭੋ"</string> <string name="find_previous" msgid="2196723669388360506">"ਪਿਛਲਾ ਲੱਭੋ"</string> - <string name="gpsNotifTicker" msgid="5622683912616496172">"<xliff:g id="NAME">%s</xliff:g> ਵੱਲੋਂ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਬੇਨਤੀ"</string> - <string name="gpsNotifTitle" msgid="5446858717157416839">"ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਬੇਨਤੀ"</string> + <string name="gpsNotifTicker" msgid="5622683912616496172">"<xliff:g id="NAME">%s</xliff:g> ਵੱਲੋਂ ਟਿਕਾਣਾ ਬੇਨਤੀ"</string> + <string name="gpsNotifTitle" msgid="5446858717157416839">"ਟਿਕਾਣਾ ਬੇਨਤੀ"</string> <string name="gpsNotifMessage" msgid="1374718023224000702">"<xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>) ਵੱਲੋਂ ਬੇਨਤੀ ਕੀਤੀ"</string> <string name="gpsVerifYes" msgid="2346566072867213563">"ਹਾਂ"</string> <string name="gpsVerifNo" msgid="1146564937346454865">"ਨਹੀਂ"</string> @@ -1238,8 +1238,8 @@ <string name="sync_undo_deletes" msgid="2941317360600338602">"ਮਿਟਾਏ ਗਏ ਅਨਡੂ ਕਰੋ"</string> <string name="sync_do_nothing" msgid="3743764740430821845">"ਹੁਣ ਕੁਝ ਨਾ ਕਰੋ"</string> <string name="choose_account_label" msgid="5655203089746423927">"ਇੱਕ ਖਾਤਾ ਚੁਣੋ"</string> - <string name="add_account_label" msgid="2935267344849993553">"ਇੱਕ ਖਾਤਾ ਜੋੜੋ"</string> - <string name="add_account_button_label" msgid="3611982894853435874">"ਖਾਤਾ ਜੋੜੋ"</string> + <string name="add_account_label" msgid="2935267344849993553">"ਇੱਕ ਖਾਤਾ ਸ਼ਾਮਲ ਕਰੋ"</string> + <string name="add_account_button_label" msgid="3611982894853435874">"ਖਾਤਾ ਸ਼ਾਮਲ ਕਰੋ"</string> <string name="number_picker_increment_button" msgid="2412072272832284313">"ਵਧਾਓ"</string> <string name="number_picker_decrement_button" msgid="476050778386779067">"ਘਟਾਓ"</string> <string name="number_picker_increment_scroll_mode" msgid="5259126567490114216">"<xliff:g id="VALUE">%s</xliff:g> ਸਪਰਸ਼ ਕਰੋ & ਦਬਾਈ ਰੱਖੋ।"</string> @@ -1248,8 +1248,8 @@ <string name="time_picker_decrement_minute_button" msgid="6246834937080684791">"ਮਿੰਟ ਘਟਾਓ"</string> <string name="time_picker_increment_hour_button" msgid="3652056055810223139">"ਘੰਟੇ ਵਧਾਓ"</string> <string name="time_picker_decrement_hour_button" msgid="1377479863429214792">"ਘੰਟੇ ਘਟਾਓ"</string> - <string name="time_picker_increment_set_pm_button" msgid="4147590696151230863">"PM ਸੈਟ ਕਰੋ"</string> - <string name="time_picker_decrement_set_am_button" msgid="8302140353539486752">"AM ਸੈਟ ਕਰੋ"</string> + <string name="time_picker_increment_set_pm_button" msgid="4147590696151230863">"PM ਸੈੱਟ ਕਰੋ"</string> + <string name="time_picker_decrement_set_am_button" msgid="8302140353539486752">"AM ਸੈੱਟ ਕਰੋ"</string> <string name="date_picker_increment_month_button" msgid="5369998479067934110">"ਮਹੀਨਾ ਵਧਾਓ"</string> <string name="date_picker_decrement_month_button" msgid="1832698995541726019">"ਮਹੀਨਾ ਘਟਾਓ"</string> <string name="date_picker_increment_day_button" msgid="7130465412308173903">"ਦਿਨ ਵਧਾਓ"</string> @@ -1264,11 +1264,11 @@ <string name="keyboardview_keycode_done" msgid="1992571118466679775">"ਹੋ ਗਿਆ"</string> <string name="keyboardview_keycode_mode_change" msgid="4547387741906537519">"ਮੋਡ ਬਦਲੋ"</string> <string name="keyboardview_keycode_shift" msgid="2270748814315147690">"ਸ਼ਿਫ਼ਟ"</string> - <string name="keyboardview_keycode_enter" msgid="2985864015076059467">"ਦਰਜ ਕਰੋ"</string> + <string name="keyboardview_keycode_enter" msgid="2985864015076059467">"ਦਾਖਲ ਕਰੋ"</string> <string name="activitychooserview_choose_application" msgid="2125168057199941199">"ਇੱਕ ਐਪ ਚੁਣੋ"</string> <string name="activitychooserview_choose_application_error" msgid="8624618365481126668">"<xliff:g id="APPLICATION_NAME">%s</xliff:g> ਨੂੰ ਲੌਂਚ ਨਹੀਂ ਕਰ ਸਕਿਆ"</string> - <string name="shareactionprovider_share_with" msgid="806688056141131819">"ਇਸ ਨਾਲ ਸ਼ੇਅਰ ਕਰੋ"</string> - <string name="shareactionprovider_share_with_application" msgid="5627411384638389738">"<xliff:g id="APPLICATION_NAME">%s</xliff:g> ਨਾਲ ਸ਼ੇਅਰ ਕਰੋ"</string> + <string name="shareactionprovider_share_with" msgid="806688056141131819">"ਇਸ ਨਾਲ ਸਾਂਝਾ ਕਰੋ"</string> + <string name="shareactionprovider_share_with_application" msgid="5627411384638389738">"<xliff:g id="APPLICATION_NAME">%s</xliff:g> ਨਾਲ ਸਾਂਝਾ ਕਰੋ"</string> <string name="content_description_sliding_handle" msgid="415975056159262248">"ਹੈਂਡਲ ਸਲਾਈਡ ਕਰ ਰਿਹਾ ਹੈ। ਛੋਹਵੋ & ਹੋਲਡ ਕਰੋ।"</string> <string name="description_target_unlock_tablet" msgid="3833195335629795055">"ਅਨਲੌਕ ਕਰਨ ਲਈ ਸਵਾਈਪ ਕਰੋ।"</string> <string name="keyboard_headset_required_to_hear_password" msgid="7011927352267668657">"ਬੋਲੀਆਂ ਗਈਆਂ ਪਾਸਵਰਡ ਕੁੰਜੀਆਂ ਸੁਣਨ ਲਈ ਇੱਕ ਹੈਡਸੈਟ ਪਲਗ ਇਨ ਕਰੋ।"</string> @@ -1285,19 +1285,19 @@ <string name="storage_usb_drive_label" msgid="4501418548927759953">"<xliff:g id="MANUFACTURER">%s</xliff:g> USB ਡ੍ਰਾਇਵ"</string> <string name="storage_usb" msgid="3017954059538517278">"USB ਸਟੋਰੇਜ"</string> <string name="extract_edit_menu_button" msgid="8940478730496610137">"ਸੰਪਾਦਿਤ ਕਰੋ"</string> - <string name="data_usage_warning_title" msgid="1955638862122232342">"ਡਾਟਾ ਵਰਤੋਂ ਚਿਤਾਵਨੀ"</string> + <string name="data_usage_warning_title" msgid="1955638862122232342">"ਡੈਟਾ ਵਰਤੋਂ ਚਿਤਾਵਨੀ"</string> <string name="data_usage_warning_body" msgid="6660692274311972007">"ਵਰਤੋਂ ਅਤੇ ਸੈਟਿੰਗਾਂ ਨੂੰ ਵੇਖਣ ਲਈ ਟੈਪ ਕਰੋ।"</string> - <string name="data_usage_3g_limit_title" msgid="4361523876818447683">"2G-3G ਡਾਟਾ ਸੀਮਾ ਪੂਰੀ ਹੋ ਗਈ"</string> - <string name="data_usage_4g_limit_title" msgid="4609566827219442376">"4G ਡਾਟਾ ਸੀਮਾ ਪੂਰੀ ਹੋਈ"</string> - <string name="data_usage_mobile_limit_title" msgid="557158376602636112">"ਸੈਲਿਊਲਰ ਡਾਟਾ ਸੀਮਾ ਪੂਰੀ ਹੋ ਗਈ"</string> - <string name="data_usage_wifi_limit_title" msgid="5803363779034792676">"Wi-Fi ਡਾਟਾ ਸੀਮਾ ਪੂਰੀ ਹੋ ਗਈ"</string> - <string name="data_usage_limit_body" msgid="291731708279614081">"ਬਾਕੀ ਸਾਇਕਲ ਲਈ ਡਾਟਾ ਰੁਕ ਗਿਆ"</string> - <string name="data_usage_3g_limit_snoozed_title" msgid="7026739121138005231">"2G-3G ਡਾਟਾ ਸੀਮਾ ਵਧ ਗਈ"</string> - <string name="data_usage_4g_limit_snoozed_title" msgid="1106562779311209039">"4G ਡਾਟਾ ਸੀਮਾ ਵਧੀ"</string> - <string name="data_usage_mobile_limit_snoozed_title" msgid="4941346653729943789">"ਸੈਲਿਊਲਰ ਡਾਟਾ ਸੀਮਾ ਵਧ ਗਈ"</string> - <string name="data_usage_wifi_limit_snoozed_title" msgid="8743856006384825974">"Wi-Fi ਡਾਟਾ ਸੀਮਾ ਵਧ ਗਈ"</string> + <string name="data_usage_3g_limit_title" msgid="4361523876818447683">"2G-3G ਡੈਟਾ ਸੀਮਾ ਪੂਰੀ ਹੋ ਗਈ"</string> + <string name="data_usage_4g_limit_title" msgid="4609566827219442376">"4G ਡੈਟਾ ਸੀਮਾ ਪੂਰੀ ਹੋਈ"</string> + <string name="data_usage_mobile_limit_title" msgid="557158376602636112">"ਸੈਲਿਊਲਰ ਡੈਟਾ ਸੀਮਾ ਪੂਰੀ ਹੋ ਗਈ"</string> + <string name="data_usage_wifi_limit_title" msgid="5803363779034792676">"Wi-Fi ਡੈਟਾ ਸੀਮਾ ਪੂਰੀ ਹੋ ਗਈ"</string> + <string name="data_usage_limit_body" msgid="291731708279614081">"ਬਾਕੀ ਸਾਇਕਲ ਲਈ ਡੈਟਾ ਰੁਕ ਗਿਆ"</string> + <string name="data_usage_3g_limit_snoozed_title" msgid="7026739121138005231">"2G-3G ਡੈਟਾ ਸੀਮਾ ਵਧ ਗਈ"</string> + <string name="data_usage_4g_limit_snoozed_title" msgid="1106562779311209039">"4G ਡੈਟਾ ਸੀਮਾ ਵਧੀ"</string> + <string name="data_usage_mobile_limit_snoozed_title" msgid="4941346653729943789">"ਸੈਲਿਊਲਰ ਡੈਟਾ ਸੀਮਾ ਵਧ ਗਈ"</string> + <string name="data_usage_wifi_limit_snoozed_title" msgid="8743856006384825974">"Wi-Fi ਡੈਟਾ ਸੀਮਾ ਵਧ ਗਈ"</string> <string name="data_usage_limit_snoozed_body" msgid="7035490278298441767">"<xliff:g id="SIZE">%s</xliff:g> ਤੋਂ ਵੱਧ ਨਿਰਦਿਸ਼ਟ ਸੀਮਾ।"</string> - <string name="data_usage_restricted_title" msgid="5965157361036321914">"ਪਿਛੋਕੜ ਡਾਟਾ ਪ੍ਰਤਿਬੰਧਿਤ"</string> + <string name="data_usage_restricted_title" msgid="5965157361036321914">"ਪਿਛੋਕੜ ਡੈਟਾ ਪ੍ਰਤਿਬੰਧਿਤ"</string> <string name="data_usage_restricted_body" msgid="469866376337242726">"ਪਾਬੰੰਦੀ ਹਟਾਉਣ ਲਈ ਟੈਪ ਕਰੋ।"</string> <string name="ssl_certificate" msgid="6510040486049237639">"ਸੁਰੱਖਿਆ ਸਰਟੀਫਿਕੇਟ"</string> <string name="ssl_certificate_is_valid" msgid="6825263250774569373">"ਇਹ ਸਰਟੀਫਿਕੇਟ ਪ੍ਰਮਾਣਿਕ ਹੈ।"</string> @@ -1315,7 +1315,7 @@ <string name="sha1_fingerprint" msgid="7930330235269404581">"SHA-1 ਫਿੰਗਰਪ੍ਰਿੰਟ:"</string> <string name="activity_chooser_view_see_all" msgid="4292569383976636200">"ਸਭ ਦੇਖੋ"</string> <string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"ਗਤੀਵਿਧੀ ਚੁਣੋ"</string> - <string name="share_action_provider_share_with" msgid="5247684435979149216">"ਇਸ ਨਾਲ ਸ਼ੇਅਰ ਕਰੋ"</string> + <string name="share_action_provider_share_with" msgid="5247684435979149216">"ਇਸ ਨਾਲ ਸਾਂਝਾ ਕਰੋ"</string> <string name="sending" msgid="3245653681008218030">"ਭੇਜ ਰਿਹਾ ਹੈ..."</string> <string name="launchBrowserDefault" msgid="2057951947297614725">"ਕੀ ਬ੍ਰਾਊਜ਼ਰ ਲੌਂਚ ਕਰਨਾ ਹੈ?"</string> <string name="SetupCallDefault" msgid="5834948469253758575">"ਕੀ ਕਾਲ ਸਵੀਕਾਰ ਕਰਨੀ ਹੈ?"</string> @@ -1331,9 +1331,9 @@ <string name="default_audio_route_category_name" msgid="3722811174003886946">"ਸਿਸਟਮ"</string> <string name="bluetooth_a2dp_audio_route_name" msgid="8575624030406771015">"Bluetooth ਔਡੀਓ"</string> <string name="wireless_display_route_description" msgid="9070346425023979651">"ਵਾਇਰਲੈਸ ਡਿਸਪਲੇ"</string> - <string name="media_route_button_content_description" msgid="591703006349356016">"ਜੋੜੋ"</string> - <string name="media_route_chooser_title" msgid="1751618554539087622">"ਡਿਵਾਈਸ ਨਾਲ ਕਨੈਕਟ ਕਰੋ"</string> - <string name="media_route_chooser_title_for_remote_display" msgid="3395541745872017583">"ਡਿਵਾਈਸ ਨਾਲ ਸਕ੍ਰੀਨ ਜੋੜੋ"</string> + <string name="media_route_button_content_description" msgid="591703006349356016">"ਪ੍ਰਸਾਰਿਤ ਕਰੋ"</string> + <string name="media_route_chooser_title" msgid="1751618554539087622">"ਡੀਵਾਈਸ ਨਾਲ ਕਨੈਕਟ ਕਰੋ"</string> + <string name="media_route_chooser_title_for_remote_display" msgid="3395541745872017583">"ਡੀਵਾਈਸ ਨਾਲ ਸਕ੍ਰੀਨ ਜੋੜੋ"</string> <string name="media_route_chooser_searching" msgid="4776236202610828706">"ਡਿਵਾਈਸਾਂ ਦੀ ਖੋਜ ਕਰ ਰਿਹਾ ਹੈ…"</string> <string name="media_route_chooser_extended_settings" msgid="87015534236701604">"ਸੈਟਿੰਗਾਂ"</string> <string name="media_route_controller_disconnect" msgid="8966120286374158649">"ਡਿਸਕਨੈਕਟ ਕਰੋ"</string> @@ -1353,35 +1353,35 @@ <string name="kg_wrong_pin" msgid="1131306510833563801">"ਗ਼ਲਤ PIN"</string> <string name="kg_too_many_failed_attempts_countdown" msgid="6358110221603297548">"<xliff:g id="NUMBER">%1$d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string> <string name="kg_pattern_instructions" msgid="398978611683075868">"ਆਪਣਾ ਪੈਟਰਨ ਡ੍ਰਾ ਕਰੋ"</string> - <string name="kg_sim_pin_instructions" msgid="2319508550934557331">"SIM PIN ਦਰਜ ਕਰੋ"</string> - <string name="kg_pin_instructions" msgid="2377242233495111557">"PIN ਦਰਜ ਕਰੋ"</string> - <string name="kg_password_instructions" msgid="5753646556186936819">"ਪਾਸਵਰਡ ਦਰਜ ਕਰੋ"</string> - <string name="kg_puk_enter_puk_hint" msgid="453227143861735537">"SIM ਹੁਣ ਅਸਮਰਥਿਤ ਹੈ। ਜਾਰੀ ਰੱਖਣ ਲਈ PUK ਕੋਡ ਦਰਜ ਕਰੋ। ਵੇਰਵਿਆਂ ਲਈ ਕੈਰੀਅਰ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string> - <string name="kg_puk_enter_pin_hint" msgid="7871604527429602024">"ਲੁੜੀਂਦਾ PIN ਕੋਡ ਦਰਜ ਕਰੋ"</string> + <string name="kg_sim_pin_instructions" msgid="2319508550934557331">"SIM PIN ਦਾਖਲ ਕਰੋ"</string> + <string name="kg_pin_instructions" msgid="2377242233495111557">"PIN ਦਾਖਲ ਕਰੋ"</string> + <string name="kg_password_instructions" msgid="5753646556186936819">"ਪਾਸਵਰਡ ਦਾਖਲ ਕਰੋ"</string> + <string name="kg_puk_enter_puk_hint" msgid="453227143861735537">"SIM ਹੁਣ ਅਸਮਰਥਿਤ ਹੈ। ਜਾਰੀ ਰੱਖਣ ਲਈ PUK ਕੋਡ ਦਾਖਲ ਕਰੋ। ਵੇਰਵਿਆਂ ਲਈ ਕੈਰੀਅਰ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string> + <string name="kg_puk_enter_pin_hint" msgid="7871604527429602024">"ਲੁੜੀਂਦਾ PIN ਕੋਡ ਦਾਖਲ ਕਰੋ"</string> <string name="kg_enter_confirm_pin_hint" msgid="325676184762529976">"ਲੁੜੀਂਦੇ PIN ਕੋਡ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ"</string> <string name="kg_sim_unlock_progress_dialog_message" msgid="8950398016976865762">"SIM ਕਾਰਡ ਅਨਲੌਕ ਕਰ ਰਿਹਾ ਹੈ…"</string> <string name="kg_password_wrong_pin_code" msgid="1139324887413846912">"ਗ਼ਲਤ PIN ਕੋਡ।"</string> <string name="kg_invalid_sim_pin_hint" msgid="8795159358110620001">"ਇੱਕ PIN ਟਾਈਪ ਕਰੋ ਜੋ 4 ਤੋਂ 8 ਨੰਬਰਾਂ ਦਾ ਹੈ।"</string> <string name="kg_invalid_sim_puk_hint" msgid="6025069204539532000">"PUK ਕੋਡ 8 ਸੰਖਿਆਵਾਂ ਦਾ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।"</string> - <string name="kg_invalid_puk" msgid="3638289409676051243">"ਲਹੀ PUK ਕੋਡ ਮੁੜ-ਦਰਜ ਕਰੋ। ਦੁਹਰਾਈਆਂ ਗਈਆਂ ਕੋਸ਼ਿਸ਼ਾਂ SIM ਨੂੰ ਸਥਾਈ ਤੌਰ ਤੇ ਅਸਮਰੱਥ ਬਣਾ ਦੇਵੇਗਾ।"</string> + <string name="kg_invalid_puk" msgid="3638289409676051243">"ਲਹੀ PUK ਕੋਡ ਮੁੜ-ਦਾਖਲ ਕਰੋ। ਦੁਹਰਾਈਆਂ ਗਈਆਂ ਕੋਸ਼ਿਸ਼ਾਂ SIM ਨੂੰ ਸਥਾਈ ਤੌਰ ਤੇ ਅਸਮਰੱਥ ਬਣਾ ਦੇਵੇਗਾ।"</string> <string name="kg_invalid_confirm_pin_hint" product="default" msgid="7003469261464593516">"PIN ਕੋਡ ਮੇਲ ਨਹੀਂ ਖਾਂਦੇ"</string> <string name="kg_login_too_many_attempts" msgid="6486842094005698475">"ਬਹੁਤ ਜ਼ਿਆਦਾ ਪੈਟਰਨ ਕੋਸ਼ਿਸ਼ਾਂ"</string> <string name="kg_login_instructions" msgid="1100551261265506448">"ਅਨਲੌਕ ਕਰਨ ਲਈ, ਆਪਣੇ Google ਖਾਤੇ ਨਾਲ ਸਾਈਨ ਇਨ ਕਰੋ।"</string> - <string name="kg_login_username_hint" msgid="5718534272070920364">"ਉਪਭੋਗਤਾ ਨਾਮ (ਈਮੇਲ)"</string> + <string name="kg_login_username_hint" msgid="5718534272070920364">"ਵਰਤੋਂਕਾਰ ਨਾਮ (ਈਮੇਲ)"</string> <string name="kg_login_password_hint" msgid="9057289103827298549">"ਪਾਸਵਰਡ"</string> <string name="kg_login_submit_button" msgid="5355904582674054702">"ਸਾਈਨ ਇਨ ਕਰੋ"</string> - <string name="kg_login_invalid_input" msgid="5754664119319872197">"ਅਪ੍ਰਮਾਣਿਕ ਉਪਭੋਗਤਾ ਨਾਮ ਜਾਂ ਪਾਸਵਰਡ।"</string> - <string name="kg_login_account_recovery_hint" msgid="5690709132841752974">"ਕੀ ਤੁਸੀਂ ਆਪਣਾ ਉਪਭੋਗਤਾ ਨਾਮ ਜਾਂ ਪਾਸਵਰਡ ਭੁੱਲ ਗਏ ਹੋ?\n"<b>"google.com/accounts/recovery"</b>" ਤੇ ਜਾਓ।"</string> + <string name="kg_login_invalid_input" msgid="5754664119319872197">"ਅਪ੍ਰਮਾਣਿਕ ਵਰਤੋਂਕਾਰ ਨਾਮ ਜਾਂ ਪਾਸਵਰਡ।"</string> + <string name="kg_login_account_recovery_hint" msgid="5690709132841752974">"ਕੀ ਤੁਸੀਂ ਆਪਣਾ ਵਰਤੋਂਕਾਰ ਨਾਮ ਜਾਂ ਪਾਸਵਰਡ ਭੁੱਲ ਗਏ ਹੋ?\n"<b>"google.com/accounts/recovery"</b>" ਤੇ ਜਾਓ।"</string> <string name="kg_login_checking_password" msgid="1052685197710252395">"ਖਾਤੇ ਦੀ ਜਾਂਚ ਕਰ ਰਿਹਾ ਹੈ…"</string> <string name="kg_too_many_failed_pin_attempts_dialog_message" msgid="8276745642049502550">"ਤੁਸੀਂ ਆਪਣਾ PIN <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟਾਈਪ ਕੀਤਾ ਹੈ। \n\n <xliff:g id="NUMBER_1">%2$d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string> <string name="kg_too_many_failed_password_attempts_dialog_message" msgid="7813713389422226531">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਆਪਣਾ ਪਾਸਵਰਡ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟਾਈਪ ਕੀਤਾ ਹੈ। \n\n <xliff:g id="NUMBER_1">%2$d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string> <string name="kg_too_many_failed_pattern_attempts_dialog_message" msgid="74089475965050805">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਆਪਣਾ ਅਨਲੌਕ ਪੈਟਰਨ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਡ੍ਰਾ ਕੀਤਾ ਹੈ। \n\n <xliff:g id="NUMBER_1">%2$d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string> - <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="1575557200627128949">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟੈਬਲੇਟ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। <xliff:g id="NUMBER_1">%2$d</xliff:g> ਵੱਧ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਟੈਬਲੇਟ ਫੈਕਟਰੀ ਡਿਫੌਲਟ ਤੇ ਰੀਸੈਟ ਹੋ ਜਾਏਗੀ ਅਤੇ ਸਾਰਾ ਉਪਭੋਗਤਾ ਡਾਟਾ ਨਸ਼ਟ ਹੋ ਜਾਏਗਾ।"</string> - <string name="kg_failed_attempts_almost_at_wipe" product="tv" msgid="5621231220154419413">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ TV ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। <xliff:g id="NUMBER_1">%2$d</xliff:g> ਵੱਧ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, TV ਫੈਕਟਰੀ ਡਿਫੌਲਟ ਤੇ ਰੀਸੈਟ ਹੋ ਜਾਏਗਾ ਅਤੇ ਸਾਰਾ ਉਪਭੋਗਤਾ ਡਾਟਾ ਨਸ਼ਟ ਹੋ ਜਾਏਗਾ।"</string> - <string name="kg_failed_attempts_almost_at_wipe" product="default" msgid="4051015943038199910">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਫੋਨ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। <xliff:g id="NUMBER_1">%2$d</xliff:g> ਵੱਧ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਫੋਨ ਫੈਕਟਰੀ ਡਿਫੌਲਟ ਤੇ ਰੀਸੈਟ ਹੋ ਜਾਏਗਾ ਅਤੇ ਸਾਰਾ ਉਪਭੋਗਤਾ ਡਾਟਾ ਨਸ਼ਟ ਹੋ ਜਾਏਗਾ।"</string> - <string name="kg_failed_attempts_now_wiping" product="tablet" msgid="2072996269148483637">"ਤੁਸੀਂ <xliff:g id="NUMBER">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟੈਬਲੇਟ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਹੁਣ ਟੈਬਲੇਟ ਫੈਕਟਰੀ ਡਿਫੌਲਟ ਤੇ ਰੀਸੈਟ ਹੋ ਜਾਏਗੀ।"</string> - <string name="kg_failed_attempts_now_wiping" product="tv" msgid="4987878286750741463">"ਤੁਸੀਂ <xliff:g id="NUMBER">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ TV ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਹੁਣ TV ਫੈਕਟਰੀ ਡਿਫੌਲਟ ਤੇ ਰੀਸੈਟ ਹੋ ਜਾਏਗਾ।"</string> - <string name="kg_failed_attempts_now_wiping" product="default" msgid="4817627474419471518">"ਤੁਸੀਂ <xliff:g id="NUMBER">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਫੋਨ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਹੁਣ ਫੋਨ ਫੈਕਟਰੀ ਡਿਫੌਲਟ ਤੇ ਰੀਸੈਟ ਹੋ ਜਾਏਗਾ।"</string> + <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="1575557200627128949">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟੈਬਲੇਟ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। <xliff:g id="NUMBER_1">%2$d</xliff:g> ਵੱਧ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਟੈਬਲੇਟ ਫੈਕਟਰੀ ਡਿਫੌਲਟ ਤੇ ਰੀਸੈੱਟ ਹੋ ਜਾਏਗੀ ਅਤੇ ਸਾਰਾ ਉਪਭੋਗਤਾ ਡੈਟਾ ਨਸ਼ਟ ਹੋ ਜਾਏਗਾ।"</string> + <string name="kg_failed_attempts_almost_at_wipe" product="tv" msgid="5621231220154419413">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ TV ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। <xliff:g id="NUMBER_1">%2$d</xliff:g> ਵੱਧ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, TV ਫੈਕਟਰੀ ਡਿਫੌਲਟ ਤੇ ਰੀਸੈੱਟ ਹੋ ਜਾਏਗਾ ਅਤੇ ਸਾਰਾ ਉਪਭੋਗਤਾ ਡੈਟਾ ਨਸ਼ਟ ਹੋ ਜਾਏਗਾ।"</string> + <string name="kg_failed_attempts_almost_at_wipe" product="default" msgid="4051015943038199910">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਫੋਨ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। <xliff:g id="NUMBER_1">%2$d</xliff:g> ਵੱਧ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਫੋਨ ਫੈਕਟਰੀ ਡਿਫੌਲਟ ਤੇ ਰੀਸੈੱਟ ਹੋ ਜਾਏਗਾ ਅਤੇ ਸਾਰਾ ਉਪਭੋਗਤਾ ਡੈਟਾ ਨਸ਼ਟ ਹੋ ਜਾਏਗਾ।"</string> + <string name="kg_failed_attempts_now_wiping" product="tablet" msgid="2072996269148483637">"ਤੁਸੀਂ <xliff:g id="NUMBER">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟੈਬਲੇਟ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਹੁਣ ਟੈਬਲੇਟ ਫੈਕਟਰੀ ਡਿਫੌਲਟ ਤੇ ਰੀਸੈੱਟ ਹੋ ਜਾਏਗੀ।"</string> + <string name="kg_failed_attempts_now_wiping" product="tv" msgid="4987878286750741463">"ਤੁਸੀਂ <xliff:g id="NUMBER">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ TV ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਹੁਣ TV ਫੈਕਟਰੀ ਡਿਫੌਲਟ ਤੇ ਰੀਸੈੱਟ ਹੋ ਜਾਏਗਾ।"</string> + <string name="kg_failed_attempts_now_wiping" product="default" msgid="4817627474419471518">"ਤੁਸੀਂ <xliff:g id="NUMBER">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਫੋਨ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਹੁਣ ਫੋਨ ਫੈਕਟਰੀ ਡਿਫੌਲਟ ਤੇ ਰੀਸੈੱਟ ਹੋ ਜਾਏਗਾ।"</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="3253575572118914370">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਆਪਣਾ ਅਨਲੌਕ ਪੈਟਰਨ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਡ੍ਰਾ ਕੀਤਾ ਹੈ। <xliff:g id="NUMBER_1">%2$d</xliff:g> ਹੋਰ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਤੁਹਾਨੂੰ ਇੱਕ ਈਮੇਲ ਖਾਤਾ ਵਰਤਦੇ ਹੋਏ ਆਪਣੀ ਟੈਬਲੇਟ ਅਨਲੌਕ ਕਰਨ ਲਈ ਕਿਹਾ ਜਾਏਗਾ।\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string> <string name="kg_failed_attempts_almost_at_login" product="tv" msgid="4224651132862313471">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਆਪਣਾ ਅਨਲੌਕ ਪੈਟਰਨ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਡ੍ਰਾ ਕੀਤਾ ਹੈ। <xliff:g id="NUMBER_1">%2$d</xliff:g> ਹੋਰ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਤੁਹਾਨੂੰ ਇੱਕ ਈਮੇਲ ਖਾਤਾ ਵਰਤਦੇ ਹੋਏ ਆਪਣਾ TV ਅਨਲੌਕ ਕਰਨ ਲਈ ਕਿਹਾ ਜਾਏਗਾ।\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="1437638152015574839">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਆਪਣਾ ਅਨਲੌਕ ਪੈਟਰਨ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਡ੍ਰਾ ਕੀਤਾ ਹੈ। <xliff:g id="NUMBER_1">%2$d</xliff:g> ਹੋਰ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਤੁਹਾਨੂੰ ਇੱਕ ਈਮੇਲ ਖਾਤਾ ਵਰਤਦੇ ਹੋਏ ਆਪਣਾ ਫੋਨ ਅਨਲੌਕ ਕਰਨ ਲਈ ਕਿਹਾ ਜਾਏਗਾ।\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string> @@ -1488,8 +1488,8 @@ <string name="reason_service_unavailable" msgid="7824008732243903268">"ਪ੍ਰਿੰਟ ਸੇਵਾ ਸਮਰਥਿਤ ਨਹੀਂ"</string> <string name="print_service_installed_title" msgid="2246317169444081628">"<xliff:g id="NAME">%s</xliff:g> ਸੇਵਾ ਇੰਸਟੌਲ ਕੀਤੀ"</string> <string name="print_service_installed_message" msgid="5897362931070459152">"ਸਮਰੱਥ ਬਣਾਉਣ ਲਈ ਟੈਪ ਕਰੋ"</string> - <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"ਪ੍ਰਬੰਧਕ PIN ਦਰਜ ਕਰੋ"</string> - <string name="restr_pin_enter_pin" msgid="3395953421368476103">"PIN ਦਰਜ ਕਰੋ"</string> + <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"ਪ੍ਰਬੰਧਕ PIN ਦਾਖਲ ਕਰੋ"</string> + <string name="restr_pin_enter_pin" msgid="3395953421368476103">"PIN ਦਾਖਲ ਕਰੋ"</string> <string name="restr_pin_incorrect" msgid="8571512003955077924">"ਗ਼ਲਤ"</string> <string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"ਮੌਜੂਦਾ PIN"</string> <string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"ਨਵਾਂ PIN"</string> @@ -1504,7 +1504,7 @@ <string name="restr_pin_try_later" msgid="973144472490532377">"ਬਾਅਦ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string> <string name="immersive_cling_title" msgid="8394201622932303336">"ਪੂਰੀ ਸਕ੍ਰੀਨ ਦੇਖ ਰਿਹਾ ਹੈ"</string> <string name="immersive_cling_description" msgid="3482371193207536040">"ਬਾਹਰ ਜਾਣ ਲਈ, ਟੌਪ ਤੋਂ ਹੇਠਾਂ ਸਵਾਈਪ ਕਰੋ।"</string> - <string name="immersive_cling_positive" msgid="5016839404568297683">"ਸਮਝ ਗਿਆ"</string> + <string name="immersive_cling_positive" msgid="5016839404568297683">"ਸਮਝ ਲਿਆ"</string> <string name="done_label" msgid="2093726099505892398">"ਹੋ ਗਿਆ"</string> <string name="hour_picker_description" msgid="6698199186859736512">"ਘੰਟੇ ਸਰਕੁਲਰ ਸਲਾਈਡਰ"</string> <string name="minute_picker_description" msgid="8606010966873791190">"ਮਿੰਟ ਸਰਕੁਲਰ ਸਲਾਈਡਰ"</string> @@ -1516,7 +1516,7 @@ <string name="managed_profile_label_badge" msgid="2355652472854327647">"ਕੰਮ <xliff:g id="LABEL">%1$s</xliff:g>"</string> <string name="lock_to_app_toast" msgid="1420543809500606964">"ਇਸ ਸਕ੍ਰੀਨ ਨੂੰ ਅਨਪਿੰਨ ਕਰਨ ਲਈ, ਸਪਰਸ਼ ਕਰੋ & ਦਬਾਈ ਰੱਖੋ।"</string> <string name="lock_to_app_toast_accessible" msgid="2302154926850846096">"ਇਸ ਸਕ੍ਰੀਨ ਨੂੰ ਅਨਪਿੰਨ ਕਰਨ ਲਈ, ਸਪਰਸ਼ ਕਰੋ & ਰੂਪਰੇਖਾ ਨੂੰ ਦਬਾਈ ਰੱਖੋ।"</string> - <string name="lock_to_app_toast_locked" msgid="9125176335701699164">"ਐਪ ਪਿੰਨਡ ਹੈ: ਇਸ ਡਿਵਾਈਸ ਤੇ ਅਨਪਿਨ ਕਰਨ ਦੀ ਆਗਿਆ ਨਹੀਂ ਹੈ।"</string> + <string name="lock_to_app_toast_locked" msgid="9125176335701699164">"ਐਪ ਪਿੰਨਡ ਹੈ: ਇਸ ਡੀਵਾਈਸ ਤੇ ਅਨਪਿਨ ਕਰਨ ਦੀ ਆਗਿਆ ਨਹੀਂ ਹੈ।"</string> <string name="lock_to_app_start" msgid="6643342070839862795">"ਸਕ੍ਰੀਨ ਪਿੰਨ ਕੀਤੀ"</string> <string name="lock_to_app_exit" msgid="8598219838213787430">"ਸਕ੍ਰੀਨ ਅਨਪਿਨ ਕੀਤੀ"</string> <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"ਅਨਪਿਨ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ PIN ਮੰਗੋ"</string> @@ -1525,7 +1525,7 @@ <string name="package_installed_device_owner" msgid="8420696545959087545">"ਤੁਹਾਡੇ ਪ੍ਰਬੰਧਕ ਵੱਲੋਂ ਇੰਸਟੌਲ ਕੀਤਾ ਗਿਆ"</string> <string name="package_updated_device_owner" msgid="8856631322440187071">"ਤੁਹਾਡੇ ਪ੍ਰਸ਼ਾਸਕ ਦੁਆਰਾ ਅਪਡੇਟ ਕੀਤਾ ਗਿਆ"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"ਤੁਹਾਡੇ ਪ੍ਰਬੰਧਕ ਵੱਲੋਂ ਮਿਟਾਇਆ ਗਿਆ"</string> - <string name="battery_saver_description" msgid="1960431123816253034">"ਬੈਟਰੀ ਸਮਰੱਥਾ ਨੂੰ ਬਿਹਤਰ ਸਹਾਇਤਾ ਕਰਨ ਲਈ, ਬੈਟਰੀ ਸੇਵਰ ਤੁਹਾਡੀ ਡਿਵਾਈਸ ਦਾ ਪ੍ਰਦਰਸ਼ਨ ਘਟਾਉਂਦਾ ਹੈ ਅਤੇ ਵਾਈਬ੍ਰੇਸ਼ਨ, ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਸੇਵਾਵਾਂ ਅਤੇ ਜ਼ਿਆਦਾਤਰ ਪਿਛੋਕੜ ਡਾਟਾ ਨੂੰ ਸੀਮਿਤ ਕਰਦਾ ਹੈ। ਈਮੇਲ, ਮੈਸੇਜਿੰਗ ਅਤੇ ਹੋਰ ਐਪਸ, ਜੋ ਸਿੰਕਿੰਗ ਤੇ ਨਿਰਭਰ ਹਨ, ਉਹ ਉਦੋਂ ਤੱਕ ਅਪਡੇਟ ਨਹੀਂ ਕੀਤੇ ਜਾ ਸਕਦੇ ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ ਉਹਨਾਂ ਨੂੰ ਖੋਲ੍ਹਦੇ ਨਹੀਂ।\n\nਬੈਟਰੀ ਸੇਵਰ ਆਟੋਮੈਟਿਕਲੀ ਬੰਦ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਤੁਹਾਡੀ ਡਿਵਾਈਸ ਚਾਰਜ ਹੋ ਰਹੀ ਹੁੰਦੀ ਹੈ।"</string> + <string name="battery_saver_description" msgid="1960431123816253034">"ਬੈਟਰੀ ਸਮਰੱਥਾ ਨੂੰ ਬਿਹਤਰ ਸਹਾਇਤਾ ਕਰਨ ਲਈ, ਬੈਟਰੀ ਸੇਵਰ ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਦਾ ਪ੍ਰਦਰਸ਼ਨ ਘਟਾਉਂਦਾ ਹੈ ਅਤੇ ਵਾਈਬ੍ਰੇਸ਼ਨ, ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਸੇਵਾਵਾਂ ਅਤੇ ਜ਼ਿਆਦਾਤਰ ਪਿਛੋਕੜ ਡੈਟਾ ਨੂੰ ਸੀਮਿਤ ਕਰਦਾ ਹੈ। ਈਮੇਲ, ਮੈਸੇਜਿੰਗ ਅਤੇ ਹੋਰ ਐਪਸ, ਜੋ ਸਿੰਕਿੰਗ ਤੇ ਨਿਰਭਰ ਹਨ, ਉਹ ਉਦੋਂ ਤੱਕ ਅਪਡੇਟ ਨਹੀਂ ਕੀਤੇ ਜਾ ਸਕਦੇ ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ ਉਹਨਾਂ ਨੂੰ ਖੋਲ੍ਹਦੇ ਨਹੀਂ।\n\nਬੈਟਰੀ ਸੇਵਰ ਆਟੋਮੈਟਿਕਲੀ ਬੰਦ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਚਾਰਜ ਹੋ ਰਹੀ ਹੁੰਦੀ ਹੈ।"</string> <string name="data_saver_description" msgid="6015391409098303235">"ਡੈਟਾ ਵਰਤੋਂ ਘਟਾਉਣ ਵਿੱਚ ਮਦਦ ਲਈ, ਡੈਟਾ ਸੇਵਰ ਕੁਝ ਐਪਾਂ ਨੂੰ ਬੈਕਗ੍ਰਾਊਂਡ ਵਿੱਚ ਡੈਟਾ ਭੇਜਣ ਜਾਂ ਪ੍ਰਾਪਤ ਕਰਨ ਤੋਂ ਰੋਕਦਾ ਹੈ। ਤੁਹਾਡੇ ਵੱਲੋਂ ਵਰਤਮਾਨ ਤੌਰ \'ਤੇ ਵਰਤੀ ਜਾ ਰਹੀ ਐਪ ਡੈਟੇ \'ਤੇ ਪਹੁੰਚ ਕਰ ਸਕਦੀ ਹੈ, ਪਰ ਉਹ ਇੰਝ ਕਦੇ-ਕਦਾਈਂ ਕਰ ਸਕਦੀ ਹੈ। ਉਦਾਹਰਨ ਲਈ, ਇਸ ਦਾ ਮਤਲਬ ਇਹ ਹੋ ਸਕਦਾ ਹੈ ਕਿ ਚਿਤਰ ਤਦ ਤੱਕ ਨਹੀਂ ਵਿਖਾਏ ਜਾਂਦੇ, ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ ਉਹਨਾਂ \'ਤੇ ਟੈਪ ਨਹੀਂ ਕਰਦੇ।"</string> <string name="data_saver_enable_title" msgid="4674073932722787417">"ਕੀ ਡੈਟਾ ਸੇਵਰ ਚਾਲੂ ਕਰਨਾ ਹੈ?"</string> <string name="data_saver_enable_button" msgid="7147735965247211818">"ਚਾਲੂ ਕਰੋ"</string> @@ -1573,8 +1573,8 @@ <string name="zen_mode_default_weekends_name" msgid="2786495801019345244">"ਹਫ਼ਤੇ ਦਾ ਅੰਤਲਾ ਦਿਨ"</string> <string name="zen_mode_default_events_name" msgid="8158334939013085363">"ਇਵੈਂਟ"</string> <string name="muted_by" msgid="6147073845094180001">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> ਵੱਲੋਂ ਮਿਊਟ ਕੀਤਾ ਗਿਆ"</string> - <string name="system_error_wipe_data" msgid="6608165524785354962">"ਤੁਹਾਡੀ ਡਿਵਾਈਸ ਨਾਲ ਇੱਕ ਅੰਦਰੂਨੀ ਸਮੱਸਿਆ ਹੈ ਅਤੇ ਇਹ ਅਸਥਿਰ ਹੋ ਸਕਦੀ ਹੈ ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ ਫੈਕਟਰੀ ਡਾਟਾ ਰੀਸੈਟ ਨਹੀਂ ਕਰਦੇ।"</string> - <string name="system_error_manufacturer" msgid="8086872414744210668">"ਤੁਹਾਡੀ ਡਿਵਾਈਸ ਨਾਲ ਇੱਕ ਅੰਦਰੂਨੀ ਸਮੱਸਿਆ ਸੀ। ਵੇਰਵਿਆਂ ਲਈ ਆਪਣੇ ਨਿਰਮਾਤਾ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string> + <string name="system_error_wipe_data" msgid="6608165524785354962">"ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਨਾਲ ਇੱਕ ਅੰਦਰੂਨੀ ਸਮੱਸਿਆ ਹੈ ਅਤੇ ਇਹ ਅਸਥਿਰ ਹੋ ਸਕਦੀ ਹੈ ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ ਫੈਕਟਰੀ ਡੈਟਾ ਰੀਸੈੱਟ ਨਹੀਂ ਕਰਦੇ।"</string> + <string name="system_error_manufacturer" msgid="8086872414744210668">"ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਨਾਲ ਇੱਕ ਅੰਦਰੂਨੀ ਸਮੱਸਿਆ ਸੀ। ਵੇਰਵਿਆਂ ਲਈ ਆਪਣੇ ਨਿਰਮਾਤਾ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string> <string name="stk_cc_ussd_to_dial" msgid="5202342984749947872">"USSD ਬੇਨਤੀ DIAL ਬੇਨਤੀ ਵਿੱਚ ਸੰਸ਼ੋਧਿਤ ਕੀਤੀ ਗਈ ਹੈ।"</string> <string name="stk_cc_ussd_to_ss" msgid="2345360594181405482">"USSD ਬੇਨਤੀ SS ਬੇਨਤੀ ਵਿੱਚ ਸੰਸ਼ੋਧਿਤ ਕੀਤੀ ਗਈ ਹੈ।"</string> <string name="stk_cc_ussd_to_ussd" msgid="7466087659967191653">"USSD ਬੇਨਤੀ ਨਵੀਂ USSD ਬੇਨਤੀ ਵਿੱਚ ਸੰਸ਼ੋਧਿਤ ਕੀਤੀ ਗਈ ਹੈ।"</string> diff --git a/core/res/res/values-ro/strings.xml b/core/res/res/values-ro/strings.xml index 2175c32fb904..f28166c8e7a0 100644 --- a/core/res/res/values-ro/strings.xml +++ b/core/res/res/values-ro/strings.xml @@ -42,7 +42,7 @@ <string name="untitled" msgid="4638956954852782576">"<Fără titlu>"</string> <string name="emptyPhoneNumber" msgid="7694063042079676517">"(Niciun număr de telefon)"</string> <string name="unknownName" msgid="6867811765370350269">"Necunoscut"</string> - <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Mesaj vocal"</string> + <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Mesagerie vocală"</string> <string name="defaultMsisdnAlphaTag" msgid="2850889754919584674">"MSISDN1"</string> <string name="mmiError" msgid="5154499457739052907">"Problemă de conexiune sau cod MMI nevalid."</string> <string name="mmiFdnError" msgid="5224398216385316471">"Operația este limitată la numerele cu apelări restricționate."</string> @@ -258,7 +258,7 @@ <string name="permgrouplab_microphone" msgid="171539900250043464">"Microfonul"</string> <string name="permgroupdesc_microphone" msgid="4988812113943554584">"înregistreze sunet"</string> <string name="permgrouplab_camera" msgid="4820372495894586615">"Camera foto"</string> - <string name="permgroupdesc_camera" msgid="3250611594678347720">"fotografieze și să înregistreze imagini"</string> + <string name="permgroupdesc_camera" msgid="3250611594678347720">"fotografieze și să înregistreze videoclipuri"</string> <string name="permgrouplab_phone" msgid="5229115638567440675">"Telefon"</string> <string name="permgroupdesc_phone" msgid="6234224354060641055">"inițieze și să gestioneze apeluri telefonice"</string> <string name="permgrouplab_sensors" msgid="416037179223226722">"Senzori corporali"</string> @@ -525,11 +525,11 @@ <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Monitorizați numărul de parole incorecte introduse la deblocarea ecranului și blocați tableta sau ștergeți toate datele acestui utilizator dacă se introduc prea multe parole incorecte."</string> <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Monitorizați numărul de parole incorecte introduse la deblocarea ecranului și blocați televizorul sau ștergeți toate datele acestui utilizator dacă se introduc prea multe parole incorecte."</string> <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Monitorizați numărul de parole incorecte introduse la deblocarea ecranului și blocați telefonul sau ștergeți toate datele acestui utilizator dacă se introduc prea multe parole incorecte."</string> - <string name="policylab_resetPassword" msgid="4934707632423915395">"Schimbarea setărilor de blocare a ecranului"</string> + <string name="policylab_resetPassword" msgid="4934707632423915395">"Să schimbe blocarea ecranului"</string> <string name="policydesc_resetPassword" msgid="1278323891710619128">"Modificați blocarea ecranului."</string> - <string name="policylab_forceLock" msgid="2274085384704248431">"Blocați ecranul"</string> + <string name="policylab_forceLock" msgid="2274085384704248431">"Să blocheze ecranul"</string> <string name="policydesc_forceLock" msgid="1141797588403827138">"Stabiliți modul și timpul în care se blochează ecranul."</string> - <string name="policylab_wipeData" msgid="3910545446758639713">"Ștergere integrală date"</string> + <string name="policylab_wipeData" msgid="3910545446758639713">"Să șteargă toate datele"</string> <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Ștergeți datele de pe tabletă fără avertisment, efectuând resetarea configurării din fabrică."</string> <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Ștergeți datele de pe televizor fără avertisment, prin revenirea la setările din fabrică."</string> <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Ștergeți datele din telefon fără avertisment, efectuând resetarea configurării din fabrică."</string> @@ -600,14 +600,14 @@ <string name="phoneTypeOther" msgid="1544425847868765990">"Altele"</string> <string name="phoneTypeCallback" msgid="2712175203065678206">"Apelare inversă"</string> <string name="phoneTypeCar" msgid="8738360689616716982">"Mașină"</string> - <string name="phoneTypeCompanyMain" msgid="540434356461478916">"Numărul de telefon principal al companiei"</string> + <string name="phoneTypeCompanyMain" msgid="540434356461478916">"Companie (principal)"</string> <string name="phoneTypeIsdn" msgid="8022453193171370337">"ISDN"</string> - <string name="phoneTypeMain" msgid="6766137010628326916">"Număr de telefon principal"</string> + <string name="phoneTypeMain" msgid="6766137010628326916">"Principal"</string> <string name="phoneTypeOtherFax" msgid="8587657145072446565">"Alt număr de fax"</string> <string name="phoneTypeRadio" msgid="4093738079908667513">"Radio"</string> <string name="phoneTypeTelex" msgid="3367879952476250512">"Telex"</string> <string name="phoneTypeTtyTdd" msgid="8606514378585000044">"TTY TDD"</string> - <string name="phoneTypeWorkMobile" msgid="1311426989184065709">"Telefon mobil serviciu"</string> + <string name="phoneTypeWorkMobile" msgid="1311426989184065709">"Mobil serviciu"</string> <string name="phoneTypeWorkPager" msgid="649938731231157056">"Pager serviciu"</string> <string name="phoneTypeAssistant" msgid="5596772636128562884">"Asistent"</string> <string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string> @@ -682,7 +682,7 @@ <string name="lockscreen_pattern_wrong" msgid="4317955014948108794">"Încercați din nou"</string> <string name="lockscreen_password_wrong" msgid="5737815393253165301">"Încercați din nou"</string> <string name="faceunlock_multiple_failures" msgid="754137583022792429">"S-a depășit numărul maxim de încercări pentru Deblocare facială"</string> - <string name="lockscreen_missing_sim_message_short" msgid="5099439277819215399">"Niciun card SIM"</string> + <string name="lockscreen_missing_sim_message_short" msgid="5099439277819215399">"Fără SIM."</string> <string name="lockscreen_missing_sim_message" product="tablet" msgid="151659196095791474">"Nu există card SIM în computerul tablet PC."</string> <string name="lockscreen_missing_sim_message" product="tv" msgid="1943633865476989599">"Niciun card SIM în televizor."</string> <string name="lockscreen_missing_sim_message" product="default" msgid="2186920585695169078">"Telefonul nu are card SIM."</string> @@ -1040,7 +1040,7 @@ <string name="ringtone_default" msgid="3789758980357696936">"Ton de apel prestabilit"</string> <string name="ringtone_default_with_actual" msgid="8129563480895990372">"Ton de apel prestabilit (<xliff:g id="ACTUAL_RINGTONE">%1$s</xliff:g>)"</string> <string name="ringtone_silent" msgid="7937634392408977062">"Niciunul"</string> - <string name="ringtone_picker_title" msgid="3515143939175119094">"Tonuri de apel"</string> + <string name="ringtone_picker_title" msgid="3515143939175119094">"Tonuri de sonerie"</string> <string name="ringtone_unknown" msgid="5477919988701784788">"Ton de apel necunoscut"</string> <plurals name="wifi_available" formatted="false" msgid="7900333017752027322"> <item quantity="few">Rețele Wi-Fi disponibile</item> @@ -1542,7 +1542,7 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Actualizat de un administrator"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Șters de administrator"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Pentru a îmbunătăți autonomia bateriei, funcția de economisire a energiei reduce performanțele dispozitivului și limitează vibrațiile, serviciile de localizare și majoritatea datelor de fundal. Este posibil ca e-mailurile, mesageria și alte aplicații care depind de sincronizare să nu se actualizeze dacă nu le deschideți.\n\nFuncția de economisire a energiei se dezactivează automat când dispozitivul se încarcă."</string> - <string name="data_saver_description" msgid="6015391409098303235">"Pentru a contribui la reducerea utilizării de date, Economizorul de date împiedică unele aplicații să trimită sau să primească date în fundal. O aplicație pe care o folosiți în prezent poate să acceseze datele, dar o poate face mai rar. Aceasta poate însemna, de exemplu, că imaginile se afișează numai după ce le atingeți."</string> + <string name="data_saver_description" msgid="6015391409098303235">"Pentru a contribui la reducerea utilizării de date, Economizorul de date împiedică unele aplicații să trimită sau să primească date în fundal. O aplicație pe care o folosiți poate accesa datele, însă mai rar. Aceasta poate însemna, de exemplu, că imaginile se afișează numai după ce le atingeți."</string> <string name="data_saver_enable_title" msgid="4674073932722787417">"Activați Economizorul de date?"</string> <string name="data_saver_enable_button" msgid="7147735965247211818">"Activați"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> diff --git a/core/res/res/values-ru/strings.xml b/core/res/res/values-ru/strings.xml index 3f1123901a31..fce83ced4e07 100644 --- a/core/res/res/values-ru/strings.xml +++ b/core/res/res/values-ru/strings.xml @@ -259,7 +259,7 @@ <string name="permgrouplab_storage" msgid="1971118770546336966">"Память"</string> <string name="permgroupdesc_storage" msgid="637758554581589203">"доступ к фото, мультимедиа и файлам на вашем устройстве"</string> <string name="permgrouplab_microphone" msgid="171539900250043464">"Микрофон"</string> - <string name="permgroupdesc_microphone" msgid="4988812113943554584">"запись аудио"</string> + <string name="permgroupdesc_microphone" msgid="4988812113943554584">"записывать аудио"</string> <string name="permgrouplab_camera" msgid="4820372495894586615">"Камера"</string> <string name="permgroupdesc_camera" msgid="3250611594678347720">"снимать фото и видео"</string> <string name="permgrouplab_phone" msgid="5229115638567440675">"Телефон"</string> diff --git a/core/res/res/values-sk/strings.xml b/core/res/res/values-sk/strings.xml index 3ab2d0b472b4..cac680e9893f 100644 --- a/core/res/res/values-sk/strings.xml +++ b/core/res/res/values-sk/strings.xml @@ -261,7 +261,7 @@ <string name="permgrouplab_microphone" msgid="171539900250043464">"Mikrofón"</string> <string name="permgroupdesc_microphone" msgid="4988812113943554584">"zaznamenávanie zvuku"</string> <string name="permgrouplab_camera" msgid="4820372495894586615">"Fotoaparát"</string> - <string name="permgroupdesc_camera" msgid="3250611594678347720">"fotenie a zaznamenávanie videí"</string> + <string name="permgroupdesc_camera" msgid="3250611594678347720">"fotenie a natáčanie videí"</string> <string name="permgrouplab_phone" msgid="5229115638567440675">"Telefón"</string> <string name="permgroupdesc_phone" msgid="6234224354060641055">"telefonovať a spravovať hovory"</string> <string name="permgrouplab_sensors" msgid="416037179223226722">"Telesné senzory"</string> @@ -603,13 +603,13 @@ <string name="phoneTypeOther" msgid="1544425847868765990">"Iné"</string> <string name="phoneTypeCallback" msgid="2712175203065678206">"Spätné volanie"</string> <string name="phoneTypeCar" msgid="8738360689616716982">"Telefón v aute"</string> - <string name="phoneTypeCompanyMain" msgid="540434356461478916">"Hlavné číslo spoločnosti"</string> + <string name="phoneTypeCompanyMain" msgid="540434356461478916">"Hlavné firemné"</string> <string name="phoneTypeIsdn" msgid="8022453193171370337">"ISDN"</string> <string name="phoneTypeMain" msgid="6766137010628326916">"Hlavné"</string> <string name="phoneTypeOtherFax" msgid="8587657145072446565">"Iný fax"</string> <string name="phoneTypeRadio" msgid="4093738079908667513">"Rádiotelefón"</string> <string name="phoneTypeTelex" msgid="3367879952476250512">"Telex"</string> - <string name="phoneTypeTtyTdd" msgid="8606514378585000044">"TTY TDD"</string> + <string name="phoneTypeTtyTdd" msgid="8606514378585000044">"Textový telefón"</string> <string name="phoneTypeWorkMobile" msgid="1311426989184065709">"Pracovný mobil"</string> <string name="phoneTypeWorkPager" msgid="649938731231157056">"Pracovný pager"</string> <string name="phoneTypeAssistant" msgid="5596772636128562884">"Asistent"</string> @@ -958,7 +958,7 @@ <string name="yes" msgid="5362982303337969312">"OK"</string> <string name="no" msgid="5141531044935541497">"Zrušiť"</string> <string name="dialog_alert_title" msgid="2049658708609043103">"Upozornenie"</string> - <string name="loading" msgid="7933681260296021180">"Prebieha načítavanie..."</string> + <string name="loading" msgid="7933681260296021180">"Načítava sa…"</string> <string name="capital_on" msgid="1544682755514494298">"I"</string> <string name="capital_off" msgid="6815870386972805832">"O"</string> <string name="whichApplication" msgid="4533185947064773386">"Dokončiť akciu pomocou aplikácie"</string> @@ -1561,7 +1561,7 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Aktualizované správcom"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Odstránený správcom"</string> <string name="battery_saver_description" msgid="1960431123816253034">"S cieľom predĺžiť výdrž batérie zníži šetrič batérie výkonnosť zariadenia a obmedzí vibrácie, služby určovania polohy a dátové prenosy na pozadí. Pošta, čet a ďalšie aplikácie, ktoré sa spoliehajú na synchronizáciu, sa možno nebudú aktualizovať, dokiaľ ich neotvoríte.\n\nPri nabíjaní zariadenia sa šetrič batérie automaticky vypne."</string> - <string name="data_saver_description" msgid="6015391409098303235">"Ak chcete znížiť spotrebu dát, dátový server zabráni niektorým aplikáciam odosielať alebo prijímať dáta na pozadí. Aplikácia, ktorú momentálne používate, môže pristupovať k dátam, ale môže to robiť menej často. Znamená to, že napríklad obrázky sa nezobrazia, kým na ne neklepnete."</string> + <string name="data_saver_description" msgid="6015391409098303235">"Šetrič dát bráni niektorým aplikáciám odosielať alebo prijímať dáta na pozadí s cieľom znížiť spotrebu dát. Aplikácia, ktorú momentálne používate, môže prenášať dáta, ale môže to robiť menej často. Znamená to napríklad, že sa nezobrazia obrázky, kým na ne neklepnete."</string> <string name="data_saver_enable_title" msgid="4674073932722787417">"Zapnúť Šetrič dát?"</string> <string name="data_saver_enable_button" msgid="7147735965247211818">"Zapnúť"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> diff --git a/core/res/res/values-sl/strings.xml b/core/res/res/values-sl/strings.xml index bb59a0987e91..84f5ca8e7ffb 100644 --- a/core/res/res/values-sl/strings.xml +++ b/core/res/res/values-sl/strings.xml @@ -552,7 +552,7 @@ <string name="policydesc_disableKeyguardFeatures" msgid="2044755691354158439">"Prepreči uporabo nekaterih funkcij zaklepanja zaslona."</string> <string-array name="phoneTypes"> <item msgid="8901098336658710359">"Dom"</item> - <item msgid="869923650527136615">"Mobilni"</item> + <item msgid="869923650527136615">"Mobilni telefon"</item> <item msgid="7897544654242874543">"Služba"</item> <item msgid="1103601433382158155">"Službeni faks"</item> <item msgid="1735177144948329370">"Domači faks"</item> @@ -595,7 +595,7 @@ </string-array> <string name="phoneTypeCustom" msgid="1644738059053355820">"Po meri"</string> <string name="phoneTypeHome" msgid="2570923463033985887">"Dom"</string> - <string name="phoneTypeMobile" msgid="6501463557754751037">"Mobilni"</string> + <string name="phoneTypeMobile" msgid="6501463557754751037">"Mobilni telefon"</string> <string name="phoneTypeWork" msgid="8863939667059911633">"Služba"</string> <string name="phoneTypeFaxWork" msgid="3517792160008890912">"Službeni faks"</string> <string name="phoneTypeFaxHome" msgid="2067265972322971467">"Domači faks"</string> @@ -603,9 +603,9 @@ <string name="phoneTypeOther" msgid="1544425847868765990">"Drugo"</string> <string name="phoneTypeCallback" msgid="2712175203065678206">"Povratni klic"</string> <string name="phoneTypeCar" msgid="8738360689616716982">"Avto"</string> - <string name="phoneTypeCompanyMain" msgid="540434356461478916">"Podjetje (glavno)"</string> + <string name="phoneTypeCompanyMain" msgid="540434356461478916">"Podjetje (glavna št.)"</string> <string name="phoneTypeIsdn" msgid="8022453193171370337">"ISDN"</string> - <string name="phoneTypeMain" msgid="6766137010628326916">"Glavni"</string> + <string name="phoneTypeMain" msgid="6766137010628326916">"Glavna št."</string> <string name="phoneTypeOtherFax" msgid="8587657145072446565">"Drugi faks"</string> <string name="phoneTypeRadio" msgid="4093738079908667513">"Radio"</string> <string name="phoneTypeTelex" msgid="3367879952476250512">"Telefaks"</string> @@ -1137,8 +1137,8 @@ <string name="usb_midi_notification_title" msgid="4850904915889144654">"USB za MIDI"</string> <string name="usb_accessory_notification_title" msgid="7848236974087653666">"Priključen na dodatek USB"</string> <string name="usb_notification_message" msgid="3370903770828407960">"Dotaknite se za več možnosti."</string> - <string name="adb_active_notification_title" msgid="6729044778949189918">"Iskanje in odpravljanje napak USB je povezano"</string> - <string name="adb_active_notification_message" msgid="4948470599328424059">"Dotaknite se, če želite onemogočiti odpravljanje napak prek vrat USB."</string> + <string name="adb_active_notification_title" msgid="6729044778949189918">"Iskanje napak prek USB je povezano"</string> + <string name="adb_active_notification_message" msgid="4948470599328424059">"Dotaknite se za izklop odpravljanja napak prek USB."</string> <string name="taking_remote_bugreport_notification_title" msgid="6742483073875060934">"Zajemanje poročila o napakah …"</string> <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Želite poslati poročilo o napakah?"</string> <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Pošiljanje poročila o napakah …"</string> @@ -1561,7 +1561,7 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Posodobil skrbnik"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Izbrisal skrbnik"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Varčevanje z energijo akumulatorja podaljša čas njegovega delovanja tako, da zmanjša zmogljivost delovanja naprave in omeji vibriranje, lokacijske storitve ter prenos večine podatkov v ozadju. Aplikacije za e-pošto, sporočanje in drugo, ki uporabljajo sinhroniziranje, se morda ne posodabljajo, razen če jih odprete.\n\nVarčevanje z energijo akumulatorja se samodejno izklopi med polnjenjem akumulatorja naprave."</string> - <string name="data_saver_description" msgid="6015391409098303235">"Zaradi zmanjševanja prenesene količine podatkov varčevanje s podatki nekaterim aplikacijam preprečuje, da bi v ozadju pošiljale ali prejemale podatke. Aplikacija, ki jo trenutno uporabljate, lahko dostopa do podatkov, vendar to morda lahko počne manj pogosto. To na primer morda pomeni, da se slike ne prikažejo, dokler se jih ne dotaknete."</string> + <string name="data_saver_description" msgid="6015391409098303235">"Zaradi zmanjševanja prenesene količine podatkov varčevanje s podatki nekaterim aplikacijam preprečuje, da bi v ozadju pošiljale ali prejemale podatke. Aplikacija, ki jo trenutno uporabljate, lahko prenaša podatke, vendar to morda počne manj pogosto. To na primer pomeni, da se slike ne prikažejo, dokler se jih ne dotaknete."</string> <string name="data_saver_enable_title" msgid="4674073932722787417">"Vklop varčevanja s podatki?"</string> <string name="data_saver_enable_button" msgid="7147735965247211818">"Vklop"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> diff --git a/core/res/res/values-sw/strings.xml b/core/res/res/values-sw/strings.xml index bc767c332720..e8b863148707 100644 --- a/core/res/res/values-sw/strings.xml +++ b/core/res/res/values-sw/strings.xml @@ -42,7 +42,7 @@ <string name="untitled" msgid="4638956954852782576">"<Haina jina>"</string> <string name="emptyPhoneNumber" msgid="7694063042079676517">"(Hakuna nambari ya simu)"</string> <string name="unknownName" msgid="6867811765370350269">"Isiyojulikana"</string> - <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Barua ya sauti"</string> + <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Ujumbe wa sauti"</string> <string name="defaultMsisdnAlphaTag" msgid="2850889754919584674">"MSISDN1"</string> <string name="mmiError" msgid="5154499457739052907">"Tatizo la muunganisho au msimbo batili MMI."</string> <string name="mmiFdnError" msgid="5224398216385316471">"Uendeshaji umepunguzwa kwa namba za upigaji simu za kudumu pekee."</string> @@ -51,7 +51,7 @@ <string name="serviceDisabled" msgid="1937553226592516411">"Hitilafu ya huduma!"</string> <string name="serviceRegistered" msgid="6275019082598102493">"Usajili ulifaulu."</string> <string name="serviceErased" msgid="1288584695297200972">"Ufutaji ulifanikiwa"</string> - <string name="passwordIncorrect" msgid="7612208839450128715">"Nenosiri si sahihi."</string> + <string name="passwordIncorrect" msgid="7612208839450128715">"Nenosiri hilo si sahihi."</string> <string name="mmiComplete" msgid="8232527495411698359">"MMI imekamilika."</string> <string name="badPin" msgid="9015277645546710014">"PIN ya awali uliyoingiza si sahihi."</string> <string name="badPuk" msgid="5487257647081132201">"PUK uliyoingiza si sahihi."</string> @@ -243,7 +243,7 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Anwani"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"ifikie anwani zako"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Mahali"</string> - <string name="permgroupdesc_location" msgid="1346617465127855033">"ifikie mahali kilipo kifaa hiki"</string> + <string name="permgroupdesc_location" msgid="1346617465127855033">"itambue mahali kifaa hiki kilipo"</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Kalenda"</string> <string name="permgroupdesc_calendar" msgid="3889615280211184106">"fikia kalenda yako"</string> <string name="permgrouplab_sms" msgid="228308803364967808">"SMS"</string> @@ -251,9 +251,9 @@ <string name="permgrouplab_storage" msgid="1971118770546336966">"Hifadhi"</string> <string name="permgroupdesc_storage" msgid="637758554581589203">"ifikie picha, maudhui na faili kwenye kifaa chako"</string> <string name="permgrouplab_microphone" msgid="171539900250043464">"Kipokea sauti"</string> - <string name="permgroupdesc_microphone" msgid="4988812113943554584">"rekodi sauti"</string> + <string name="permgroupdesc_microphone" msgid="4988812113943554584">"irekodi sauti"</string> <string name="permgrouplab_camera" msgid="4820372495894586615">"Kamera"</string> - <string name="permgroupdesc_camera" msgid="3250611594678347720">"piga picha na urekodi video"</string> + <string name="permgroupdesc_camera" msgid="3250611594678347720">"ipiga picha na kurekodi video"</string> <string name="permgrouplab_phone" msgid="5229115638567440675">"Simu"</string> <string name="permgroupdesc_phone" msgid="6234224354060641055">"piga na udhibiti simu"</string> <string name="permgrouplab_sensors" msgid="416037179223226722">"Vihisi vya Mwili"</string> @@ -1085,7 +1085,7 @@ <string name="carrier_app_dialog_not_now" msgid="6361378684292268027">"SIYO SASA"</string> <string name="carrier_app_notification_title" msgid="8921767385872554621">"SIM mpya imewekwa"</string> <string name="carrier_app_notification_text" msgid="1132487343346050225">"Gonga ili uiweke"</string> - <string name="time_picker_dialog_title" msgid="8349362623068819295">"Weka muda"</string> + <string name="time_picker_dialog_title" msgid="8349362623068819295">"Weka saa"</string> <string name="date_picker_dialog_title" msgid="5879450659453782278">"Weka tarehe"</string> <string name="date_time_set" msgid="5777075614321087758">"Weka"</string> <string name="date_time_done" msgid="2507683751759308828">"Imekamilika"</string> @@ -1514,7 +1514,7 @@ <string name="lock_to_app_toast_locked" msgid="9125176335701699164">"Programu imebanwa: Kubanuliwa hakuruhusiwi kwenye kifaa hiki."</string> <string name="lock_to_app_start" msgid="6643342070839862795">"Skrini imebandikwa"</string> <string name="lock_to_app_exit" msgid="8598219838213787430">"Skrini imebanduliwa"</string> - <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Omba PIN kabla hujabandua"</string> + <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Itisha PIN kabla hujabandua"</string> <string name="lock_to_app_unlock_pattern" msgid="4182192144797225137">"Omba mchoro wa kufungua kabla hujabandua"</string> <string name="lock_to_app_unlock_password" msgid="6380979775916974414">"Omba nenosiri kabla hujabandua"</string> <string name="package_installed_device_owner" msgid="8420696545959087545">"Kilisakinishwa na msimamizi wako"</string> diff --git a/core/res/res/values-ta-rIN/strings.xml b/core/res/res/values-ta-rIN/strings.xml index 2f4b9b0be3f5..d5155a108929 100644 --- a/core/res/res/values-ta-rIN/strings.xml +++ b/core/res/res/values-ta-rIN/strings.xml @@ -1331,9 +1331,9 @@ <string name="default_audio_route_category_name" msgid="3722811174003886946">"அமைப்பு"</string> <string name="bluetooth_a2dp_audio_route_name" msgid="8575624030406771015">"புளூடூத் ஆடியோ"</string> <string name="wireless_display_route_description" msgid="9070346425023979651">"வயர்லெஸ் காட்சி"</string> - <string name="media_route_button_content_description" msgid="591703006349356016">"அனுப்பு"</string> + <string name="media_route_button_content_description" msgid="591703006349356016">"திரையிடு"</string> <string name="media_route_chooser_title" msgid="1751618554539087622">"சாதனத்துடன் இணைக்கவும்"</string> - <string name="media_route_chooser_title_for_remote_display" msgid="3395541745872017583">"திரையிலிருந்து சாதனத்திற்கு அனுப்புக"</string> + <string name="media_route_chooser_title_for_remote_display" msgid="3395541745872017583">"ஸ்கிரீனை சாதனத்தில் திரையிடு"</string> <string name="media_route_chooser_searching" msgid="4776236202610828706">"சாதனங்களைத் தேடுகிறது..."</string> <string name="media_route_chooser_extended_settings" msgid="87015534236701604">"அமைப்பு"</string> <string name="media_route_controller_disconnect" msgid="8966120286374158649">"துண்டி"</string> diff --git a/core/res/res/values-te-rIN/strings.xml b/core/res/res/values-te-rIN/strings.xml index ad9a5eaf6136..56195b7aaaac 100644 --- a/core/res/res/values-te-rIN/strings.xml +++ b/core/res/res/values-te-rIN/strings.xml @@ -249,13 +249,13 @@ <string name="permgrouplab_calendar" msgid="5863508437783683902">"క్యాలెండర్"</string> <string name="permgroupdesc_calendar" msgid="3889615280211184106">"మీ క్యాలెండర్ను ప్రాప్యత చేయడానికి"</string> <string name="permgrouplab_sms" msgid="228308803364967808">"SMS"</string> - <string name="permgroupdesc_sms" msgid="4656988620100940350">"SMS సందేశాలను పంపుతుంది మరియు వీక్షిస్తుంది"</string> + <string name="permgroupdesc_sms" msgid="4656988620100940350">"SMS సందేశాలను పంపడానికి మరియు వీక్షించడానికి"</string> <string name="permgrouplab_storage" msgid="1971118770546336966">"నిల్వ"</string> <string name="permgroupdesc_storage" msgid="637758554581589203">"మీ పరికరంలోని ఫోటోలు, మీడియా మరియు ఫైల్లను ప్రాప్యత చేయడానికి"</string> <string name="permgrouplab_microphone" msgid="171539900250043464">"మైక్రోఫోన్"</string> - <string name="permgroupdesc_microphone" msgid="4988812113943554584">"ఆడియోను రికార్డ్ చేస్తుంది"</string> + <string name="permgroupdesc_microphone" msgid="4988812113943554584">"ఆడియోను రికార్డ్ చేయడానికి"</string> <string name="permgrouplab_camera" msgid="4820372495894586615">"కెమెరా"</string> - <string name="permgroupdesc_camera" msgid="3250611594678347720">"చిత్రాలను తీస్తుంది మరియు వీడియోను రికార్డ్ చేస్తుంది"</string> + <string name="permgroupdesc_camera" msgid="3250611594678347720">"చిత్రాలను తీయడానికి మరియు వీడియోను రికార్డ్ చేయడానికి"</string> <string name="permgrouplab_phone" msgid="5229115638567440675">"ఫోన్"</string> <string name="permgroupdesc_phone" msgid="6234224354060641055">"ఫోన్ కాల్లను చేయడానికి మరియు నిర్వహించడానికి"</string> <string name="permgrouplab_sensors" msgid="416037179223226722">"శరీర సెన్సార్లు"</string> diff --git a/core/res/res/values-th/strings.xml b/core/res/res/values-th/strings.xml index 2654379a249c..6415de19ba19 100644 --- a/core/res/res/values-th/strings.xml +++ b/core/res/res/values-th/strings.xml @@ -1523,7 +1523,7 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"อัปเดตโดยผู้ดูแลระบบ"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"ลบโดยผู้ดูแลระบบของคุณ"</string> <string name="battery_saver_description" msgid="1960431123816253034">"เพื่อช่วยปรับปรุงอายุการใช้งานแบตเตอรี่ โหมดประหยัดแบตเตอรี่จะลดการทำงานของอุปกรณ์และจำกัดการสั่น บริการตำแหน่ง และข้อมูลแบ็กกราวด์ส่วนใหญ่ สำหรับอีเมล การรับส่งข้อความ และแอปอื่นๆ ที่ใช้การซิงค์จะไม่อัปเดตหากคุณไม่เปิดขึ้นมา\n\nโหมดประหยัดแบตเตอรี่จะปิดโดยอัตโนมัติขณะชาร์จอุปกรณ์"</string> - <string name="data_saver_description" msgid="6015391409098303235">"เพื่อช่วยลดปริมาณการใช้อินเทอร์เน็ต โปรแกรมประหยัดอินเทอร์เน็ตจะช่วยป้องกันไม่ให้แอปบางส่วนส่งหรือรับข้อมูลเครือข่ายมือถือในเบื้องหลัง แอปที่คุณกำลังใช้งานสามารถเข้าถึงข้อมูลเครือข่ายมือถือได้ แต่อาจไม่บ่อยเท่าเดิม ตัวอย่างเช่น ภาพต่างๆ จะไม่แสดงจนกว่าคุณจะแตะ"</string> + <string name="data_saver_description" msgid="6015391409098303235">"เพื่อช่วยลดปริมาณการใช้อินเทอร์เน็ต โปรแกรมประหยัดอินเทอร์เน็ตจะช่วยป้องกันไม่ให้แอปบางส่วนส่งหรือรับข้อมูลเครือข่ายมือถือในพื้นหลัง แอปที่คุณกำลังใช้งานสามารถเข้าถึงข้อมูลเครือข่ายมือถือได้ แต่อาจไม่บ่อยเท่าเดิม ตัวอย่างเช่น ภาพต่างๆ จะไม่แสดงจนกว่าคุณจะแตะที่ภาพเหล่านั้น"</string> <string name="data_saver_enable_title" msgid="4674073932722787417">"เปิดการประหยัดอินเทอร์เน็ตไหม"</string> <string name="data_saver_enable_button" msgid="7147735965247211818">"เปิด"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> diff --git a/core/res/res/values-tl/strings.xml b/core/res/res/values-tl/strings.xml index 08453a6e4cb7..83885de8438a 100644 --- a/core/res/res/values-tl/strings.xml +++ b/core/res/res/values-tl/strings.xml @@ -253,9 +253,9 @@ <string name="permgrouplab_storage" msgid="1971118770546336966">"Imbakan"</string> <string name="permgroupdesc_storage" msgid="637758554581589203">"mag-access ng mga larawan, media at file sa iyong device"</string> <string name="permgrouplab_microphone" msgid="171539900250043464">"Mikropono"</string> - <string name="permgroupdesc_microphone" msgid="4988812113943554584">"nagre-record ng audio"</string> + <string name="permgroupdesc_microphone" msgid="4988812113943554584">"mag-record ng audio"</string> <string name="permgrouplab_camera" msgid="4820372495894586615">"Camera"</string> - <string name="permgroupdesc_camera" msgid="3250611594678347720">"kumukuha ng mga larawan at nagre-record ng video"</string> + <string name="permgroupdesc_camera" msgid="3250611594678347720">"kumuha ng mga larawan at nmag-record ng video"</string> <string name="permgrouplab_phone" msgid="5229115638567440675">"Telepono"</string> <string name="permgroupdesc_phone" msgid="6234224354060641055">"tumatawag sa telepono at namamahala sa mga tawag sa telepono"</string> <string name="permgrouplab_sensors" msgid="416037179223226722">"Mga Sensor ng Katawan"</string> @@ -272,8 +272,8 @@ <string name="capability_desc_canControlMagnification" msgid="4791858203568383773">"Kontrolin ang antas ng pag-zoom at pagpoposisyon ng display."</string> <string name="capability_title_canPerformGestures" msgid="7418984730362576862">"Magsagawa ng mga galaw"</string> <string name="capability_desc_canPerformGestures" msgid="8296373021636981249">"May kakayahang mag-tap, mag-swipe, mag-pinch at magsagawa ng iba pang mga galaw."</string> - <string name="permlab_statusBar" msgid="7417192629601890791">"huwag paganahin o baguhin ang status bar"</string> - <string name="permdesc_statusBar" msgid="8434669549504290975">"Pinapayagan ang app na huwag paganahin ang status bar o magdagdag at mag-alis ng mga icon ng system."</string> + <string name="permlab_statusBar" msgid="7417192629601890791">"i-disable o baguhin ang status bar"</string> + <string name="permdesc_statusBar" msgid="8434669549504290975">"Pinapayagan ang app na i-disable ang status bar o magdagdag at mag-alis ng mga icon ng system."</string> <string name="permlab_statusBarService" msgid="4826835508226139688">"maging status bar"</string> <string name="permdesc_statusBarService" msgid="716113660795976060">"Pinapayagan ang app na maging status bar."</string> <string name="permlab_expandStatusBar" msgid="1148198785937489264">"palawakin/tiklupin ang status bar"</string> @@ -289,7 +289,7 @@ <string name="permlab_receiveMms" msgid="1821317344668257098">"tumanggap ng mga text message (MMS)"</string> <string name="permdesc_receiveMms" msgid="533019437263212260">"Pinapayagan ang app na tumanggap at magproseso ng mga mensaheng MMS. Nangangahulugan ito na maaaring sumubaybay o magtanggal ang app ng mga mensaheng ipinapadala sa iyong device nang hindi ipinapakita ang mga ito sa iyo."</string> <string name="permlab_readCellBroadcasts" msgid="1598328843619646166">"basahin ang mga mensahe ng cell broadcast"</string> - <string name="permdesc_readCellBroadcasts" msgid="6361972776080458979">"Binibigyang-daan ang app na magbasa ng mga mensahe ng cell broadcast na natanggap ng iyong device. Inihahatid ang mga alerto ng cell broadcast sa ilang lokasyon upang balaan ka tungkol sa mga emergency na sitwasyon. Maaaring makaabala ang nakakahamak na apps sa pagganap o pagpapatakbo ng iyong device kapag nakatanggap ng emergency na cell broadcast."</string> + <string name="permdesc_readCellBroadcasts" msgid="6361972776080458979">"Binibigyang-daan ang app na magbasa ng mga mensahe ng cell broadcast na natanggap ng iyong device. Inihahatid ang mga alerto ng cell broadcast sa ilang lokasyon upang balaan ka tungkol sa mga emergency na sitwasyon. Maaaring makaabala ang nakakahamak na apps sa performance o pagpapatakbo ng iyong device kapag nakatanggap ng emergency na cell broadcast."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"magbasa ng mga na-subscribe na feed"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Pinapayagan ang app na kumuha ng mga detalye tungkol sa kasalukuyang naka-sync na mga feed."</string> <string name="permlab_sendSms" msgid="7544599214260982981">"magpadala at tumingin ng mga mensaheng SMS"</string> @@ -345,7 +345,7 @@ <string name="permdesc_writeCallLog" product="tv" msgid="4225034892248398019">"Binibigyan-daan ang app na baguhin ang log ng tawag ng iyong TV, kabilang ang data tungkol sa mga paparating at papalabas na tawag. Maaari itong gamitin ng mga nakakahamak na app upang burahin o baguhin ang iyong log ng tawag."</string> <string name="permdesc_writeCallLog" product="default" msgid="683941736352787842">"Binibigyan-daan ang app na baguhin ang log ng tawag ng iyong telepono, kabilang ang data tungkol sa mga paparating at papalabas na tawag. Maaari itong gamitin ng nakakahamak na apps upang burahin o baguhin ang iyong log ng tawag."</string> <string name="permlab_bodySensors" msgid="4683341291818520277">"i-access ang mga sensor sa katawan (tulad ng mga monitor ng bilis ng tibok ng puso)"</string> - <string name="permdesc_bodySensors" product="default" msgid="4380015021754180431">"Pinapayagan ang app na i-access ang data mula sa mga sensor na sumusubaybay sa iyong pisikal na kundisyon, tulad ng iyong heart rate."</string> + <string name="permdesc_bodySensors" product="default" msgid="4380015021754180431">"Pinapayagan ang app na i-access ang data mula sa mga sensor na sumusubaybay sa iyong pisikal na kondisyon, tulad ng iyong heart rate."</string> <string name="permlab_readCalendar" msgid="5972727560257612398">"magbasa ng mga kaganapan sa kalendaryo kasama ang kumpedensyal na impormasyon"</string> <string name="permdesc_readCalendar" product="tablet" msgid="4216462049057658723">"Pinapayagan ang app na basahin ang lahat ng kaganapan sa kalendaryo na naka-imbak sa iyong tablet, kabilang iyong sa mga kaibigan o katrabaho. Maaari nitong payagan ang app na ibahagi o i-save ang data ng iyong kalendaryo, ano pa man ang katayuan ng pagiging kumpedensyal o sensitibo nito."</string> <string name="permdesc_readCalendar" product="tv" msgid="3191352452242394196">"Nagbibigay-daan sa app na mabasa ang lahat ng mga kaganapan sa kalendaryo na nakaimbak sa iyong TV, kabilang ang mga kaganapan mula sa iyong mga kaibigan o katrabaho. Maaaring payagan nito ang app na magbahagi o mag-save ng iyong data ng kalendaryo kahit na kumpidensyal o sensitibo ito."</string> @@ -430,8 +430,8 @@ <string name="permdesc_bluetooth" product="default" msgid="3207106324452312739">"Pinapayagan ang app na tingnan ang configuration ng Bluetooth sa telepono, at na gumawa at tumanggap ng mga koneksyong may mga nakapares na device."</string> <string name="permlab_nfc" msgid="4423351274757876953">"kontrolin ang Near Field Communication"</string> <string name="permdesc_nfc" msgid="7120611819401789907">"Pinapayagan ang app na makipag-ugnay sa Near Field Communication (NFC) na mga tag, card, at reader."</string> - <string name="permlab_disableKeyguard" msgid="3598496301486439258">"huwag paganahin ang iyong lock ng screen"</string> - <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Pinapayagan ang app na huwag paganahin ang keylock at anumang nauugnay na seguridad sa password. Halimbawa, hindi pinapagana ng telepono ang keylock kapag nakakatanggap ng papasok na tawag sa telepono, pagkatapos ay muling pinapagana ang keylock kapag tapos na ang tawag."</string> + <string name="permlab_disableKeyguard" msgid="3598496301486439258">"i-disable ang iyong screen lock"</string> + <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Pinapayagan ang app na i-disable ang keylock at anumang nauugnay na seguridad sa password. Halimbawa, hindi pinapagana ng telepono ang keylock kapag nakakatanggap ng papasok na tawag sa telepono, pagkatapos ay muling pinapagana ang keylock kapag tapos na ang tawag."</string> <string name="permlab_manageFingerprint" msgid="5640858826254575638">"pamahalaan ang hardware ng fingerprint"</string> <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Pinapayagan ang app na mag-invoke ng mga paraan upang magdagdag at mag-delete ng mga template ng fingerprint na magagamit."</string> <string name="permlab_useFingerprint" msgid="3150478619915124905">"gamitin ang hardware ng fingerprint"</string> @@ -463,8 +463,8 @@ <string name="permlab_sdcardRead" product="default" msgid="2188156462934977940">"basahin ang mga nilalaman ng iyong SD card"</string> <string name="permdesc_sdcardRead" product="nosdcard" msgid="3446988712598386079">"Pinapayagan ang app na basahin ang mga nilalaman ng iyong USB storage."</string> <string name="permdesc_sdcardRead" product="default" msgid="2607362473654975411">"Pinapayagan ang app na basahin ang mga nilalaman ng iyong SD card."</string> - <string name="permlab_sdcardWrite" product="nosdcard" msgid="8485979062254666748">"Baguhin/Tanggalin ang laman ng USB"</string> - <string name="permlab_sdcardWrite" product="default" msgid="8805693630050458763">"baguhin o tanggalin ang mga nilalaman ng iyong SD card"</string> + <string name="permlab_sdcardWrite" product="nosdcard" msgid="8485979062254666748">"Baguhin/I-delete ang laman ng USB"</string> + <string name="permlab_sdcardWrite" product="default" msgid="8805693630050458763">"baguhin o i-delete ang mga nilalaman ng iyong SD card"</string> <string name="permdesc_sdcardWrite" product="nosdcard" msgid="6175406299445710888">"Pinapayagan ang app na magsulat sa USB storage."</string> <string name="permdesc_sdcardWrite" product="default" msgid="4337417790936632090">"Pinapayagan ang app na magsulat sa SD card."</string> <string name="permlab_use_sip" msgid="2052499390128979920">"magsagawa/tumanggap ng mga tawag sa SIP"</string> @@ -491,14 +491,14 @@ <string name="permdesc_accessNotifications" msgid="458457742683431387">"Pinapayagan ang app na kumuha, sumuri, at mag-clear ng mga notification, kabilang ang mga na-post ng iba pang apps."</string> <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"mapailalim sa isang serbisyo ng notification listener"</string> <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Nagbibigay-daan sa may-ari na mapailalim sa interface sa tuktok na antas ng isang serbisyo ng notification listener. Hindi dapat kailanganin para sa karaniwang apps kahit kailan."</string> - <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"i-bind sa isang serbisyo sa pagbibigay ng kundisyon"</string> - <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Nagbibigay-daan sa naghahawak na i-bind ang top-level na interface ng isang serbisyo sa pagbibigay ng kundisyon. Hindi kailanman dapat kailanganin ng mga normal na app."</string> + <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"i-bind sa isang serbisyo sa pagbibigay ng kondisyon"</string> + <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Nagbibigay-daan sa naghahawak na i-bind ang top-level na interface ng isang serbisyo sa pagbibigay ng kondisyon. Hindi kailanman dapat kailanganin ng mga normal na app."</string> <string name="permlab_bindDreamService" msgid="4153646965978563462">"sumailalim sa isang serbisyo ng dream"</string> <string name="permdesc_bindDreamService" msgid="7325825272223347863">"Pinapayagan ang may-ari na sumailalim sa interface ng serbisyo ng dream na nasa nangungunang antas. Hindi kailanman dapat na kailanganin para sa mga normal na app."</string> <string name="permlab_invokeCarrierSetup" msgid="3699600833975117478">"paganahin ang app ng configuration na ibinigay ng carrier"</string> <string name="permdesc_invokeCarrierSetup" msgid="4159549152529111920">"Nagbibigay-daan sa may-ari na paganahin ang app ng configuration na ibinigay ng carrier. Hindi dapat kailanganin para sa normal na apps kahit kailan."</string> - <string name="permlab_accessNetworkConditions" msgid="8206077447838909516">"makinig sa mga obserbasyon sa mga kundisyon ng network"</string> - <string name="permdesc_accessNetworkConditions" msgid="6899102075825272211">"Nagbibigay-daan sa isang application na makinig sa mga obserbasyon sa mga kundisyon ng network. Dapat na hindi kailanman kakailanganin para sa normal na apps."</string> + <string name="permlab_accessNetworkConditions" msgid="8206077447838909516">"makinig sa mga obserbasyon sa mga kondisyon ng network"</string> + <string name="permdesc_accessNetworkConditions" msgid="6899102075825272211">"Nagbibigay-daan sa isang application na makinig sa mga obserbasyon sa mga kondisyon ng network. Dapat na hindi kailanman kakailanganin para sa normal na apps."</string> <string name="permlab_setInputCalibration" msgid="4902620118878467615">"baguhin ang pag-calibrate ng input device"</string> <string name="permdesc_setInputCalibration" msgid="4527511047549456929">"Pinapayagan ang app na baguhin ang mga parameter sa pag-calibrate ng touch screen. Hindi dapat kailanganin sa normal na apps."</string> <string name="permlab_accessDrmCertificates" msgid="7436886640723203615">"access sa Mga DRM certificate"</string> @@ -514,7 +514,7 @@ <string name="permlab_access_notification_policy" msgid="4247510821662059671">"i-access ang Huwag Istorbohin"</string> <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Nagbibigay-daan sa app na basahin at isulat ang configuration ng Huwag Istorbohin."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Magtakda ng mga panuntunan sa password"</string> - <string name="policydesc_limitPassword" msgid="2502021457917874968">"Kontrolin ang haba at ang mga character na pinapayagan sa mga password at PIN sa lock ng screen."</string> + <string name="policydesc_limitPassword" msgid="2502021457917874968">"Kontrolin ang haba at ang mga character na pinapayagan sa mga password at PIN sa screen lock."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Subaybayan ang mga pagsubok sa pag-unlock ng screen"</string> <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Subaybayan ang bilang ng mga hindi tamang password na na-type kapag ina-unlock ang screen, at i-lock ang tablet o burahin ang lahat ng data ng tablet kung masyadong maraming hindi tamang password ang na-type."</string> <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Subaybayan ang bilang ng mga maling password kapag ina-unlock ang screen at i-lock ang TV o burahin ang lahat ng data ng TV kung masyadong maraming maling password ang nata-type."</string> @@ -522,8 +522,8 @@ <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Subaybayan ang bilang ng mga maling password na na-type kapag ina-unlock ang screen, at i-lock ang tablet o burahin ang lahat ng data ng user na ito kung masyadong maraming maling password ang nata-type."</string> <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Subaybayan ang bilang ng mga maling password na na-type kapag ina-unlock ang screen, at i-lock ang TV o burahin ang lahat ng data ng user na ito kung masyadong maraming maling password ang nata-type."</string> <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Subaybayan ang bilang ng mga maling password na na-type kapag ina-unlock ang screen, at i-lock ang telepono o burahin ang lahat ng data ng user na ito kung masyadong maraming maling password ang nata-type."</string> - <string name="policylab_resetPassword" msgid="4934707632423915395">"Palitan ang lock ng screen"</string> - <string name="policydesc_resetPassword" msgid="1278323891710619128">"Palitan ang lock ng screen."</string> + <string name="policylab_resetPassword" msgid="4934707632423915395">"Palitan ang screen lock"</string> + <string name="policydesc_resetPassword" msgid="1278323891710619128">"Palitan ang screen lock."</string> <string name="policylab_forceLock" msgid="2274085384704248431">"I-lock ang screen"</string> <string name="policydesc_forceLock" msgid="1141797588403827138">"Kontrolin kung paano at kailan magla-lock ang screen."</string> <string name="policylab_wipeData" msgid="3910545446758639713">"Burahin ang lahat ng data"</string> @@ -537,13 +537,13 @@ <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Itakda ang pandaigdigang proxy ng device"</string> <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Itakda ang pandaigdigang proxy ng device na gagamitin habang naka-enable ang patakaran. Ang may-ari ng device lang ang makakapagtakda sa pandaigdigang proxy."</string> <string name="policylab_expirePassword" msgid="5610055012328825874">"Itakda screen lock password expiration"</string> - <string name="policydesc_expirePassword" msgid="5367525762204416046">"Baguhin kung gaano kadalas dapat palitan ang password, PIN o pattern sa lock ng screen."</string> + <string name="policydesc_expirePassword" msgid="5367525762204416046">"Baguhin kung gaano kadalas dapat palitan ang password, PIN o pattern sa screen lock."</string> <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Itakda pag-encrypt ng imbakan"</string> <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Hilinging naka-encrypt ang nakaimbak na data ng app."</string> <string name="policylab_disableCamera" msgid="6395301023152297826">"Huwag paganahin mga camera"</string> <string name="policydesc_disableCamera" msgid="2306349042834754597">"Pigilan ang paggamit sa lahat ng camera ng device."</string> <string name="policylab_disableKeyguardFeatures" msgid="8552277871075367771">"I-disable ilang screen lock feature"</string> - <string name="policydesc_disableKeyguardFeatures" msgid="2044755691354158439">"Pigilan ang paggamit ng ilang feature ng lock ng screen."</string> + <string name="policydesc_disableKeyguardFeatures" msgid="2044755691354158439">"Pigilan ang paggamit ng ilang feature ng screen lock."</string> <string-array name="phoneTypes"> <item msgid="8901098336658710359">"Home"</item> <item msgid="869923650527136615">"Mobile"</item> @@ -595,7 +595,7 @@ <string name="phoneTypeFaxHome" msgid="2067265972322971467">"Fax sa Tahanan"</string> <string name="phoneTypePager" msgid="7582359955394921732">"Pager"</string> <string name="phoneTypeOther" msgid="1544425847868765990">"Iba pa"</string> - <string name="phoneTypeCallback" msgid="2712175203065678206">"Tawagan Pabalik"</string> + <string name="phoneTypeCallback" msgid="2712175203065678206">"Callback"</string> <string name="phoneTypeCar" msgid="8738360689616716982">"Kotse"</string> <string name="phoneTypeCompanyMain" msgid="540434356461478916">"Pangunahin ng Kumpanya"</string> <string name="phoneTypeIsdn" msgid="8022453193171370337">"ISDN"</string> @@ -606,7 +606,7 @@ <string name="phoneTypeTtyTdd" msgid="8606514378585000044">"TTY TDD"</string> <string name="phoneTypeWorkMobile" msgid="1311426989184065709">"Mobile sa Trabaho"</string> <string name="phoneTypeWorkPager" msgid="649938731231157056">"Pager sa Trabaho"</string> - <string name="phoneTypeAssistant" msgid="5596772636128562884">"Katuwang"</string> + <string name="phoneTypeAssistant" msgid="5596772636128562884">"Assistant"</string> <string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string> <string name="eventTypeCustom" msgid="7837586198458073404">"Custom"</string> <string name="eventTypeBirthday" msgid="2813379844211390740">"Kaarawan"</string> @@ -686,7 +686,7 @@ <string name="lockscreen_missing_sim_instructions" msgid="5372787138023272615">"Maglagay ng isang SIM card."</string> <string name="lockscreen_missing_sim_instructions_long" msgid="3526573099019319472">"Nawawala o hindi nababasa ang SIM card. Maglagay ng isang SIM card."</string> <string name="lockscreen_permanent_disabled_sim_message_short" msgid="5096149665138916184">"Hindi nagagamit na SIM card."</string> - <string name="lockscreen_permanent_disabled_sim_instructions" msgid="910904643433151371">"Ang iyong SIM card ay permanenteng hindi pinagana.\n Makipag-ugnay sa iyong wireless service provider para sa isa pang SIM card."</string> + <string name="lockscreen_permanent_disabled_sim_instructions" msgid="910904643433151371">"Ang iyong SIM card ay permanenteng naka-disable.\n Makipag-ugnay sa iyong wireless service provider para sa isa pang SIM card."</string> <string name="lockscreen_transport_prev_description" msgid="6300840251218161534">"Nakaraang track"</string> <string name="lockscreen_transport_next_description" msgid="573285210424377338">"Susunod na track"</string> <string name="lockscreen_transport_pause_description" msgid="3980308465056173363">"I-pause"</string> @@ -812,7 +812,7 @@ <string name="prepend_shortcut_label" msgid="2572214461676015642">"Menu+"</string> <string name="menu_space_shortcut_label" msgid="2410328639272162537">"espasyo"</string> <string name="menu_enter_shortcut_label" msgid="2743362785111309668">"ipasok"</string> - <string name="menu_delete_shortcut_label" msgid="3658178007202748164">"tanggalin"</string> + <string name="menu_delete_shortcut_label" msgid="3658178007202748164">"i-delete"</string> <string name="search_go" msgid="8298016669822141719">"Paghahanap"</string> <string name="search_hint" msgid="1733947260773056054">"Maghanap…"</string> <string name="searchview_description_search" msgid="6749826639098512120">"Paghahanap"</string> @@ -908,14 +908,14 @@ <string name="paste" msgid="5629880836805036433">"I-paste"</string> <string name="paste_as_plain_text" msgid="5427792741908010675">"I-paste bilang plain text"</string> <string name="replace" msgid="5781686059063148930">"Palitan..."</string> - <string name="delete" msgid="6098684844021697789">"Tanggalin"</string> + <string name="delete" msgid="6098684844021697789">"I-delete"</string> <string name="copyUrl" msgid="2538211579596067402">"Kopyahin ang URL"</string> <string name="selectTextMode" msgid="1018691815143165326">"Pumili ng teksto"</string> <string name="undo" msgid="7905788502491742328">"I-undo"</string> <string name="redo" msgid="7759464876566803888">"Gawing muli"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Pagpili ng teksto"</string> <string name="addToDictionary" msgid="4352161534510057874">"Idagdag sa diksyunaryo"</string> - <string name="deleteText" msgid="6979668428458199034">"Tanggalin"</string> + <string name="deleteText" msgid="6979668428458199034">"I-delete"</string> <string name="inputMethod" msgid="1653630062304567879">"Pamamaraan ng pag-input"</string> <string name="editTextMenuTitle" msgid="4909135564941815494">"Pagkilos ng teksto"</string> <string name="low_internal_storage_view_title" msgid="5576272496365684834">"Nauubusan na ang puwang ng storage"</string> @@ -1189,7 +1189,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Baguhin ang wallpaper"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Notification listener"</string> <string name="vr_listener_binding_label" msgid="4316591939343607306">"VR listener"</string> - <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Nagbibigay ng kundisyon"</string> + <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Nagbibigay ng kondisyon"</string> <string name="notification_ranker_binding_label" msgid="774540592299064747">"Serbisyo sa pag-rank ng notification"</string> <string name="vpn_title" msgid="19615213552042827">"Naka-activate ang VPN"</string> <string name="vpn_title_long" msgid="6400714798049252294">"Isinaaktibo ang VPN ng <xliff:g id="APP">%s</xliff:g>"</string> @@ -1231,7 +1231,7 @@ <string name="gpsVerifNo" msgid="1146564937346454865">"Hindi"</string> <string name="sync_too_many_deletes" msgid="5296321850662746890">"Nalagpasan na ang limitasyon sa pagtanggal"</string> <string name="sync_too_many_deletes_desc" msgid="496551671008694245">"Mayroong <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> (na) tinanggal na item para sa <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, account na <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. Ano ang nais mong gawin?"</string> - <string name="sync_really_delete" msgid="2572600103122596243">"Tanggalin ang mga item"</string> + <string name="sync_really_delete" msgid="2572600103122596243">"I-delete ang mga item"</string> <string name="sync_undo_deletes" msgid="2941317360600338602">"I-undo ang mga pagtanggal"</string> <string name="sync_do_nothing" msgid="3743764740430821845">"Walang gawin sa ngayon"</string> <string name="choose_account_label" msgid="5655203089746423927">"Pumili ng isang account"</string> @@ -1257,7 +1257,7 @@ <string name="date_picker_next_month_button" msgid="5559507736887605055">"Susunod na buwan"</string> <string name="keyboardview_keycode_alt" msgid="4856868820040051939">"Alt"</string> <string name="keyboardview_keycode_cancel" msgid="1203984017245783244">"Kanselahin"</string> - <string name="keyboardview_keycode_delete" msgid="3337914833206635744">"Tanggalin"</string> + <string name="keyboardview_keycode_delete" msgid="3337914833206635744">"I-delete"</string> <string name="keyboardview_keycode_done" msgid="1992571118466679775">"Tapos na"</string> <string name="keyboardview_keycode_mode_change" msgid="4547387741906537519">"Pagbabago ng Mode"</string> <string name="keyboardview_keycode_shift" msgid="2270748814315147690">"Shift"</string> @@ -1522,7 +1522,7 @@ <string name="package_installed_device_owner" msgid="8420696545959087545">"Na-install ng iyong administrator"</string> <string name="package_updated_device_owner" msgid="8856631322440187071">"Na-update ng iyong administrator"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Na-delete ng iyong administrator"</string> - <string name="battery_saver_description" msgid="1960431123816253034">"Upang matulungang pagbutihin ang tagal ng baterya, binabawasan ng pangtipid ng baterya ang pagganap ng iyong device at nililimitahan ang pag-vibrate, mga serbisyo ng lokasyon at karamihan sa data ng background. Maaaring hindi mag-update ang email, pagmemensahe at iba pang mga app na umaasa sa pagsi-sync maliban kung buksan mo ang mga iyon.\n\nAwtomatikong nag-o-off ang pangtipid ng baterya kapag nagcha-charge ang iyong device."</string> + <string name="battery_saver_description" msgid="1960431123816253034">"Upang matulungang pagbutihin ang tagal ng baterya, binabawasan ng pangtipid ng baterya ang performance ng iyong device at nililimitahan ang pag-vibrate, mga serbisyo ng lokasyon at karamihan sa data ng background. Maaaring hindi mag-update ang email, pagmemensahe at iba pang mga app na umaasa sa pagsi-sync maliban kung buksan mo ang mga iyon.\n\nAwtomatikong nag-o-off ang pangtipid ng baterya kapag nagcha-charge ang iyong device."</string> <string name="data_saver_description" msgid="6015391409098303235">"Upang makatulong na mabawasan ang paggamit ng data, pinipigilan ng Data Saver ang ilang app na magpadala o makatanggap ng data sa background. Maaaring mag-access ng data ang isang app na ginagamit mo sa kasalukuyan, ngunit mas bihira na nito magagawa iyon. Halimbawa, maaaring hindi lumabas ang mga larawan hangga\'t hindi mo nata-tap ang mga ito."</string> <string name="data_saver_enable_title" msgid="4674073932722787417">"I-on ang Data Saver?"</string> <string name="data_saver_enable_button" msgid="7147735965247211818">"I-on"</string> diff --git a/core/res/res/values-ur-rPK/strings.xml b/core/res/res/values-ur-rPK/strings.xml index 1f5823136353..bfff0ba8ab9e 100644 --- a/core/res/res/values-ur-rPK/strings.xml +++ b/core/res/res/values-ur-rPK/strings.xml @@ -595,7 +595,7 @@ <string name="phoneTypeFaxHome" msgid="2067265972322971467">"گھر کا فیکس"</string> <string name="phoneTypePager" msgid="7582359955394921732">"پیجر"</string> <string name="phoneTypeOther" msgid="1544425847868765990">"دیگر"</string> - <string name="phoneTypeCallback" msgid="2712175203065678206">"واپسی کال"</string> + <string name="phoneTypeCallback" msgid="2712175203065678206">"کال بیک"</string> <string name="phoneTypeCar" msgid="8738360689616716982">"کار"</string> <string name="phoneTypeCompanyMain" msgid="540434356461478916">"کمپنی مرکزی"</string> <string name="phoneTypeIsdn" msgid="8022453193171370337">"ISDN"</string> diff --git a/core/res/res/values-uz-rUZ/strings.xml b/core/res/res/values-uz-rUZ/strings.xml index 689abe74d4cd..4177d02c0ef0 100644 --- a/core/res/res/values-uz-rUZ/strings.xml +++ b/core/res/res/values-uz-rUZ/strings.xml @@ -188,7 +188,7 @@ <string name="silent_mode" msgid="7167703389802618663">"Ovozsiz usul"</string> <string name="turn_on_radio" msgid="3912793092339962371">"Simsiz tarmoqchi yoqish"</string> <string name="turn_off_radio" msgid="8198784949987062346">"Simsiz tarmoqni o‘chirish"</string> - <string name="screen_lock" msgid="799094655496098153">"Ekranni qulflash"</string> + <string name="screen_lock" msgid="799094655496098153">"Ekran qulfi"</string> <string name="power_off" msgid="4266614107412865048">"O‘chirish"</string> <string name="silent_mode_silent" msgid="319298163018473078">"Jiringlovchi o‘chirilgan"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Jiringlab tebranish"</string> @@ -245,9 +245,9 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Kontaktlar"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"kontaktlarga kirish"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Joylashuv"</string> - <string name="permgroupdesc_location" msgid="1346617465127855033">"qurilmaning joylashuvi haqidagi ma’lumotlarga kirish"</string> + <string name="permgroupdesc_location" msgid="1346617465127855033">"shu qurilmaning joylashuvi haqidagi ma’lumotlarga kirish"</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Taqvim"</string> - <string name="permgroupdesc_calendar" msgid="3889615280211184106">"taqvim ma’lumotlariga kirish"</string> + <string name="permgroupdesc_calendar" msgid="3889615280211184106">"taqvimingizga kirish"</string> <string name="permgrouplab_sms" msgid="228308803364967808">"SMS"</string> <string name="permgroupdesc_sms" msgid="4656988620100940350">"SMS xabarlarni yuborish va ko‘rish"</string> <string name="permgrouplab_storage" msgid="1971118770546336966">"Xotira"</string> @@ -555,7 +555,7 @@ <item msgid="9192514806975898961">"Maxsus"</item> </string-array> <string-array name="emailAddressTypes"> - <item msgid="8073994352956129127">"Uy"</item> + <item msgid="8073994352956129127">"Shaxsiy"</item> <item msgid="7084237356602625604">"Ish"</item> <item msgid="1112044410659011023">"Boshqa"</item> <item msgid="2374913952870110618">"Maxsus"</item> @@ -595,16 +595,16 @@ <string name="phoneTypeFaxHome" msgid="2067265972322971467">"Faks (uy)"</string> <string name="phoneTypePager" msgid="7582359955394921732">"Peyjer"</string> <string name="phoneTypeOther" msgid="1544425847868765990">"Boshqa"</string> - <string name="phoneTypeCallback" msgid="2712175203065678206">"Teskari qo‘ng‘iroq"</string> - <string name="phoneTypeCar" msgid="8738360689616716982">"Mashina"</string> - <string name="phoneTypeCompanyMain" msgid="540434356461478916">"Asosiy kompaniya"</string> + <string name="phoneTypeCallback" msgid="2712175203065678206">"Qayta qo‘ng‘iroq"</string> + <string name="phoneTypeCar" msgid="8738360689616716982">"Avtomobil"</string> + <string name="phoneTypeCompanyMain" msgid="540434356461478916">"Ofis"</string> <string name="phoneTypeIsdn" msgid="8022453193171370337">"ISDN"</string> <string name="phoneTypeMain" msgid="6766137010628326916">"Asosiy"</string> <string name="phoneTypeOtherFax" msgid="8587657145072446565">"Faks (boshqa)"</string> <string name="phoneTypeRadio" msgid="4093738079908667513">"Radio"</string> <string name="phoneTypeTelex" msgid="3367879952476250512">"Teleks"</string> - <string name="phoneTypeTtyTdd" msgid="8606514378585000044">"TTY TDD"</string> - <string name="phoneTypeWorkMobile" msgid="1311426989184065709">"Mobayl (ish)"</string> + <string name="phoneTypeTtyTdd" msgid="8606514378585000044">"Teletayp"</string> + <string name="phoneTypeWorkMobile" msgid="1311426989184065709">"Mobil (ish)"</string> <string name="phoneTypeWorkPager" msgid="649938731231157056">"Peyjer (ish)"</string> <string name="phoneTypeAssistant" msgid="5596772636128562884">"Yordamchi"</string> <string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string> @@ -613,7 +613,7 @@ <string name="eventTypeAnniversary" msgid="3876779744518284000">"Yubiley"</string> <string name="eventTypeOther" msgid="7388178939010143077">"Boshqa"</string> <string name="emailTypeCustom" msgid="8525960257804213846">"Maxsus"</string> - <string name="emailTypeHome" msgid="449227236140433919">"Uy"</string> + <string name="emailTypeHome" msgid="449227236140433919">"Shaxsiy"</string> <string name="emailTypeWork" msgid="3548058059601149973">"Ish"</string> <string name="emailTypeOther" msgid="2923008695272639549">"Boshqa"</string> <string name="emailTypeMobile" msgid="119919005321166205">"Mobil"</string> @@ -649,10 +649,10 @@ <string name="relationTypeMother" msgid="4578571352962758304">"Ona"</string> <string name="relationTypeParent" msgid="4755635567562925226">"Ota-ona"</string> <string name="relationTypePartner" msgid="7266490285120262781">"Hamkor"</string> - <string name="relationTypeReferredBy" msgid="101573059844135524">"Tavsiya qilingan"</string> + <string name="relationTypeReferredBy" msgid="101573059844135524">"Tavsiya etilgan"</string> <string name="relationTypeRelative" msgid="1799819930085610271">"Qarindosh"</string> <string name="relationTypeSister" msgid="1735983554479076481">"Opa/singil"</string> - <string name="relationTypeSpouse" msgid="394136939428698117">"Turmush o‘rtog‘i"</string> + <string name="relationTypeSpouse" msgid="394136939428698117">"Turmush o‘rtoq"</string> <string name="sipAddressTypeCustom" msgid="2473580593111590945">"Maxsus"</string> <string name="sipAddressTypeHome" msgid="6093598181069359295">"Uy"</string> <string name="sipAddressTypeWork" msgid="6920725730797099047">"Ish"</string> @@ -680,7 +680,7 @@ <string name="lockscreen_password_wrong" msgid="5737815393253165301">"Qaytadan urining"</string> <string name="faceunlock_multiple_failures" msgid="754137583022792429">"Yuzni tanitib qulfni ochishga urinish miqdoridan oshib ketdi"</string> <string name="lockscreen_missing_sim_message_short" msgid="5099439277819215399">"SIM karta yo‘q"</string> - <string name="lockscreen_missing_sim_message" product="tablet" msgid="151659196095791474">"Planshetingizga SIM karta yo‘q."</string> + <string name="lockscreen_missing_sim_message" product="tablet" msgid="151659196095791474">"Planshetingizda SIM karta yo‘q."</string> <string name="lockscreen_missing_sim_message" product="tv" msgid="1943633865476989599">"Televizorda SIM karta yo‘q."</string> <string name="lockscreen_missing_sim_message" product="default" msgid="2186920585695169078">"Telefoningizda SIM karta yo‘q."</string> <string name="lockscreen_missing_sim_instructions" msgid="5372787138023272615">"SIM kartani soling."</string> @@ -808,7 +808,7 @@ <string name="save_password_never" msgid="8274330296785855105">"Hech qachon"</string> <string name="open_permission_deny" msgid="7374036708316629800">"Sizda ushbu sahifani ochish uchun vakolat yo‘q."</string> <string name="text_copied" msgid="4985729524670131385">"Matn klipboardga nusxa olindi."</string> - <string name="more_item_label" msgid="4650918923083320495">"Ko‘proq"</string> + <string name="more_item_label" msgid="4650918923083320495">"Yana"</string> <string name="prepend_shortcut_label" msgid="2572214461676015642">"Menyu+"</string> <string name="menu_space_shortcut_label" msgid="2410328639272162537">"space"</string> <string name="menu_enter_shortcut_label" msgid="2743362785111309668">"enter"</string> @@ -981,7 +981,7 @@ <string name="launch_warning_title" msgid="1547997780506713581">"Ilova qayta yo‘naltirildi"</string> <string name="launch_warning_replace" msgid="6202498949970281412">"<xliff:g id="APP_NAME">%1$s</xliff:g> hozirda ishlamoqda"</string> <string name="launch_warning_original" msgid="188102023021668683">"<xliff:g id="APP_NAME">%1$s</xliff:g> ishga tushirilgan."</string> - <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Kattalashtirish"</string> + <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Masshtab"</string> <string name="screen_compat_mode_show" msgid="4013878876486655892">"Doimo ko‘rsatish"</string> <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Uni Tizim sozlamalari > Ilovalar > Yuklab olingan menyusidan qayta yoqing."</string> <string name="smv_application" msgid="3307209192155442829">"“<xliff:g id="APPLICATION">%1$s</xliff:g>” ilovasi (jarayaon: <xliff:g id="PROCESS">%2$s</xliff:g>) o‘zining StrictMode qoidasini buzdi."</string> @@ -1016,7 +1016,7 @@ <string name="volume_bluetooth_call" msgid="2002891926351151534">"Kiruvchi bluetooth tovushi"</string> <string name="volume_alarm" msgid="1985191616042689100">"Signal ovozi"</string> <string name="volume_notification" msgid="2422265656744276715">"Eslatma tovushi"</string> - <string name="volume_unknown" msgid="1400219669770445902">"Tovush"</string> + <string name="volume_unknown" msgid="1400219669770445902">"Ovoz balandligi"</string> <string name="volume_icon_description_bluetooth" msgid="6538894177255964340">"Bluetooth tovushi"</string> <string name="volume_icon_description_ringer" msgid="3326003847006162496">"Rington balandligi"</string> <string name="volume_icon_description_incall" msgid="8890073218154543397">"Qo‘ng‘iroq tovushi balandligi"</string> @@ -1102,9 +1102,9 @@ <string name="usb_ptp_notification_title" msgid="1347328437083192112">"USB orqali rasm o‘tkazish"</string> <string name="usb_midi_notification_title" msgid="4850904915889144654">"USB orqali MIDI"</string> <string name="usb_accessory_notification_title" msgid="7848236974087653666">"USB jihozga ulangan"</string> - <string name="usb_notification_message" msgid="3370903770828407960">"Qo‘shimcha parametrlarni ko‘rsatish uchun bosing."</string> + <string name="usb_notification_message" msgid="3370903770828407960">"Boshqa parametrlarini ko‘rish uchun bosing."</string> <string name="adb_active_notification_title" msgid="6729044778949189918">"USB orqali nosozliklarni tuzatish"</string> - <string name="adb_active_notification_message" msgid="4948470599328424059">"O‘chirib qo‘yish uchun bosing."</string> + <string name="adb_active_notification_message" msgid="4948470599328424059">"O‘chirib qo‘yish uchun bu yerga bosing."</string> <string name="taking_remote_bugreport_notification_title" msgid="6742483073875060934">"Xatoliklar hisoboti olinmoqda…"</string> <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Xatoliklar hisoboti yuborilsinmi?"</string> <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Xatoliklar hisoboti yuborilmoqda…"</string> @@ -1204,7 +1204,7 @@ <string name="vpn_lockdown_config" msgid="4655589351146766608">"Sozlash uchun bosing"</string> <string name="upload_file" msgid="2897957172366730416">"Faylni tanlash"</string> <string name="no_file_chosen" msgid="6363648562170759465">"Hech qanday fayl tanlanmadi"</string> - <string name="reset" msgid="2448168080964209908">"Tiklash"</string> + <string name="reset" msgid="2448168080964209908">"Asliga qaytarish"</string> <string name="submit" msgid="1602335572089911941">"Yuborish"</string> <string name="car_mode_disable_notification_title" msgid="3164768212003864316">"Mashina usuli yoqilgan"</string> <string name="car_mode_disable_notification_message" msgid="6301524980144350051">"Avtomobil rejimidan chiqish uchun bosing."</string> @@ -1329,7 +1329,7 @@ <string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"Taglik karnaylar"</string> <string name="default_media_route_name_hdmi" msgid="2450970399023478055">"HDMI"</string> <string name="default_audio_route_category_name" msgid="3722811174003886946">"Tizim"</string> - <string name="bluetooth_a2dp_audio_route_name" msgid="8575624030406771015">"Bluetooth audio"</string> + <string name="bluetooth_a2dp_audio_route_name" msgid="8575624030406771015">"Ovozni Bluetooth orqali chiqarish"</string> <string name="wireless_display_route_description" msgid="9070346425023979651">"Simsiz monitor"</string> <string name="media_route_button_content_description" msgid="591703006349356016">"Translatsiya qilish"</string> <string name="media_route_chooser_title" msgid="1751618554539087622">"Qurilmaga ulanish"</string> @@ -1512,7 +1512,7 @@ <string name="select_minutes" msgid="3974345615920336087">"Daqiqalarni tanlash"</string> <string name="select_day" msgid="7774759604701773332">"Oy va kunni tanlash"</string> <string name="select_year" msgid="7952052866994196170">"Yilni tanlash"</string> - <string name="deleted_key" msgid="7659477886625566590">"<xliff:g id="KEY">%1$s</xliff:g> o‘chirildi"</string> + <string name="deleted_key" msgid="7659477886625566590">"<xliff:g id="KEY">%1$s</xliff:g> raqami o‘chirib tashlandi"</string> <string name="managed_profile_label_badge" msgid="2355652472854327647">"Ish <xliff:g id="LABEL">%1$s</xliff:g>"</string> <string name="lock_to_app_toast" msgid="1420543809500606964">"Bu ekrandan chiqish uchun “Orqaga” tugmasini bosib turing."</string> <string name="lock_to_app_toast_accessible" msgid="2302154926850846096">"Bu ekrandan chiqish uchun “Umumiy ma’lumot” tugmasini bosib turing."</string> @@ -1585,7 +1585,7 @@ <string name="usb_midi_peripheral_name" msgid="7221113987741003817">"Android tashqi USB porti"</string> <string name="usb_midi_peripheral_manufacturer_name" msgid="7176526170008970168">"Android"</string> <string name="usb_midi_peripheral_product_name" msgid="4971827859165280403">"Tashqi USB porti"</string> - <string name="floating_toolbar_open_overflow_description" msgid="4797287862999444631">"Ko‘proq"</string> + <string name="floating_toolbar_open_overflow_description" msgid="4797287862999444631">"Yana"</string> <string name="floating_toolbar_close_overflow_description" msgid="559796923090723804">"Qalqib turuvchi asboblar panelini yopish"</string> <string name="maximize_button_text" msgid="7543285286182446254">"Maksimallashtirish"</string> <string name="close_button_text" msgid="3937902162644062866">"Yopish"</string> diff --git a/core/res/res/values-zh-rHK/strings.xml b/core/res/res/values-zh-rHK/strings.xml index 4ba3c406e0ba..4b1cfbbb9b34 100644 --- a/core/res/res/values-zh-rHK/strings.xml +++ b/core/res/res/values-zh-rHK/strings.xml @@ -251,7 +251,7 @@ <string name="permgrouplab_sms" msgid="228308803364967808">"短訊"</string> <string name="permgroupdesc_sms" msgid="4656988620100940350">"傳送和查看短訊"</string> <string name="permgrouplab_storage" msgid="1971118770546336966">"儲存空間"</string> - <string name="permgroupdesc_storage" msgid="637758554581589203">"在您的裝置上存取相片、媒體和檔案"</string> + <string name="permgroupdesc_storage" msgid="637758554581589203">"存取裝置上的相片、媒體和檔案"</string> <string name="permgrouplab_microphone" msgid="171539900250043464">"麥克風"</string> <string name="permgroupdesc_microphone" msgid="4988812113943554584">"錄音"</string> <string name="permgrouplab_camera" msgid="4820372495894586615">"相機"</string> @@ -616,7 +616,7 @@ <string name="emailTypeHome" msgid="449227236140433919">"住宅"</string> <string name="emailTypeWork" msgid="3548058059601149973">"公司"</string> <string name="emailTypeOther" msgid="2923008695272639549">"其他"</string> - <string name="emailTypeMobile" msgid="119919005321166205">"流動電郵"</string> + <string name="emailTypeMobile" msgid="119919005321166205">"流動"</string> <string name="postalTypeCustom" msgid="8903206903060479902">"自訂"</string> <string name="postalTypeHome" msgid="8165756977184483097">"住宅"</string> <string name="postalTypeWork" msgid="5268172772387694495">"公司"</string> @@ -694,7 +694,7 @@ <string name="lockscreen_transport_stop_description" msgid="5907083260651210034">"停止"</string> <string name="lockscreen_transport_rew_description" msgid="6944412838651990410">"倒帶"</string> <string name="lockscreen_transport_ffw_description" msgid="42987149870928985">"向前快轉"</string> - <string name="emergency_calls_only" msgid="6733978304386365407">"僅可撥打緊急電話"</string> + <string name="emergency_calls_only" msgid="6733978304386365407">"只可撥打緊急電話"</string> <string name="lockscreen_network_locked_message" msgid="143389224986028501">"網絡已鎖定"</string> <string name="lockscreen_sim_puk_locked_message" msgid="7441797339976230">"SIM 卡處於 PUK 鎖定狀態。"</string> <string name="lockscreen_sim_puk_locked_instructions" msgid="8127916255245181063">"請參閱使用者指南或與客戶服務中心聯絡。"</string> @@ -1345,7 +1345,7 @@ <string name="display_manager_overlay_display_title" msgid="652124517672257172">"<xliff:g id="NAME">%1$s</xliff:g>:<xliff:g id="WIDTH">%2$d</xliff:g>x<xliff:g id="HEIGHT">%3$d</xliff:g>,<xliff:g id="DPI">%4$d</xliff:g> dpi"</string> <string name="display_manager_overlay_display_secure_suffix" msgid="6022119702628572080">"(安全)"</string> <string name="kg_forgot_pattern_button_text" msgid="8852021467868220608">"忘記圖案"</string> - <string name="kg_wrong_pattern" msgid="1850806070801358830">"圖案錯誤"</string> + <string name="kg_wrong_pattern" msgid="1850806070801358830">"圖形不對"</string> <string name="kg_wrong_password" msgid="2333281762128113157">"密碼錯誤"</string> <string name="kg_wrong_pin" msgid="1131306510833563801">"PIN 錯誤"</string> <string name="kg_too_many_failed_attempts_countdown" msgid="6358110221603297548">"請在 <xliff:g id="NUMBER">%1$d</xliff:g> 秒後再試一次。"</string> @@ -1523,7 +1523,7 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"已由您的管理員更新"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"已由管理員刪除"</string> <string name="battery_saver_description" msgid="1960431123816253034">"節約電池用量模式有助於延長電池壽命,但這會降低裝置效能,並限制震動、定位服務及大部分背景數據傳輸。除非您啟用,否則電郵、短訊及其他需要使用同步功能的應用程式均不會更新。\n\n當裝置充電時,節約電池用量模式會自動關閉。"</string> - <string name="data_saver_description" msgid="6015391409098303235">"「數據節省程式」可防止部分應用程式在背景收發資料,以節省數據用量。您正在使用的應用程式仍可以存取資料,但存取頻率可能會降低。例如,除非您輕按圖片,否則系統可能不會顯示相關圖片。"</string> + <string name="data_saver_description" msgid="6015391409098303235">"「數據節省程式」可防止部分應用程式在背景收發資料,以節省數據用量。您正在使用的應用程式雖可存取資料,但次數可能會減少。例如,圖片可能需要輕按才會顯示。"</string> <string name="data_saver_enable_title" msgid="4674073932722787417">"要啟用數據節省程式嗎?"</string> <string name="data_saver_enable_button" msgid="7147735965247211818">"開啟"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> @@ -1597,7 +1597,7 @@ <string name="language_selection_title" msgid="2680677278159281088">"新增語言"</string> <string name="country_selection_title" msgid="2954859441620215513">"地區偏好設定"</string> <string name="search_language_hint" msgid="7042102592055108574">"輸入語言名稱"</string> - <string name="language_picker_section_suggested" msgid="8414489646861640885">"推薦"</string> + <string name="language_picker_section_suggested" msgid="8414489646861640885">"建議"</string> <string name="language_picker_section_all" msgid="3097279199511617537">"所有語言"</string> <string name="locale_search_menu" msgid="2560710726687249178">"搜尋"</string> <string name="work_mode_off_title" msgid="8954725060677558855">"工作模式已關閉"</string> diff --git a/core/res/res/values-zh-rTW/strings.xml b/core/res/res/values-zh-rTW/strings.xml index 201a1453a5e7..91183314c7d8 100644 --- a/core/res/res/values-zh-rTW/strings.xml +++ b/core/res/res/values-zh-rTW/strings.xml @@ -55,7 +55,7 @@ <string name="mmiComplete" msgid="8232527495411698359">"MMI 完成。"</string> <string name="badPin" msgid="9015277645546710014">"您輸入的舊 PIN 不正確。"</string> <string name="badPuk" msgid="5487257647081132201">"您輸入的 PUK 不正確。"</string> - <string name="mismatchPin" msgid="609379054496863419">"您輸入的 PIN 不符。"</string> + <string name="mismatchPin" msgid="609379054496863419">"您輸入的 PIN 碼不符。"</string> <string name="invalidPin" msgid="3850018445187475377">"輸入 4~8 個數字的 PIN。"</string> <string name="invalidPuk" msgid="8761456210898036513">"輸入 8 位數以上的 PUK。"</string> <string name="needPuk" msgid="919668385956251611">"SIM 卡的 PUK 已鎖定。請輸入 PUK 碼解除鎖定。"</string> @@ -596,13 +596,13 @@ <string name="phoneTypePager" msgid="7582359955394921732">"呼叫器"</string> <string name="phoneTypeOther" msgid="1544425847868765990">"其他"</string> <string name="phoneTypeCallback" msgid="2712175203065678206">"回撥電話"</string> - <string name="phoneTypeCar" msgid="8738360689616716982">"汽車電話"</string> + <string name="phoneTypeCar" msgid="8738360689616716982">"車用電話"</string> <string name="phoneTypeCompanyMain" msgid="540434356461478916">"公司代表號"</string> <string name="phoneTypeIsdn" msgid="8022453193171370337">"ISDN"</string> <string name="phoneTypeMain" msgid="6766137010628326916">"代表號"</string> <string name="phoneTypeOtherFax" msgid="8587657145072446565">"其他傳真"</string> <string name="phoneTypeRadio" msgid="4093738079908667513">"無線電"</string> - <string name="phoneTypeTelex" msgid="3367879952476250512">"Telex"</string> + <string name="phoneTypeTelex" msgid="3367879952476250512">"電報"</string> <string name="phoneTypeTtyTdd" msgid="8606514378585000044">"TTY/TDD"</string> <string name="phoneTypeWorkMobile" msgid="1311426989184065709">"公司行動電話"</string> <string name="phoneTypeWorkPager" msgid="649938731231157056">"公司呼叫器"</string> @@ -715,7 +715,7 @@ <string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"<xliff:g id="NUMBER">%d</xliff:g> 秒後再試一次。"</string> <string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"忘記解鎖圖案?"</string> <string name="lockscreen_glogin_forgot_pattern" msgid="2588521501166032747">"帳戶解鎖"</string> - <string name="lockscreen_glogin_too_many_attempts" msgid="2751368605287288808">"圖形嘗試次數過多"</string> + <string name="lockscreen_glogin_too_many_attempts" msgid="2751368605287288808">"圖案嘗試次數過多"</string> <string name="lockscreen_glogin_instructions" msgid="3931816256100707784">"如要解除鎖定,請使用 Google 帳戶登入。"</string> <string name="lockscreen_glogin_username_hint" msgid="8846881424106484447">"使用者名稱 (電子郵件)"</string> <string name="lockscreen_glogin_password_hint" msgid="5958028383954738528">"密碼"</string> @@ -751,7 +751,7 @@ <string name="keyguard_accessibility_face_unlock" msgid="4817282543351718535">"人臉解鎖。"</string> <string name="keyguard_accessibility_pin_unlock" msgid="2469687111784035046">"PIN 解鎖。"</string> <string name="keyguard_accessibility_password_unlock" msgid="7675777623912155089">"密碼解鎖。"</string> - <string name="keyguard_accessibility_pattern_area" msgid="7679891324509597904">"圖形區域。"</string> + <string name="keyguard_accessibility_pattern_area" msgid="7679891324509597904">"圖案區域。"</string> <string name="keyguard_accessibility_slide_area" msgid="6736064494019979544">"滑動區域。"</string> <string name="password_keyboard_label_symbol_key" msgid="992280756256536042">"?123"</string> <string name="password_keyboard_label_alpha_key" msgid="8001096175167485649">"ABC"</string> @@ -1344,12 +1344,12 @@ <string name="display_manager_overlay_display_name" msgid="5142365982271620716">"第 <xliff:g id="ID">%1$d</xliff:g> 個重疊效果"</string> <string name="display_manager_overlay_display_title" msgid="652124517672257172">"<xliff:g id="NAME">%1$s</xliff:g>:<xliff:g id="WIDTH">%2$d</xliff:g>x<xliff:g id="HEIGHT">%3$d</xliff:g>,<xliff:g id="DPI">%4$d</xliff:g> dpi"</string> <string name="display_manager_overlay_display_secure_suffix" msgid="6022119702628572080">"(安全)"</string> - <string name="kg_forgot_pattern_button_text" msgid="8852021467868220608">"忘記圖形"</string> - <string name="kg_wrong_pattern" msgid="1850806070801358830">"圖形錯誤"</string> + <string name="kg_forgot_pattern_button_text" msgid="8852021467868220608">"忘記圖案"</string> + <string name="kg_wrong_pattern" msgid="1850806070801358830">"圖案錯誤"</string> <string name="kg_wrong_password" msgid="2333281762128113157">"密碼錯誤"</string> <string name="kg_wrong_pin" msgid="1131306510833563801">"PIN 錯誤"</string> <string name="kg_too_many_failed_attempts_countdown" msgid="6358110221603297548">"請在 <xliff:g id="NUMBER">%1$d</xliff:g> 秒後再試一次。"</string> - <string name="kg_pattern_instructions" msgid="398978611683075868">"畫出圖形"</string> + <string name="kg_pattern_instructions" msgid="398978611683075868">"畫出圖案"</string> <string name="kg_sim_pin_instructions" msgid="2319508550934557331">"輸入 SIM PIN"</string> <string name="kg_pin_instructions" msgid="2377242233495111557">"輸入 PIN"</string> <string name="kg_password_instructions" msgid="5753646556186936819">"輸入密碼"</string> @@ -1362,7 +1362,7 @@ <string name="kg_invalid_sim_puk_hint" msgid="6025069204539532000">"PUK 碼必須為 8 碼。"</string> <string name="kg_invalid_puk" msgid="3638289409676051243">"重新輸入正確的 PUK 碼。如果錯誤次數過多,SIM 卡將會永久停用。"</string> <string name="kg_invalid_confirm_pin_hint" product="default" msgid="7003469261464593516">"PIN 碼不符"</string> - <string name="kg_login_too_many_attempts" msgid="6486842094005698475">"圖形嘗試次數過多"</string> + <string name="kg_login_too_many_attempts" msgid="6486842094005698475">"圖案嘗試次數過多"</string> <string name="kg_login_instructions" msgid="1100551261265506448">"如要解除鎖定,請使用 Google 帳戶登入。"</string> <string name="kg_login_username_hint" msgid="5718534272070920364">"使用者名稱 (電子郵件)"</string> <string name="kg_login_password_hint" msgid="9057289103827298549">"密碼"</string> @@ -1492,7 +1492,7 @@ <string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"新 PIN"</string> <string name="restr_pin_confirm_pin" msgid="8501523829633146239">"確認新 PIN"</string> <string name="restr_pin_create_pin" msgid="8017600000263450337">"建立修改限制所需的 PIN"</string> - <string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"PIN 不符,請再試一次。"</string> + <string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"PIN 碼不符,請再試一次。"</string> <string name="restr_pin_error_too_short" msgid="8173982756265777792">"PIN 長度太短,至少必須為 4 位數。"</string> <plurals name="restr_pin_countdown" formatted="false" msgid="9061246974881224688"> <item quantity="other">請於 <xliff:g id="COUNT">%d</xliff:g> 秒後再試一次</item> @@ -1523,7 +1523,7 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"由您的管理員更新"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"已遭管理員刪除"</string> <string name="battery_saver_description" msgid="1960431123816253034">"節約耗電量模式會透過降低裝置效能、震動限制、定位服務限制和大多數背景資料運作限制等方式,延長電池續航力。此外,如果未開啟電子郵件、簡訊和其他需要使用同步功能的應用程式,系統將不會自動更新這些應用程式。\n\n當您為裝置充電時,節約耗電量模式會自動關閉。"</string> - <string name="data_saver_description" msgid="6015391409098303235">"為協助減少數據用量,數據節省模式會禁止部分應用程式在背景傳送或接收資料。您目前使用的某個應用程式可以存取資料,但存取頻率可能不如平時高。舉例來說,圖片可能不會自動顯示,而必須由您輕觸後才會顯示。"</string> + <string name="data_saver_description" msgid="6015391409098303235">"「數據節省模式」可防止部分應用程式在背景收發資料,以節省數據用量。您目前使用的某個應用程式可以存取資料,但存取頻率可能不如平時高。舉例來說,圖片可能不會自動顯示,而必須由您輕觸後才會顯示。"</string> <string name="data_saver_enable_title" msgid="4674073932722787417">"要開啟數據節省模式嗎?"</string> <string name="data_saver_enable_button" msgid="7147735965247211818">"開啟"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> diff --git a/core/res/res/values/arrays.xml b/core/res/res/values/arrays.xml index 30e23f5124c5..e190bd13f5d2 100644 --- a/core/res/res/values/arrays.xml +++ b/core/res/res/values/arrays.xml @@ -22,296 +22,120 @@ <!-- Do not translate. These are all of the drawable resources that should be preloaded by the zygote process before it starts forking application processes. --> <array name="preloaded_drawables"> - <item>@drawable/toast_frame</item> - <item>@drawable/btn_check_on_pressed_holo_light</item> - <item>@drawable/btn_check_on_pressed_holo_dark</item> - <item>@drawable/btn_check_on_holo_light</item> - <item>@drawable/btn_check_on_holo_dark</item> - <item>@drawable/btn_check_on_focused_holo_light</item> - <item>@drawable/btn_check_on_focused_holo_dark</item> - <item>@drawable/btn_check_on_disabled_holo_light</item> - <item>@drawable/btn_check_on_disabled_holo_dark</item> - <item>@drawable/btn_check_on_disabled_focused_holo_light</item> - <item>@drawable/btn_check_on_disabled_focused_holo_dark</item> - <item>@drawable/btn_check_off_pressed_holo_light</item> - <item>@drawable/btn_check_off_pressed_holo_dark</item> - <item>@drawable/btn_check_off_holo_light</item> - <item>@drawable/btn_check_off_holo_dark</item> - <item>@drawable/btn_check_off_focused_holo_light</item> - <item>@drawable/btn_check_off_focused_holo_dark</item> - <item>@drawable/btn_check_off_disabled_holo_light</item> - <item>@drawable/btn_check_off_disabled_holo_dark</item> - <item>@drawable/btn_check_off_disabled_focused_holo_light</item> - <item>@drawable/btn_check_off_disabled_focused_holo_dark</item> - <item>@drawable/btn_check_holo_light</item> - <item>@drawable/btn_check_holo_dark</item> - <item>@drawable/btn_radio_on_pressed_holo_light</item> - <item>@drawable/btn_radio_on_pressed_holo_dark</item> - <item>@drawable/btn_radio_on_holo_light</item> - <item>@drawable/btn_radio_on_holo_dark</item> - <item>@drawable/btn_radio_on_focused_holo_light</item> - <item>@drawable/btn_radio_on_focused_holo_dark</item> - <item>@drawable/btn_radio_on_disabled_holo_light</item> - <item>@drawable/btn_radio_on_disabled_holo_dark</item> - <item>@drawable/btn_radio_on_disabled_focused_holo_light</item> - <item>@drawable/btn_radio_on_disabled_focused_holo_dark</item> - <item>@drawable/btn_radio_off_pressed_holo_light</item> - <item>@drawable/btn_radio_off_pressed_holo_dark</item> - <item>@drawable/btn_radio_off_holo_light</item> - <item>@drawable/btn_radio_off_holo_dark</item> - <item>@drawable/btn_radio_off_focused_holo_light</item> - <item>@drawable/btn_radio_off_focused_holo_dark</item> - <item>@drawable/btn_radio_off_disabled_holo_light</item> - <item>@drawable/btn_radio_off_disabled_holo_dark</item> - <item>@drawable/btn_radio_off_disabled_focused_holo_light</item> - <item>@drawable/btn_radio_off_disabled_focused_holo_dark</item> - <item>@drawable/btn_default_pressed_holo_light</item> - <item>@drawable/btn_default_pressed_holo_dark</item> - <item>@drawable/btn_default_normal_holo_light</item> - <item>@drawable/btn_default_normal_holo_dark</item> - <item>@drawable/btn_default_focused_holo_light</item> - <item>@drawable/btn_default_focused_holo_dark</item> - <item>@drawable/btn_default_disabled_holo_light</item> - <item>@drawable/btn_default_disabled_holo_dark</item> - <item>@drawable/btn_default_disabled_focused_holo_light</item> - <item>@drawable/btn_default_disabled_focused_holo_dark</item> - <item>@drawable/btn_default_holo_dark</item> - <item>@drawable/btn_default_holo_light</item> - <item>@drawable/edit_text_holo_light</item> - <item>@drawable/edit_text_holo_dark</item> - <item>@drawable/text_cursor_holo_light</item> - <item>@drawable/text_cursor_holo_dark</item> - <item>@drawable/text_edit_paste_window</item> - <item>@drawable/expander_close_holo_dark</item> - <item>@drawable/expander_close_holo_light</item> - <item>@drawable/expander_group_holo_dark</item> - <item>@drawable/expander_group_holo_light</item> - <item>@drawable/list_selector_holo_dark</item> - <item>@drawable/list_selector_holo_light</item> - <item>@drawable/list_section_divider_holo_light</item> - <item>@drawable/list_section_divider_holo_dark</item> - <item>@drawable/menu_dropdown_panel_holo_light</item> - <item>@drawable/menu_dropdown_panel_holo_dark</item> - <item>@drawable/menu_panel_holo_light</item> - <item>@drawable/menu_panel_holo_dark</item> - <item>@drawable/spinner_16_outer_holo</item> - <item>@drawable/spinner_16_inner_holo</item> - <item>@drawable/spinner_48_outer_holo</item> - <item>@drawable/spinner_48_inner_holo</item> - <item>@drawable/progress_bg_holo_dark</item> - <item>@drawable/progress_bg_holo_light</item> - <item>@drawable/progress_horizontal_holo_dark</item> - <item>@drawable/progress_horizontal_holo_light</item> - <item>@drawable/progress_large_holo</item> - <item>@drawable/progress_medium_holo</item> - <item>@drawable/progress_primary_holo_dark</item> - <item>@drawable/progress_primary_holo_light</item> - <item>@drawable/progress_secondary_holo_dark</item> - <item>@drawable/progress_secondary_holo_light</item> - <item>@drawable/progress_small_holo</item> - <item>@drawable/scrubber_progress_horizontal_holo_dark</item> - <item>@drawable/scrubber_progress_horizontal_holo_light</item> - <item>@drawable/background_holo_light</item> - <item>@drawable/background_holo_dark</item> - <item>@drawable/screen_background_dark</item> - <item>@drawable/screen_background_dark_transparent</item> - <item>@drawable/screen_background_light</item> - <item>@drawable/screen_background_light_transparent</item> - <item>@drawable/screen_background_selector_dark</item> - <item>@drawable/screen_background_selector_light</item> - <item>@drawable/scrollbar_handle_holo_dark</item> - <item>@drawable/scrollbar_handle_holo_light</item> - <item>@drawable/spinner_background_holo_dark</item> - <item>@drawable/spinner_background_holo_light</item> - <item>@drawable/spinner_ab_default_holo_dark</item> - <item>@drawable/spinner_ab_default_holo_light</item> - <item>@drawable/spinner_ab_disabled_holo_dark</item> - <item>@drawable/spinner_ab_disabled_holo_light</item> - <item>@drawable/spinner_ab_focused_holo_dark</item> - <item>@drawable/spinner_ab_focused_holo_light</item> - <item>@drawable/spinner_ab_pressed_holo_dark</item> - <item>@drawable/spinner_ab_pressed_holo_light</item> - <item>@drawable/spinner_ab_holo_dark</item> - <item>@drawable/spinner_ab_holo_light</item> - <item>@drawable/spinner_default_holo_dark</item> - <item>@drawable/spinner_default_holo_light</item> - <item>@drawable/spinner_disabled_holo_dark</item> - <item>@drawable/spinner_disabled_holo_light</item> - <item>@drawable/spinner_focused_holo_dark</item> - <item>@drawable/spinner_focused_holo_light</item> - <item>@drawable/spinner_pressed_holo_dark</item> - <item>@drawable/spinner_pressed_holo_light</item> - <item>@drawable/cab_background_bottom_holo_dark</item> - <item>@drawable/cab_background_top_holo_light</item> - <item>@drawable/cab_background_bottom_holo_light</item> - <item>@drawable/ic_cab_done_holo_dark</item> - <item>@drawable/cab_background_top_holo_dark</item> - <item>@drawable/ic_cab_done_holo_light</item> - <item>@drawable/btn_cab_done_default_holo_dark</item> - <item>@drawable/btn_cab_done_focused_holo_light</item> - <item>@drawable/btn_cab_done_default_holo_light</item> - <item>@drawable/btn_cab_done_pressed_holo_dark</item> - <item>@drawable/btn_cab_done_focused_holo_dark</item> - <item>@drawable/btn_cab_done_pressed_holo_light</item> - <item>@drawable/btn_cab_done_holo_light</item> - <item>@drawable/btn_cab_done_holo_dark</item> - <item>@drawable/ic_menu_close_clear_cancel</item> - <item>@drawable/ic_menu_copy_holo_dark</item> - <item>@drawable/ic_menu_copy_holo_light</item> - <item>@drawable/ic_menu_cut_holo_dark</item> - <item>@drawable/ic_menu_cut_holo_light</item> - <item>@drawable/ic_menu_more</item> - <item>@drawable/ic_menu_moreoverflow_holo_dark</item> - <item>@drawable/ic_menu_moreoverflow_holo_light</item> - <item>@drawable/ic_menu_paste_holo_dark</item> - <item>@drawable/ic_menu_paste_holo_light</item> - <item>@drawable/ic_menu_selectall_holo_light</item> - <item>@drawable/ic_menu_selectall_holo_dark</item> - <item>@drawable/ic_clear</item> - <item>@drawable/ic_clear_disabled</item> - <item>@drawable/ic_clear_normal</item> - <item>@drawable/ic_search_api_holo_dark</item> - <item>@drawable/ic_search_api_holo_light</item> - <item>@drawable/ic_go</item> - <item>@drawable/ic_voice_search_api_holo_dark</item> - <item>@drawable/ic_voice_search_api_holo_light</item> - <item>@drawable/dialog_bottom_holo_dark</item> - <item>@drawable/dialog_bottom_holo_light</item> - <item>@drawable/dialog_middle_holo_dark</item> - <item>@drawable/dialog_middle_holo_light</item> - <item>@drawable/dialog_top_holo_dark</item> - <item>@drawable/dialog_top_holo_light</item> - <item>@drawable/ic_dialog_alert_holo_dark</item> - <item>@drawable/ic_dialog_alert_holo_light</item> - <item>@drawable/list_divider_holo_dark</item> - <item>@drawable/list_divider_holo_light</item> - <item>@drawable/list_divider_holo_light</item> - <item>@drawable/ab_transparent_dark_holo</item> - <item>@drawable/ab_stacked_transparent_dark_holo</item> - <item>@drawable/ab_bottom_transparent_dark_holo</item> - <item>@drawable/ab_solid_dark_holo</item> - <item>@drawable/ab_stacked_solid_dark_holo</item> - <item>@drawable/ab_bottom_solid_dark_holo</item> - <item>@drawable/ab_transparent_light_holo</item> - <item>@drawable/ab_stacked_transparent_light_holo</item> - <item>@drawable/ab_bottom_transparent_light_holo</item> - <item>@drawable/ab_solid_light_holo</item> - <item>@drawable/ab_stacked_solid_light_holo</item> - <item>@drawable/ab_bottom_solid_light_holo</item> - <item>@drawable/ab_solid_shadow_holo</item> - <item>@drawable/item_background_holo_dark</item> - <item>@drawable/item_background_holo_light</item> - <item>@drawable/fastscroll_thumb_holo</item> - <item>@drawable/fastscroll_thumb_pressed_holo</item> - <item>@drawable/fastscroll_thumb_default_holo</item> - <item>@drawable/fastscroll_track_holo_dark</item> - <item>@drawable/fastscroll_track_pressed_holo_dark</item> - <item>@drawable/fastscroll_track_default_holo_dark</item> - <item>@drawable/fastscroll_track_holo_light</item> - <item>@drawable/fastscroll_track_pressed_holo_light</item> - <item>@drawable/fastscroll_track_default_holo_light</item> - <item>@drawable/editbox_dropdown_background_dark</item> - <item>@drawable/textfield_searchview_holo_dark</item> - <item>@drawable/textfield_searchview_right_holo_dark</item> - <item>@drawable/textfield_searchview_holo_light</item> - <item>@drawable/textfield_searchview_right_holo_light</item> - <item>@drawable/textfield_search_selected_holo_dark</item> - <item>@drawable/textfield_search_default_holo_dark</item> - <item>@drawable/textfield_search_right_selected_holo_dark</item> - <item>@drawable/textfield_search_right_default_holo_dark</item> - <item>@drawable/textfield_search_selected_holo_light</item> - <item>@drawable/textfield_search_default_holo_light</item> - <item>@drawable/textfield_search_right_selected_holo_light</item> - <item>@drawable/textfield_search_right_default_holo_light</item> - <item>@drawable/tab_indicator_holo</item> - <item>@drawable/tab_unselected_holo</item> - <item>@drawable/tab_selected_holo</item> - <item>@drawable/tab_unselected_focused_holo</item> - <item>@drawable/tab_selected_focused_holo</item> - <item>@drawable/tab_unselected_pressed_holo</item> - <item>@drawable/tab_selected_pressed_holo</item> - <item>@drawable/quickcontact_badge_overlay_dark</item> - <item>@drawable/quickcontact_badge_overlay_normal_dark</item> - <item>@drawable/quickcontact_badge_overlay_pressed_dark</item> - <item>@drawable/quickcontact_badge_overlay_light</item> - <item>@drawable/quickcontact_badge_overlay_normal_light</item> - <item>@drawable/quickcontact_badge_overlay_pressed_light</item> - - <!-- Material assets --> - <item>@drawable/ab_share_pack_material</item> - <item>@drawable/ab_solid_shadow_material</item> - <item>@drawable/activated_background_material</item> - <item>@drawable/btn_borderless_material</item> - <item>@drawable/btn_check_material_anim</item> - <item>@drawable/btn_default_material</item> - <item>@drawable/btn_radio_material_anim</item> - <item>@drawable/btn_star_material</item> - <item>@drawable/btn_toggle_material</item> - <item>@drawable/cab_background_bottom_material</item> - <item>@drawable/cab_background_top_material</item> - <item>@drawable/dialog_background_material</item> - <item>@drawable/edit_text_material</item> - <item>@drawable/expander_group_material</item> - <item>@drawable/fastscroll_label_left_material</item> - <item>@drawable/fastscroll_label_right_material</item> - <item>@drawable/fastscroll_thumb_material</item> - <item>@drawable/fastscroll_track_material</item> - <item>@drawable/floating_popup_background_dark</item> - <item>@drawable/floating_popup_background_light</item> - <item>@drawable/ic_ab_back_material</item> - <item>@drawable/ic_ab_back_material_dark</item> - <item>@drawable/ic_ab_back_material_light</item> - <item>@drawable/ic_clear_material</item> - <item>@drawable/ic_commit_search_api_material</item> - <item>@drawable/ic_dialog_alert_material</item> - <item>@drawable/ic_find_next_material</item> - <item>@drawable/ic_find_previous_material</item> - <item>@drawable/ic_go_search_api_material</item> - <item>@drawable/ic_media_route_connecting_material</item> - <item>@drawable/ic_media_route_material</item> - <item>@drawable/ic_menu_copy_material</item> - <item>@drawable/ic_menu_cut_material</item> - <item>@drawable/ic_menu_find_material</item> - <item>@drawable/ic_menu_moreoverflow_material</item> - <item>@drawable/ic_menu_paste_material</item> - <item>@drawable/ic_menu_search_material</item> - <item>@drawable/ic_menu_selectall_material</item> - <item>@drawable/ic_menu_share_material</item> - <item>@drawable/ic_search_api_material</item> - <item>@drawable/ic_voice_search_api_material</item> - <item>@drawable/item_background_borderless_material</item> - <item>@drawable/item_background_borderless_material_dark</item> - <item>@drawable/item_background_borderless_material_light</item> - <item>@drawable/item_background_material</item> - <item>@drawable/item_background_material_dark</item> - <item>@drawable/item_background_material_light</item> - <item>@drawable/list_divider_material</item> - <item>@drawable/list_section_divider_material</item> - <item>@drawable/notification_material_action_background</item> - <item>@drawable/notification_material_media_action_background</item> - <item>@drawable/popup_background_material</item> - <item>@drawable/progress_horizontal_material</item> - <item>@drawable/progress_indeterminate_horizontal_material</item> - <item>@drawable/progress_large_material</item> - <item>@drawable/progress_medium_material</item> - <item>@drawable/progress_small_material</item> - <item>@drawable/ratingbar_material</item> - <item>@drawable/ratingbar_small_material</item> - <item>@drawable/ratingbar_indicator_material</item> - <item>@drawable/scrollbar_handle_material</item> - <item>@drawable/seekbar_thumb_material_anim</item> - <item>@drawable/seekbar_track_material</item> - <item>@drawable/spinner_background_material</item> - <item>@drawable/spinner_textfield_background_material</item> - <item>@drawable/switch_thumb_material_anim</item> - <item>@drawable/switch_track_material</item> - <item>@drawable/tab_indicator_material</item> - <item>@drawable/text_cursor_material</item> - <item>@drawable/textfield_search_material</item> - <item>@drawable/text_select_handle_left_material</item> - <item>@drawable/text_select_handle_middle_material</item> - <item>@drawable/text_select_handle_right_material</item> - <item>@drawable/ic_account_circle</item> + <item>@drawable/ab_share_pack_material</item> + <item>@drawable/ab_solid_shadow_material</item> + <item>@drawable/action_bar_item_background_material</item> + <item>@drawable/activated_background_material</item> + <item>@drawable/btn_borderless_material</item> + <item>@drawable/btn_check_material_anim</item> + <item>@drawable/btn_colored_material</item> + <item>@drawable/btn_default_material</item> + <item>@drawable/btn_group_holo_dark</item> + <item>@drawable/btn_group_holo_light</item> + <item>@drawable/btn_radio_material_anim</item> + <item>@drawable/btn_star_material</item> + <item>@drawable/btn_toggle_material</item> + <item>@drawable/button_inset</item> + <item>@drawable/cab_background_bottom_material</item> + <item>@drawable/cab_background_top_material</item> + <item>@drawable/control_background_32dp_material</item> + <item>@drawable/control_background_40dp_material</item> + <item>@drawable/dialog_background_material</item> + <item>@drawable/editbox_dropdown_background_dark</item> + <item>@drawable/edit_text_material</item> + <item>@drawable/expander_group_material</item> + <item>@drawable/fastscroll_label_left_material</item> + <item>@drawable/fastscroll_label_right_material</item> + <item>@drawable/fastscroll_thumb_material</item> + <item>@drawable/fastscroll_track_material</item> + <item>@drawable/floating_popup_background_dark</item> + <item>@drawable/floating_popup_background_light</item> + <item>@drawable/gallery_item_background</item> + <item>@drawable/ic_ab_back_material</item> + <item>@drawable/ic_ab_back_material_dark</item> + <item>@drawable/ic_ab_back_material_light</item> + <item>@drawable/ic_account_circle</item> + <item>@drawable/ic_arrow_drop_right_black_24dp</item> + <item>@drawable/ic_clear</item> + <item>@drawable/ic_clear_disabled</item> + <item>@drawable/ic_clear_material</item> + <item>@drawable/ic_clear_normal</item> + <item>@drawable/ic_commit_search_api_material</item> + <item>@drawable/ic_dialog_alert_material</item> + <item>@drawable/ic_find_next_material</item> + <item>@drawable/ic_find_previous_material</item> + <item>@drawable/ic_go</item> + <item>@drawable/ic_go_search_api_material</item> + <item>@drawable/ic_media_route_connecting_material</item> + <item>@drawable/ic_media_route_material</item> + <item>@drawable/ic_menu_close_clear_cancel</item> + <item>@drawable/ic_menu_copy_material</item> + <item>@drawable/ic_menu_cut_material</item> + <item>@drawable/ic_menu_find_material</item> + <item>@drawable/ic_menu_more</item> + <item>@drawable/ic_menu_moreoverflow_material</item> + <item>@drawable/ic_menu_paste_material</item> + <item>@drawable/ic_menu_search_material</item> + <item>@drawable/ic_menu_selectall_material</item> + <item>@drawable/ic_menu_share_material</item> + <item>@drawable/ic_search_api_material</item> + <item>@drawable/ic_voice_search_api_material</item> + <item>@drawable/indicator_check_mark_dark</item> + <item>@drawable/indicator_check_mark_light</item> + <item>@drawable/item_background_borderless_material</item> + <item>@drawable/item_background_borderless_material_dark</item> + <item>@drawable/item_background_borderless_material_light</item> + <item>@drawable/item_background_material</item> + <item>@drawable/item_background_material_dark</item> + <item>@drawable/item_background_material_light</item> + <item>@drawable/list_choice_background_material</item> + <item>@drawable/list_divider_material</item> + <item>@drawable/list_section_divider_material</item> + <item>@drawable/menu_background_fill_parent_width</item> + <item>@drawable/notification_material_action_background</item> + <item>@drawable/notification_material_media_action_background</item> + <item>@drawable/number_picker_divider_material</item> + <item>@drawable/popup_background_material</item> + <item>@drawable/popup_inline_error_above_holo_dark</item> + <item>@drawable/popup_inline_error_above_holo_light</item> + <item>@drawable/popup_inline_error_holo_dark</item> + <item>@drawable/popup_inline_error_holo_light</item> + <item>@drawable/progress_horizontal_material</item> + <item>@drawable/progress_indeterminate_horizontal_material</item> + <item>@drawable/progress_large_material</item> + <item>@drawable/progress_medium_material</item> + <item>@drawable/progress_small_material</item> + <item>@drawable/quickcontact_badge_overlay_dark</item> + <item>@drawable/quickcontact_badge_overlay_light</item> + <item>@drawable/quickcontact_badge_overlay_normal_dark</item> + <item>@drawable/quickcontact_badge_overlay_normal_light</item> + <item>@drawable/quickcontact_badge_overlay_pressed_dark</item> + <item>@drawable/quickcontact_badge_overlay_pressed_light</item> + <item>@drawable/ratingbar_indicator_material</item> + <item>@drawable/ratingbar_material</item> + <item>@drawable/ratingbar_small_material</item> + <item>@drawable/screen_background_dark</item> + <item>@drawable/screen_background_dark_transparent</item> + <item>@drawable/screen_background_light</item> + <item>@drawable/screen_background_light_transparent</item> + <item>@drawable/screen_background_selector_dark</item> + <item>@drawable/screen_background_selector_light</item> + <item>@drawable/scrollbar_handle_material</item> + <item>@drawable/seekbar_thumb_material_anim</item> + <item>@drawable/seekbar_tick_mark_material</item> + <item>@drawable/seekbar_track_material</item> + <item>@drawable/spinner_background_material</item> + <item>@drawable/spinner_textfield_background_material</item> + <item>@drawable/switch_thumb_material_anim</item> + <item>@drawable/switch_track_material</item> + <item>@drawable/tab_indicator_material</item> + <item>@drawable/text_cursor_material</item> + <item>@drawable/text_edit_paste_window</item> + <item>@drawable/textfield_search_material</item> + <item>@drawable/text_select_handle_left_material</item> + <item>@drawable/text_select_handle_middle_material</item> + <item>@drawable/text_select_handle_right_material</item> + <item>@drawable/toast_frame</item> </array> <!-- Do not translate. These are all of the color state list resources that should be diff --git a/core/res/res/values/attrs_manifest.xml b/core/res/res/values/attrs_manifest.xml index 6c4340ad2349..d69d73db6091 100644 --- a/core/res/res/values/attrs_manifest.xml +++ b/core/res/res/values/attrs_manifest.xml @@ -1178,6 +1178,9 @@ --> <attr name="autoVerify" format="boolean" /> + <!-- An XML resource with the application's Network Security Config. --> + <attr name="networkSecurityConfig" format="reference" /> + <!-- The <code>manifest</code> tag is the root of an <code>AndroidManifest.xml</code> file, describing the contents of an Android package (.apk) file. One @@ -1313,6 +1316,7 @@ <attr name="defaultToDeviceProtectedStorage" format="boolean" /> <attr name="directBootAware" /> <attr name="resizeableActivity" /> + <attr name="networkSecurityConfig" /> </declare-styleable> <!-- The <code>permission</code> tag declares a security permission that can be used to control access from other packages to specific components or diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml index 3ba6ce1be034..37fb8166e989 100644 --- a/core/res/res/values/dimens.xml +++ b/core/res/res/values/dimens.xml @@ -24,6 +24,8 @@ <dimen name="thumbnail_height">192dp</dimen> <!-- The amount to scale a fullscreen screenshot thumbnail. --> <item name="thumbnail_fullscreen_scale" type="fraction">60%</item> + <!-- The width used to calculate scale for full screen thumbnail on TV --> + <integer name="thumbnail_width_tv">240</integer> <!-- The standard size (both width and height) of an application icon that will be displayed in the app launcher and elsewhere. --> <dimen name="app_icon_size">48dip</dimen> @@ -161,6 +163,9 @@ <!-- height of the content margin on the bottom --> <dimen name="notification_content_margin_bottom">16dp</dimen> + <!-- The height of the background for a notification header on a group --> + <dimen name="notification_header_background_height">45.5dp</dimen> + <!-- Height of a small notification in the status bar --> <dimen name="notification_min_height">92dp</dimen> diff --git a/core/res/res/values/public.xml b/core/res/res/values/public.xml index ac4818457053..fee2469083e1 100644 --- a/core/res/res/values/public.xml +++ b/core/res/res/values/public.xml @@ -2718,6 +2718,7 @@ <public type="attr" name="numberPickerStyle" /> <public type="attr" name="enableVrMode" /> <public type="attr" name="hash" /> + <public type="attr" name="networkSecurityConfig" /> <public type="style" name="Theme.Material.Light.DialogWhenLarge.DarkActionBar" /> <public type="style" name="Widget.Material.SeekBar.Discrete" /> @@ -2725,6 +2726,8 @@ <public type="style" name="Widget.Material.Light.CompoundButton.Switch" /> <public type="style" name="Widget.Material.NumberPicker" /> <public type="style" name="Widget.Material.Light.NumberPicker" /> + <public type="style" name="TextAppearance.Material.Widget.Button.Colored" /> + <public type="style" name="TextAppearance.Material.Widget.Button.Borderless.Colored" /> <public type="id" name="accessibilityActionSetProgress" /> <public type="id" name="icon_frame" /> diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml index dffab2c9c59b..22329422251b 100644 --- a/core/res/res/values/strings.xml +++ b/core/res/res/values/strings.xml @@ -4317,4 +4317,7 @@ <!-- Description of notification shown when device has been forced to safe mode after a security compromise. --> <string name="audit_safemode_notification_details">Touch to learn more.</string> + <!-- Accessibilty string added to a widget that has been suspended [CHAR LIMIT=20] --> + <string name="suspended_widget_accessibility">Disabled <xliff:g id="label" example="Calendar">%1$s</xliff:g></string> + </resources> diff --git a/core/res/res/values/styles_material.xml b/core/res/res/values/styles_material.xml index 3ed8daae9dae..c0060fda8ab8 100644 --- a/core/res/res/values/styles_material.xml +++ b/core/res/res/values/styles_material.xml @@ -298,6 +298,14 @@ please see styles_device_defaults.xml. <item name="textColor">?attr/textColorPrimaryInverse</item> </style> + <style name="TextAppearance.Material.Widget.Button.Colored"> + <item name="textColor">@color/btn_colored_text_material</item> + </style> + + <style name="TextAppearance.Material.Widget.Button.Borderless.Colored" parent="TextAppearance.Material.Widget.Button"> + <item name="textColor">@color/btn_colored_text_material</item> + </style> + <style name="TextAppearance.Material.Widget.EditText"> <item name="textColor">?attr/textColorPrimaryInverse</item> <item name="textColorHint">?attr/textColorHintInverse</item> @@ -485,8 +493,7 @@ please see styles_device_defaults.xml. <!-- Colored bordered ink button --> <style name="Widget.Material.Button.Colored"> <item name="background">@drawable/btn_colored_material</item> - <item name="textAppearance">@style/TextAppearance.Material.Widget.Button.Inverse</item> - <item name="textColor">@color/btn_colored_text_material</item> + <item name="textAppearance">@style/TextAppearance.Material.Widget.Button.Colored</item> </style> <!-- Small bordered ink button --> @@ -503,7 +510,7 @@ please see styles_device_defaults.xml. <!-- Colored borderless ink button --> <style name="Widget.Material.Button.Borderless.Colored"> - <item name="textColor">@color/btn_colored_borderless_text_material</item> + <item name="textAppearance">@style/TextAppearance.Material.Widget.Button.Borderless.Colored</item> </style> <!-- Alert dialog button bar button --> diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 3f1de6d646f6..f2c3c4291be9 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -1496,6 +1496,7 @@ <java-symbol type="integer" name="config_dockedStackDividerSnapMode" /> <java-symbol type="fraction" name="docked_stack_divider_fixed_ratio" /> <java-symbol type="fraction" name="thumbnail_fullscreen_scale" /> + <java-symbol type="integer" name="thumbnail_width_tv" /> <java-symbol type="dimen" name="resize_shadow_size" /> <java-symbol type="color" name="resize_shadow_start_color" /> <java-symbol type="color" name="resize_shadow_end_color" /> @@ -2435,6 +2436,7 @@ <java-symbol type="dimen" name="notification_content_picture_margin" /> <java-symbol type="dimen" name="notification_content_margin_top" /> <java-symbol type="dimen" name="notification_content_margin_bottom" /> + <java-symbol type="dimen" name="notification_header_background_height" /> <java-symbol type="string" name="importance_from_user" /> <java-symbol type="string" name="importance_from_person" /> @@ -2594,4 +2596,5 @@ <!-- Pinner Service --> <java-symbol type="array" name="config_defaultPinnerServiceFiles" /> + <java-symbol type="string" name="suspended_widget_accessibility" /> </resources> diff --git a/core/tests/coretests/apks/locales/Android.mk b/core/tests/coretests/apks/locales/Android.mk new file mode 100644 index 000000000000..9cb13dd4cd0e --- /dev/null +++ b/core/tests/coretests/apks/locales/Android.mk @@ -0,0 +1,8 @@ +LOCAL_PATH:= $(call my-dir) +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(call all-subdir-java-files) + +LOCAL_PACKAGE_NAME := locales + +include $(FrameworkCoreTests_BUILD_PACKAGE) diff --git a/core/tests/coretests/apks/locales/AndroidManifest.xml b/core/tests/coretests/apks/locales/AndroidManifest.xml new file mode 100644 index 000000000000..8a1f575510e7 --- /dev/null +++ b/core/tests/coretests/apks/locales/AndroidManifest.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2016 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.frameworks.coretests.locales"> + + <application android:hasCode="false"> + </application> +</manifest> diff --git a/core/tests/coretests/apks/locales/res/values-pl/values.xml b/core/tests/coretests/apks/locales/res/values-pl/values.xml new file mode 100644 index 000000000000..22237fa81001 --- /dev/null +++ b/core/tests/coretests/apks/locales/res/values-pl/values.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2016 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<resources> + <string name="text">Text (pl)</string> +</resources> diff --git a/core/tests/coretests/apks/locales/res/values/values.xml b/core/tests/coretests/apks/locales/res/values/values.xml new file mode 100644 index 000000000000..cb990d20215e --- /dev/null +++ b/core/tests/coretests/apks/locales/res/values/values.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2016 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<resources> + <string name="text">Text</string> +</resources> diff --git a/core/tests/coretests/src/android/content/res/ResourcesLocaleTest.java b/core/tests/coretests/src/android/content/res/ResourcesLocaleTest.java new file mode 100644 index 000000000000..e85666eb1639 --- /dev/null +++ b/core/tests/coretests/src/android/content/res/ResourcesLocaleTest.java @@ -0,0 +1,97 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package android.content.res; + +import android.os.FileUtils; +import android.os.LocaleList; +import android.support.test.filters.SmallTest; +import android.test.AndroidTestCase; +import android.util.DisplayMetrics; +import android.view.Display; + +import com.android.frameworks.coretests.R; + +import java.io.File; +import java.io.InputStream; +import java.util.Arrays; +import java.util.Locale; + +public class ResourcesLocaleTest extends AndroidTestCase { + + private String extractApkAndGetPath(int id) throws Exception { + final Resources resources = getContext().getResources(); + try (InputStream is = resources.openRawResource(id)) { + File path = new File(getContext().getFilesDir(), resources.getResourceEntryName(id)); + FileUtils.copyToFileOrThrow(is, path); + return path.getAbsolutePath(); + } + } + + private Resources createResourcesWithApk(int rawApkId) throws Exception { + final AssetManager assets = new AssetManager(); + assertTrue(assets.addAssetPath(extractApkAndGetPath(rawApkId)) != 0); + + final DisplayMetrics dm = new DisplayMetrics(); + dm.setToDefaults(); + return new Resources(assets, dm, new Configuration()); + } + + private static void ensureNoLanguage(Resources resources, String language) { + final String[] supportedLocales = resources.getAssets().getNonSystemLocales(); + for (String languageTag : supportedLocales) { + if ("en-XA".equals(languageTag)) { + continue; + } + assertFalse( + "supported locales: " + Arrays.toString(supportedLocales), + language.equals(Locale.forLanguageTag(languageTag).getLanguage())); + } + } + + @SmallTest + public void testEnglishIsAlwaysConsideredSupported() throws Exception { + final Resources resources = createResourcesWithApk(R.raw.locales); + ensureNoLanguage(resources, "en"); + + final LocaleList preferredLocales = LocaleList.forLanguageTags("en-US,pl-PL"); + final Configuration config = new Configuration(); + config.setLocales(preferredLocales); + + resources.updateConfiguration(config, null); + + // The APK we loaded has default and Polish languages. If English is first in the list, + // always take it the default (assumed to be English). + assertEquals(Locale.forLanguageTag("en-US"), + resources.getConfiguration().getLocales().get(0)); + } + + @SmallTest + public void testSelectFirstSupportedLanguage() throws Exception { + final Resources resources = createResourcesWithApk(R.raw.locales); + ensureNoLanguage(resources, "fr"); + + final LocaleList preferredLocales = LocaleList.forLanguageTags("fr-FR,pl-PL"); + final Configuration config = new Configuration(); + config.setLocales(preferredLocales); + + resources.updateConfiguration(config, null); + + // The APK we loaded has default and Polish languages. We expect the Polish language to + // therefore be chosen. + assertEquals(Locale.forLanguageTag("pl-PL"), + resources.getConfiguration().getLocales().get(0)); + } +} diff --git a/core/tests/coretests/src/com/android/internal/os/KernelWakelockReaderTest.java b/core/tests/coretests/src/com/android/internal/os/KernelWakelockReaderTest.java new file mode 100644 index 000000000000..4e4bb350739d --- /dev/null +++ b/core/tests/coretests/src/com/android/internal/os/KernelWakelockReaderTest.java @@ -0,0 +1,147 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.android.internal.os; + +import android.support.test.filters.SmallTest; + +import junit.framework.TestCase; + +import java.nio.charset.Charset; + +public class KernelWakelockReaderTest extends TestCase { + /** + * Helper class that builds the mock Kernel module file /d/wakeup_sources. + */ + private static class ProcFileBuilder { + private final static String sHeader = "name\t\tactive_count\tevent_count\twakeup_count\t" + + "expire_count\tactive_since\ttotal_time\tmax_time\tlast_change\t" + + "prevent_suspend_time\n"; + + private StringBuilder mStringBuilder; + + private void ensureHeader() { + if (mStringBuilder == null) { + mStringBuilder = new StringBuilder(); + mStringBuilder.append(sHeader); + } + } + + public ProcFileBuilder addLine(String name, int count, long timeMillis) { + ensureHeader(); + mStringBuilder.append(name).append("\t").append(count).append("\t0\t0\t0\t0\t") + .append(timeMillis).append("\t0\t0\t0\n"); + return this; + } + + public byte[] getBytes() throws Exception { + ensureHeader(); + byte[] data = mStringBuilder.toString().getBytes(Charset.forName("UTF-8")); + + // The Kernel puts a \0 at the end of the data. Since each of our lines ends with \n, + // we override the last \n with a \0. + data[data.length - 1] = 0; + return data; + } + } + + private KernelWakelockReader mReader; + + @Override + public void setUp() throws Exception { + super.setUp(); + mReader = new KernelWakelockReader(); + } + + @SmallTest + public void testParseEmptyFile() throws Exception { + KernelWakelockStats staleStats = mReader.parseProcWakelocks(new byte[0], 0, true, + new KernelWakelockStats()); + assertTrue(staleStats.isEmpty()); + } + + @SmallTest + public void testOnlyHeader() throws Exception { + byte[] buffer = new ProcFileBuilder().getBytes(); + KernelWakelockStats staleStats = mReader.parseProcWakelocks(buffer, buffer.length, true, + new KernelWakelockStats()); + assertTrue(staleStats.isEmpty()); + } + + @SmallTest + public void testOneWakelock() throws Exception { + byte[] buffer = new ProcFileBuilder() + .addLine("Wakelock", 34, 123) // Milliseconds + .getBytes(); + KernelWakelockStats staleStats = mReader.parseProcWakelocks(buffer, buffer.length, true, + new KernelWakelockStats()); + assertEquals(1, staleStats.size()); + assertTrue(staleStats.containsKey("Wakelock")); + + KernelWakelockStats.Entry entry = staleStats.get("Wakelock"); + assertEquals(34, entry.mCount); + assertEquals(123 * 1000, entry.mTotalTime); // Microseconds + } + + @SmallTest + public void testTwoWakelocks() throws Exception { + byte[] buffer = new ProcFileBuilder() + .addLine("Wakelock", 1, 10) + .addLine("Fakelock", 2, 20) + .getBytes(); + KernelWakelockStats staleStats = mReader.parseProcWakelocks(buffer, buffer.length, true, + new KernelWakelockStats()); + assertEquals(2, staleStats.size()); + assertTrue(staleStats.containsKey("Wakelock")); + assertTrue(staleStats.containsKey("Fakelock")); + } + + @SmallTest + public void testDuplicateWakelocksAccumulate() throws Exception { + byte[] buffer = new ProcFileBuilder() + .addLine("Wakelock", 1, 10) // Milliseconds + .addLine("Wakelock", 1, 10) // Milliseconds + .getBytes(); + KernelWakelockStats staleStats = mReader.parseProcWakelocks(buffer, buffer.length, true, + new KernelWakelockStats()); + assertEquals(1, staleStats.size()); + assertTrue(staleStats.containsKey("Wakelock")); + + KernelWakelockStats.Entry entry = staleStats.get("Wakelock"); + assertEquals(2, entry.mCount); + assertEquals(20 * 1000, entry.mTotalTime); // Microseconds + } + + @SmallTest + public void testWakelocksBecomeStale() throws Exception { + byte[] buffer = new ProcFileBuilder() + .addLine("Fakelock", 3, 30) + .getBytes(); + KernelWakelockStats staleStats = new KernelWakelockStats(); + + staleStats = mReader.parseProcWakelocks(buffer, buffer.length, true, staleStats); + assertEquals(1, staleStats.size()); + assertTrue(staleStats.containsKey("Fakelock")); + + buffer = new ProcFileBuilder() + .addLine("Wakelock", 1, 10) + .getBytes(); + + staleStats = mReader.parseProcWakelocks(buffer, buffer.length, true, staleStats); + assertEquals(1, staleStats.size()); + assertTrue(staleStats.containsKey("Wakelock")); + assertFalse(staleStats.containsKey("Fakelock")); + } +} diff --git a/docs/html-intl/intl/es/preview/setup-sdk.jd b/docs/html-intl/intl/es/preview/setup-sdk.jd index 01c715b61a28..769121d1801e 100644 --- a/docs/html-intl/intl/es/preview/setup-sdk.jd +++ b/docs/html-intl/intl/es/preview/setup-sdk.jd @@ -221,4 +221,4 @@ android { y <a href="{@docRoot}preview/api-overview.html">API y funciones de Android N </a>.</li> </ul> - +<div class="end-content-title"></div> diff --git a/docs/html-intl/intl/in/preview/setup-sdk.jd b/docs/html-intl/intl/in/preview/setup-sdk.jd index a84293192bde..c6e43f165e66 100644 --- a/docs/html-intl/intl/in/preview/setup-sdk.jd +++ b/docs/html-intl/intl/in/preview/setup-sdk.jd @@ -221,4 +221,4 @@ android { dan <a href="{@docRoot}preview/api-overview.html">Android N API dan Fiturnya</a>.</li> </ul> - +<div class="end-content-title"></div> diff --git a/docs/html-intl/intl/ja/preview/setup-sdk.jd b/docs/html-intl/intl/ja/preview/setup-sdk.jd index fd5fabadb147..4331641cabba 100644 --- a/docs/html-intl/intl/ja/preview/setup-sdk.jd +++ b/docs/html-intl/intl/ja/preview/setup-sdk.jd @@ -221,4 +221,4 @@ android { </li> </ul> - +<div class="end-content-title"></div> diff --git a/docs/html-intl/intl/ko/preview/setup-sdk.jd b/docs/html-intl/intl/ko/preview/setup-sdk.jd index adb9edf300bc..91f17c1bfaf7 100644 --- a/docs/html-intl/intl/ko/preview/setup-sdk.jd +++ b/docs/html-intl/intl/ko/preview/setup-sdk.jd @@ -136,7 +136,7 @@ API 참조와 API 차이점 보고서가 포함되어 있습니다. <h2 id="java8">Java 8 JDK 및 JRE 가져오기</h2> -<p>Android N 플랫폼에 대해 앱을 컴파일하려면 +<p>Android N 플랫폼에 대해 앱을 컴파일하려면 Java 8 개발자 키트(JDK 8)를 사용해야 하며, Android Studio 2.1의 일부 도구를 사용하려면 Java 8 런타임 환경(JRE 8)을 설치해야 합니다. 따라서 각각 최신 버전이 없는 경우, 지금 JDK 8 및 JRE 8를 @@ -221,4 +221,4 @@ SDK</strong> 옵션 목록에서 및 기능</a>에서 Android N 플랫폼에 대해 자세히 알아봅니다.</li> </ul> - +<div class="end-content-title"></div> diff --git a/docs/html-intl/intl/pt-br/preview/setup-sdk.jd b/docs/html-intl/intl/pt-br/preview/setup-sdk.jd index 4159c2536b7a..9035e508b39b 100644 --- a/docs/html-intl/intl/pt-br/preview/setup-sdk.jd +++ b/docs/html-intl/intl/pt-br/preview/setup-sdk.jd @@ -79,7 +79,7 @@ instalação existente, pule para a etapa 4):</p> <h2 id="get-sdk">Obter o N Preview SDK</h2> -<p>Para começar a desenvolver com as APIs do Android N, instale o +<p>Para começar a desenvolver com as APIs do Android N, instale o Android N Preview SDK no Android Studio da seguinte maneira:</p> <ol> @@ -112,7 +112,7 @@ Android N Preview SDK no Android Studio da seguinte maneira:</p> <p> Informações detalhadas sobre as APIs do Android N são disponibilizadas na documentação de referência do N Preview , que pode ser baixada pela tabela a seguir. - Este pacote contém uma versão off-line resumida do site de desenvolvedores do Android + Este pacote contém uma versão off-line resumida do site de desenvolvedores do Android e inclui uma referência atualizada para as APIs do Android N, além de um relatório das diferenças entre as APIs. </p> @@ -168,7 +168,7 @@ agora mesmo.</p> Para usar as APIs do Android N, seu projeto deve ser configurado da maneira apropriada. </p> -<p>Se planeja usar os recursos de linguagem do Java 8, consulte +<p>Se planeja usar os recursos de linguagem do Java 8, consulte <a href="{@docRoot}preview/j8-jack.html">Recursos de linguagem do Java 8</a> para saber mais sobre os recursos do Java 8 com suporte e como configurar seu projeto com o compilador Jack.</p> @@ -216,9 +216,9 @@ android { <ul> <li>Siga o guia para <a href="{@docRoot}preview/download.html">Testar em um dispositivo Android N</a>.</li> - <li>Saiba mais sobre a plataforma Android N com + <li>Saiba mais sobre a plataforma Android N com <a href="{@docRoot}preview/behavior-changes.html">Mudanças de comportamento</a> e <a href="{@docRoot}preview/api-overview.html">Recursos de APIs do Android N</a>.</li> </ul> - +<div class="end-content-title"></div> diff --git a/docs/html-intl/intl/ru/preview/setup-sdk.jd b/docs/html-intl/intl/ru/preview/setup-sdk.jd index 38387000707a..582fe9f01a40 100644 --- a/docs/html-intl/intl/ru/preview/setup-sdk.jd +++ b/docs/html-intl/intl/ru/preview/setup-sdk.jd @@ -79,7 +79,7 @@ check updates for</strong> и выберите <h2 id="get-sdk">Установка N Preview SDK</h2> -<p>Чтобы начать разработку с использованием API-интерфейсов Android N, необходимо установить +<p>Чтобы начать разработку с использованием API-интерфейсов Android N, необходимо установить Android N Preview SDK в Android Studio, выполнив следующие шаги.</p> <ol> @@ -136,7 +136,7 @@ API. <h2 id="java8">Установка Java 8 JDK и JRE</h2> -<p>Чтобы скомпилировать ваше приложение для платформы Android N, необходимо использовать +<p>Чтобы скомпилировать ваше приложение для платформы Android N, необходимо использовать Java 8 Developer Kit (JDK 8), а для использования некоторых инструментов с Android Studio 2.1 необходимо установить Java 8 Runtime Environment (JRE 8). Поэтому если у вас еще нет последних версий каждого из этих пакетов, загрузите JDK 8 и JRE 8 @@ -221,4 +221,4 @@ SDK</strong> и выберите и в описании <a href="{@docRoot}preview/api-overview.html">API-интерфейсов и возможностей Android N</a>. </li> </ul> - +<div class="end-content-title"></div> diff --git a/docs/html-intl/intl/vi/preview/setup-sdk.jd b/docs/html-intl/intl/vi/preview/setup-sdk.jd index 2e3a18baf5a3..6f6cd20bd096 100644 --- a/docs/html-intl/intl/vi/preview/setup-sdk.jd +++ b/docs/html-intl/intl/vi/preview/setup-sdk.jd @@ -98,7 +98,7 @@ bản cài đặt có sẵn thì hãy chuyển đến bước 4):</p> <li>Nhấp vào tab <strong>SDK Tools</strong>, rồi chọn <strong>Android SDK Build Tools</strong>, <strong>Android SDK - Platform-Tools</strong>, và các hộp kiểm <strong>Android SDK Tools</strong> + Platform-Tools</strong>, và các hộp kiểm <strong>Android SDK Tools</strong> . </li> @@ -221,4 +221,4 @@ android { và<a href="{@docRoot}preview/api-overview.html">API Android N và Các tính năng</a>.</li> </ul> - +<div class="end-content-title"></div> diff --git a/docs/html-intl/intl/zh-cn/preview/setup-sdk.jd b/docs/html-intl/intl/zh-cn/preview/setup-sdk.jd index 216d464504ac..eaef7a11d0d1 100644 --- a/docs/html-intl/intl/zh-cn/preview/setup-sdk.jd +++ b/docs/html-intl/intl/zh-cn/preview/setup-sdk.jd @@ -221,4 +221,4 @@ android { </li> </ul> - +<div class="end-content-title"></div> diff --git a/docs/html-intl/intl/zh-tw/preview/setup-sdk.jd b/docs/html-intl/intl/zh-tw/preview/setup-sdk.jd index d2a9d9e30e41..7a46acafa305 100644 --- a/docs/html-intl/intl/zh-tw/preview/setup-sdk.jd +++ b/docs/html-intl/intl/zh-tw/preview/setup-sdk.jd @@ -221,4 +221,4 @@ android { </li> </ul> - +<div class="end-content-title"></div> diff --git a/docs/html/about/dashboards/index.jd b/docs/html/about/dashboards/index.jd index 31e37bf06895..f4a03dbddfa2 100644 --- a/docs/html/about/dashboards/index.jd +++ b/docs/html/about/dashboards/index.jd @@ -384,7 +384,7 @@ $(document).ready(function(){ }); // create chart image - var $chart = $('<img style="margin-left:30px" alt="" src="' + set.chart + '" />'); + var $chart = $('<img style="margin-left:30px" alt="" data-dac-src="' + set.chart + '" />'); // stack up and insert the elements $divtable.append($table); @@ -451,9 +451,9 @@ $(document).ready(function(){ $table.append($tr); // create charts - var $sizechart = $('<img style="float:left;width:380px" alt="" src="' + var $sizechart = $('<img style="float:left;width:380px" alt="" data-dac-src="' + set.layoutchart + '" />'); - var $densitychart = $('<img style="float:left;width:380px" alt="" src="' + var $densitychart = $('<img style="float:left;width:380px" alt="" data-dac-src="' + set.densitychart + '" />'); // stack up and insert the elements @@ -461,6 +461,16 @@ $(document).ready(function(){ $("#screens-chart").append($div); }); + // TODO (akassay): Remove this. + // I replaced the src attributes in the javascript above with data-dac-src + // so the value would not be molested by the DevSite parser. So this code here + // moves that src value into a real src attribute at runtime. This should be + // removed once we either move this script out of the content body or update + // the parser to not modify src attributes in <script> tags. + $('img[data-dac-src]').each(function() { + var src = $(this).attr('data-dac-src'); + $(this).attr('src', src); + }); }); diff --git a/docs/html/google/index.jd b/docs/html/google/index.jd index b3ceee3daf13..027ba23a6e5b 100644 --- a/docs/html/google/index.jd +++ b/docs/html/google/index.jd @@ -50,42 +50,6 @@ footer.hide=1 </div> </section> -<section class="dac-section dac-light"><div class="wrap"> - <h1 class="dac-section-title">Google APIs and services</h1> - <div class="dac-section-subtitle"> - Add the latest Google-powered features to enrich your app, - grow your user base, and monetize. - </div> - <div class="resource-widget resource-flow-layout col-16" - data-query="collection:google/landing/services" - data-cardSizes="6x6" - data-maxResults="6"></div> - <ul class="dac-section-links"> - <li class="dac-section-link"><a href="https://developers.google.com/android/"> - <span class="dac-sprite dac-auto-chevron"></span> - More Google services for Android - </a></li> - </ul> - </div> -</section> - -<section class="dac-section dac-gray dac-small" id="videos"><div class="wrap"> - <h2 class="norule">Videos</h2> - <div class="resource-widget resource-flow-layout col-16" - data-query="collection:google/landing/videos" - data-sortOrder="-timestamp" - data-cardSizes="6x6" - data-maxResults="3"></div> - </div> - <ul class="dac-section-links"> - <li class="dac-section-link"><a href="https://www.youtube.com/playlist?list=PLWz5rJ2EKKc9Qk1_iCZNbBp6adYnJf9Vf"> - <span class="dac-sprite dac-auto-chevron"></span> - Playlist - </a></li> - </ul> - -</section> - <section class="dac-section dac-invert dac-darken-bg" style="background-image: url(/images/distribute/google-play-bg.jpg)"><div class="wrap"> <h1 class="dac-section-title">Google Play developer tools</h1> <div class="dac-section-subtitle"> diff --git a/docs/html/google/play/billing/billing_integrate.jd b/docs/html/google/play/billing/billing_integrate.jd index 8ffb45cb92d7..e666bc67c0af 100755 --- a/docs/html/google/play/billing/billing_integrate.jd +++ b/docs/html/google/play/billing/billing_integrate.jd @@ -150,8 +150,8 @@ method calls.</p> </p> <p> - To give your app the necessary permission, add this line in your {@code - Android.xml} manifest file: + To give your app the necessary permission, add this line in the {@code + AndroidManifest.xml} file: </p> <pre> diff --git a/docs/html/images/testing/test_framework.png b/docs/html/images/testing/test_framework.png Binary files differdeleted file mode 100644 index fbc5fc2ad42b..000000000000 --- a/docs/html/images/testing/test_framework.png +++ /dev/null diff --git a/docs/html/jd_extras_en.js b/docs/html/jd_extras_en.js index 648518693ba6..3aab5bdb56e9 100644 --- a/docs/html/jd_extras_en.js +++ b/docs/html/jd_extras_en.js @@ -89,7 +89,7 @@ METADATA['en'].extras = METADATA['en'].extras.concat([ }, { "title":"Network Monitor", - "summary":"The Network Monitor makes it possible to track when your application is making network requests. Using this tool, you can monitor how and when your app transfers data, and optimize the underlying code appropriately. By monitoring the frequency of data\u2026", + "summary":"Use the Network Monitor to analyze network requests, including how and when your app transfers data. Preserve battery life by optimizing network use.", "url":"studio/profile/am-network.html", "image":"images/tools/thumbnails/am-networkmon.png", "type":"studio", @@ -99,7 +99,7 @@ METADATA['en'].extras = METADATA['en'].extras.concat([ }, { "title":"Memory Monitor", - "summary":"Android Studio provides a Memory Monitor so you can more easily monitor app performance and memory usage to find deallocated objects, locate memory leaks, and track the amount of memory the connected device is using. The Memory Monitor reports how your\u2026", + "summary":"Use the Memory Monitor to evaluate memory usage and find deallocated objects, locate memory leaks, and track the amount of memory the connected device is using.", "url":"studio/profile/am-memory.html", "image":"images/tools/thumbnails/am-memorymon.png", "type":"studio", @@ -118,7 +118,7 @@ METADATA['en'].extras = METADATA['en'].extras.concat([ }, { "title":"CPU Monitor", - "summary":"The CPU Monitor lets you easily monitor the central processing unit (CPU) usage of your app. It displays CPU usage in real time and displays the percentage of total CPU time (including all cores) used by user and kernel mode. In user mode, the code must\u2026", + "summary":"Use the CPU Monitor to display CPU usage in real time and the percentage of total CPU time (including all cores) used in user and kernel mode.", "url":"studio/profile/am-cpu.html", "image":"images/tools/thumbnails/am-cpumon.png", "type":"studio", @@ -137,7 +137,7 @@ METADATA['en'].extras = METADATA['en'].extras.concat([ }, { "title":"logcat Monitor", - "summary":"The Android logging system provides a mechanism for collecting and viewing system debug output. logcat Monitor displays messages that you added to your app by using the Log class, as well as system messages, such as stack traces when the emulator throws\u2026", + "summary":"Use the logcat Monitor to view system and user-defined log messages. You can filter the messages to display just the items that interest you.", "url":"studio/debug/am-logcat.html", "image":"images/tools/thumbnails/am-logcatmon2.png", "type":"studio", @@ -147,7 +147,7 @@ METADATA['en'].extras = METADATA['en'].extras.concat([ }, { "title":"GPU Monitor", - "summary":"The GPU Monitor gives you a quick visual representation of how much time it takes to render the frames of a UI window. It profiles the amount of time it takes for the render thread to prepare, process, and execute the draw commands. The GPU Monitor can\u2026", + "summary":"Use the GPU Monitor for a visual representation of how much time it takes to render the frames of a UI window. Use this information to optimize the code that displays graphics and conserve memory.", "url":"studio/profile/am-gpu.html", "image":"images/tools/thumbnails/am-gpumon.png", "type":"studio", @@ -237,7 +237,7 @@ METADATA['en'].extras = METADATA['en'].extras.concat([ "title":"Test Your App", "summary":"This document describes key concepts related to Android app testing. It assumes you have a basic knowledge of the JUnit testing framework. Android testing is based on JUnit. In general, a JUnit test is a method whose statements test a part of the application\u2026", "url":"studio/test/index.html", - "image":"images/testing/test_framework.png", + "image":"studio/images/test/test-framework.png", "type":"studio", "keywords": [], "tags": [], @@ -3948,26 +3948,6 @@ METADATA['en'].collections = { "https://www.youtube.com/watch?v=5Be2mJzP-Uw&list=PLWz5rJ2EKKc9e0d55YHgJFHXNZbGHEXJX" ] }, - "google/landing/services": { - "title": "", - "resources": [ - "https://developers.google.com/analytics/devguides/collection/android/", - "https://developers.google.com/maps/documentation/android/", - "https://developers.google.com/identity/sign-in/android/", - "https://developers.google.com/mobile-ads-sdk/download", - "https://developers.google.com/cloud-messaging/gcm", - "https://developers.google.com/app-indexing/" - ] - }, - "google/landing/videos": { - "title": "", - "resources": [ - "https://www.youtube.com/watch?v=M3Udfu6qidk&list=PLWz5rJ2EKKc9Qk1_iCZNbBp6adYnJf9Vf", - "https://www.youtube.com/watch?v=FOn64iqlphk&list=PLWz5rJ2EKKc9Qk1_iCZNbBp6adYnJf9Vf", - "https://www.youtube.com/watch?v=F0Kh_RnSM0w&list=PLWz5rJ2EKKc9Qk1_iCZNbBp6adYnJf9Vf", - "https://www.youtube.com/watch?v=fvtMtfCuEpw&list=PLWz5rJ2EKKc9Qk1_iCZNbBp6adYnJf9Vf" - ] - }, "google/landing/googleplay": { "title": "", "resources": [ diff --git a/docs/html/preview/api-overview.jd b/docs/html/preview/api-overview.jd index c643dc711386..ab2b5ba2314e 100644 --- a/docs/html/preview/api-overview.jd +++ b/docs/html/preview/api-overview.jd @@ -824,9 +824,9 @@ specify how user CAs should be trusted.</p> <p> For more information, read the Android Studio documents that describe how to - <a href="{@docRoot}studio/tools/publishing/app-signing.html#release-mode"> + <a href="{@docRoot}studio/publish/app-signing.html#release-mode"> sign an app</a> in Android Studio and how to <a href= - "{@docRoot}studio/tools/building/configuring-gradle.html#signing"> configure + "{@docRoot}studio/build/build-variants.html#signing"> configure the build file for signing apps</a> using the Android Plugin for Gradle. </p> diff --git a/docs/html/preview/features/afw.jd b/docs/html/preview/features/afw.jd index dc53bd977f2f..9b94c079cb92 100644 --- a/docs/html/preview/features/afw.jd +++ b/docs/html/preview/features/afw.jd @@ -515,7 +515,7 @@ Android N.</p> <p> The dialer should check for the new flag - <code>android.telecom.Call.PROPERTY_WORK_CALL</code> to determine if a call + <code>android.telecom.Call.PROPERTY_ENTERPRISE_CALL</code> to determine if a call is a work call. If a call is a work call, the dialer should indicate this, such as by adding a work badge. </p> diff --git a/docs/html/preview/features/security-config.jd b/docs/html/preview/features/security-config.jd index 633c0e5cda60..f8c0325f3bbf 100644 --- a/docs/html/preview/features/security-config.jd +++ b/docs/html/preview/features/security-config.jd @@ -18,7 +18,7 @@ page.image=images/cards/card-nyc_2x.jpg </ol> </li> <li><a href="#TrustingDebugCa">Debugging-only CAs</a></li> - <li><a href="#UsesCleartextTraffic">Opting Out of Cleartext Traffic</a></li> + <li><a href="#CleartextTrafficPermitted">Opting Out of Cleartext Traffic</a></li> <li><a href="#CertificatePinning">Pinning Certificates</a></li> <li><a href="#ConfigInheritance">Configuration Inheritance Behavior</a></li> <li><a href="#FileFormat">Configuration File Format</a></li> @@ -240,7 +240,7 @@ android:debuggable</a> </p> -<h2 id="UsesCleartextTraffic">Opting Out of Cleartext Traffic</h2> +<h2 id="CleartextTrafficPermitted">Opting Out of Cleartext Traffic</h2> <p> Applications intending to connect to destinations using only secure @@ -263,7 +263,7 @@ android:debuggable</a> <pre> <?xml version="1.0" encoding="utf-8"?> <network-security-config> - <domain-config usesCleartextTraffic="false"> + <domain-config cleartextTrafficPermitted="false"> <domain includeSubdomains="true">secure.example.com</domain> </domain-config> </network-security-config> @@ -436,7 +436,7 @@ android:debuggable</a> <pre class="stx"> <base-config <a href= -"#usesCleartextTraffic">usesCleartextTraffic</a>=["true" | "false"]> +"#CleartextTrafficPermitted">cleartextTrafficPermitted</a>=["true" | "false"]> ... </base-config> </pre> @@ -463,7 +463,7 @@ android:debuggable</a> </p> <pre> -<base-config usesCleartextTraffic="true"> +<base-config cleartextTrafficPermitted="true"> <trust-anchors> <certificates src="system" /> </trust-anchors> @@ -471,7 +471,7 @@ android:debuggable</a> </pre> The default configuration for apps targeting API level 23 and below is: <pre> -<base-config usesCleartextTraffic="true"> +<base-config cleartextTrafficPermitted="true"> <trust-anchors> <certificates src="system" /> <certificates src="user" /> @@ -486,7 +486,7 @@ The default configuration for apps targeting API level 23 and below is: <dl class="xml"> <dt>syntax:</dt> <dd> -<pre class="stx"><domain-config <a href="#usesCleartextTraffic">usesCleartextTraffic</a>=["true" | "false"]> +<pre class="stx"><domain-config <a href="#CleartextTrafficPermitted">cleartextTrafficPermitted</a>=["true" | "false"]> ... </domain-config></pre> </dd> diff --git a/docs/html/preview/setup-sdk.jd b/docs/html/preview/setup-sdk.jd index 28fc406f1d44..ebeae7446206 100644 --- a/docs/html/preview/setup-sdk.jd +++ b/docs/html/preview/setup-sdk.jd @@ -189,4 +189,4 @@ href="{@docRoot}preview/download.html">Test on an Android N Device</a>.</li> and <a href="{@docRoot}preview/api-overview.html">Android N APIs and Features</a>.</li> </ul> - +<div class="end-content-title"></div> diff --git a/docs/html/wear/preview/features/complications.jd b/docs/html/wear/preview/features/complications.jd index a0157de10ffe..d33fd2a789e5 100644 --- a/docs/html/wear/preview/features/complications.jd +++ b/docs/html/wear/preview/features/complications.jd @@ -370,13 +370,13 @@ METADATA_KEY_PROVIDER_CONFIG_ACTION <table> <tr> - <th> + <th style="width:175px"> Type </th> - <th> + <th style="width:175px"> Required fields </th> - <th> + <th style="width:175px"> Optional fields </th> <th> @@ -491,13 +491,13 @@ METADATA_KEY_PROVIDER_CONFIG_ACTION <table> <tr> - <th> + <th style="width:175px"> Type </th> - <th> + <th style="width:175px"> Required fields </th> - <th> + <th style="width:175px"> Optional fields </th> <th> @@ -557,7 +557,7 @@ METADATA_KEY_PROVIDER_CONFIG_ACTION <table> <tr> - <th> + <th style="width:175px"> Field </th> <th> diff --git a/graphics/java/android/graphics/drawable/LayerDrawable.java b/graphics/java/android/graphics/drawable/LayerDrawable.java index c67b0081456b..1864206118b2 100644 --- a/graphics/java/android/graphics/drawable/LayerDrawable.java +++ b/graphics/java/android/graphics/drawable/LayerDrawable.java @@ -104,6 +104,9 @@ public class LayerDrawable extends Drawable implements Drawable.Callback { private Rect mHotspotBounds; private boolean mMutated; + private boolean mSuspendChildInvalidation; + private boolean mChildRequestedInvalidation; + /** * Creates a new layer drawable with the list of specified layers. * @@ -944,9 +947,37 @@ public class LayerDrawable extends Drawable implements Drawable.Callback { return mLayerState.mPaddingMode; } + /** + * Temporarily suspends child invalidation. + * + * @see #resumeChildInvalidation() + */ + private void suspendChildInvalidation() { + mSuspendChildInvalidation = true; + } + + /** + * Resumes child invalidation after suspension, immediately performing an + * invalidation if one was requested by a child during suspension. + * + * @see #suspendChildInvalidation() + */ + private void resumeChildInvalidation() { + mSuspendChildInvalidation = false; + + if (mChildRequestedInvalidation) { + mChildRequestedInvalidation = false; + invalidateSelf(); + } + } + @Override public void invalidateDrawable(@NonNull Drawable who) { - invalidateSelf(); + if (mSuspendChildInvalidation) { + mChildRequestedInvalidation = true; + } else { + invalidateSelf(); + } } @Override @@ -1482,6 +1513,15 @@ public class LayerDrawable extends Drawable implements Drawable.Callback { } private void updateLayerBounds(Rect bounds) { + try { + suspendChildInvalidation(); + updateLayerBoundsInternal(bounds); + } finally { + resumeChildInvalidation(); + } + } + + private void updateLayerBoundsInternal(Rect bounds) { int paddingL = 0; int paddingT = 0; int paddingR = 0; diff --git a/include/androidfw/ResourceTypes.h b/include/androidfw/ResourceTypes.h index cf4ff8201b8c..12a6b0f9a4ec 100644 --- a/include/androidfw/ResourceTypes.h +++ b/include/androidfw/ResourceTypes.h @@ -1924,6 +1924,10 @@ private: void print_value(const Package* pkg, const Res_value& value) const; + template <typename Func> + void forEachConfiguration(bool ignoreMipmap, bool ignoreAndroidPackage, + bool includeSystemConfigs, const Func& f) const; + mutable Mutex mLock; // Mutex that controls access to the list of pre-filtered configurations diff --git a/libs/androidfw/AssetManager.cpp b/libs/androidfw/AssetManager.cpp index 715c875d064d..f50cff4387d2 100644 --- a/libs/androidfw/AssetManager.cpp +++ b/libs/androidfw/AssetManager.cpp @@ -66,7 +66,6 @@ static const char* kAssetsRoot = "assets"; static const char* kAppZipName = NULL; //"classes.jar"; static const char* kSystemAssets = "framework/framework-res.apk"; static const char* kResourceCache = "resource-cache"; -static const char* kAndroidManifest = "AndroidManifest.xml"; static const char* kExcludeExtension = ".EXCLUDE"; @@ -203,16 +202,6 @@ bool AssetManager::addAssetPath( ALOGV("In %p Asset %s path: %s", this, ap.type == kFileTypeDirectory ? "dir" : "zip", ap.path.string()); - // Check that the path has an AndroidManifest.xml - Asset* manifestAsset = const_cast<AssetManager*>(this)->openNonAssetInPathLocked( - kAndroidManifest, Asset::ACCESS_BUFFER, ap); - if (manifestAsset == NULL) { - // This asset path does not contain any resources. - delete manifestAsset; - return false; - } - delete manifestAsset; - ap.isSystemAsset = isSystemAsset; mAssetPaths.add(ap); diff --git a/libs/androidfw/ResourceTypes.cpp b/libs/androidfw/ResourceTypes.cpp index 36b1f4b664c2..d447a38c9b90 100644 --- a/libs/androidfw/ResourceTypes.cpp +++ b/libs/androidfw/ResourceTypes.cpp @@ -5822,10 +5822,11 @@ static bool compareResTableConfig(const ResTable_config& a, const ResTable_confi return a.compare(b) < 0; } -void ResTable::getConfigurations(Vector<ResTable_config>* configs, bool ignoreMipmap, - bool ignoreAndroidPackage, bool includeSystemConfigs) const { +template <typename Func> +void ResTable::forEachConfiguration(bool ignoreMipmap, bool ignoreAndroidPackage, + bool includeSystemConfigs, const Func& f) const { const size_t packageCount = mPackageGroups.size(); - String16 android("android"); + const String16 android("android"); for (size_t i = 0; i < packageCount; i++) { const PackageGroup* packageGroup = mPackageGroups[i]; if (ignoreAndroidPackage && android == packageGroup->name) { @@ -5853,42 +5854,47 @@ void ResTable::getConfigurations(Vector<ResTable_config>* configs, bool ignoreMi memset(&cfg, 0, sizeof(ResTable_config)); cfg.copyFromDtoH(config->config); - auto iter = std::lower_bound(configs->begin(), configs->end(), cfg, - compareResTableConfig); - if (iter == configs->end() || iter->compare(cfg) != 0) { - configs->insertAt(cfg, std::distance(configs->begin(), iter)); - } + f(cfg); } } } } } +void ResTable::getConfigurations(Vector<ResTable_config>* configs, bool ignoreMipmap, + bool ignoreAndroidPackage, bool includeSystemConfigs) const { + auto func = [&](const ResTable_config& cfg) { + const auto beginIter = configs->begin(); + const auto endIter = configs->end(); + + auto iter = std::lower_bound(beginIter, endIter, cfg, compareResTableConfig); + if (iter == endIter || iter->compare(cfg) != 0) { + configs->insertAt(cfg, std::distance(beginIter, iter)); + } + }; + forEachConfiguration(ignoreMipmap, ignoreAndroidPackage, includeSystemConfigs, func); +} + static bool compareString8AndCString(const String8& str, const char* cStr) { return strcmp(str.string(), cStr) < 0; } -void ResTable::getLocales(Vector<String8>* locales, bool includeSystemLocales) const -{ - Vector<ResTable_config> configs; - ALOGV("calling getConfigurations"); - getConfigurations(&configs, - false /* ignoreMipmap */, - false /* ignoreAndroidPackage */, - includeSystemLocales /* includeSystemConfigs */); - ALOGV("called getConfigurations size=%d", (int)configs.size()); - const size_t I = configs.size(); - +void ResTable::getLocales(Vector<String8>* locales, bool includeSystemLocales) const { char locale[RESTABLE_MAX_LOCALE_LEN]; - for (size_t i=0; i<I; i++) { - configs[i].getBcp47Locale(locale); - auto iter = std::lower_bound(locales->begin(), locales->end(), locale, - compareString8AndCString); - if (iter == locales->end() || strcmp(iter->string(), locale) != 0) { - locales->insertAt(String8(locale), std::distance(locales->begin(), iter)); + forEachConfiguration(false, false, includeSystemLocales, [&](const ResTable_config& cfg) { + if (cfg.locale != 0) { + cfg.getBcp47Locale(locale); + + const auto beginIter = locales->begin(); + const auto endIter = locales->end(); + + auto iter = std::lower_bound(beginIter, endIter, locale, compareString8AndCString); + if (iter == endIter || strcmp(iter->string(), locale) != 0) { + locales->insertAt(String8(locale), std::distance(beginIter, iter)); + } } - } + }); } StringPoolRef::StringPoolRef(const ResStringPool* pool, uint32_t index) diff --git a/libs/hwui/FrameBuilder.cpp b/libs/hwui/FrameBuilder.cpp index 746e99a96123..cb8e55fbb21c 100644 --- a/libs/hwui/FrameBuilder.cpp +++ b/libs/hwui/FrameBuilder.cpp @@ -878,11 +878,49 @@ void FrameBuilder::deferEndLayerOp(const EndLayerOp& /* ignored */) { restoreForLayer(); + // saveLayer will clip & translate the draw contents, so we need + // to translate the drawLayer by how much the contents was translated + // TODO: Unify this with beginLayerOp so we don't have to calculate this + // twice + uint32_t layerWidth = (uint32_t) beginLayerOp.unmappedBounds.getWidth(); + uint32_t layerHeight = (uint32_t) beginLayerOp.unmappedBounds.getHeight(); + + auto previous = mCanvasState.currentSnapshot(); + Vector3 lightCenter = previous->getRelativeLightCenter(); + + // Combine all transforms used to present saveLayer content: + // parent content transform * canvas transform * bounds offset + Matrix4 contentTransform(*(previous->transform)); + contentTransform.multiply(beginLayerOp.localMatrix); + contentTransform.translate(beginLayerOp.unmappedBounds.left, + beginLayerOp.unmappedBounds.top); + + Matrix4 inverseContentTransform; + inverseContentTransform.loadInverse(contentTransform); + + // map the light center into layer-relative space + inverseContentTransform.mapPoint3d(lightCenter); + + // Clip bounds of temporary layer to parent's clip rect, so: + Rect saveLayerBounds(layerWidth, layerHeight); + // 1) transform Rect(width, height) into parent's space + // note: left/top offsets put in contentTransform above + contentTransform.mapRect(saveLayerBounds); + // 2) intersect with parent's clip + saveLayerBounds.doIntersect(previous->getRenderTargetClip()); + // 3) and transform back + inverseContentTransform.mapRect(saveLayerBounds); + saveLayerBounds.doIntersect(Rect(layerWidth, layerHeight)); + saveLayerBounds.roundOut(); + + Matrix4 localMatrix(beginLayerOp.localMatrix); + localMatrix.translate(saveLayerBounds.left, saveLayerBounds.top); + // record the draw operation into the previous layer's list of draw commands // uses state from the associated beginLayerOp, since it has all the state needed for drawing LayerOp* drawLayerOp = mAllocator.create_trivial<LayerOp>( beginLayerOp.unmappedBounds, - beginLayerOp.localMatrix, + localMatrix, beginLayerOp.localClip, beginLayerOp.paint, &(mLayerBuilders[finishedLayerIndex]->offscreenBuffer)); diff --git a/libs/hwui/OpDumper.cpp b/libs/hwui/OpDumper.cpp index cab93e8faf6a..ec9ffdeebb4c 100644 --- a/libs/hwui/OpDumper.cpp +++ b/libs/hwui/OpDumper.cpp @@ -45,5 +45,9 @@ void OpDumper::dump(const RecordedOp& op, std::ostream& output, int level) { } } +const char* OpDumper::opName(const RecordedOp& op) { + return sOpNameLut[op.opId]; +} + } // namespace uirenderer } // namespace android diff --git a/libs/hwui/OpDumper.h b/libs/hwui/OpDumper.h index c99b51796b5c..a82289c7cca2 100644 --- a/libs/hwui/OpDumper.h +++ b/libs/hwui/OpDumper.h @@ -26,6 +26,7 @@ struct RecordedOp; class OpDumper { public: static void dump(const RecordedOp& op, std::ostream& output, int level = 0); + static const char* opName(const RecordedOp& op); }; }; // namespace uirenderer diff --git a/libs/hwui/tests/unit/FrameBuilderTests.cpp b/libs/hwui/tests/unit/FrameBuilderTests.cpp index 0f16b1512586..af1fbd8254f9 100644 --- a/libs/hwui/tests/unit/FrameBuilderTests.cpp +++ b/libs/hwui/tests/unit/FrameBuilderTests.cpp @@ -2025,6 +2025,7 @@ struct SaveLayerAlphaData { uint32_t layerHeight = 0; Rect rectClippedBounds; Matrix4 rectMatrix; + Matrix4 drawLayerMatrix; }; /** * Constructs a view to hit the temporary layer alpha property implementation: @@ -2060,6 +2061,7 @@ void testSaveLayerAlphaClip(SaveLayerAlphaData* outObservedData, } void onLayerOp(const LayerOp& op, const BakedOpState& state) override { EXPECT_EQ(3, mIndex++); + mOutData->drawLayerMatrix = state.computedState.transform; } void recycleTemporaryLayer(OffscreenBuffer* offscreenBuffer) override { EXPECT_EQ(4, mIndex++); @@ -2108,6 +2110,9 @@ RENDERTHREAD_TEST(FrameBuilder, renderPropSaveLayerAlphaClipBig) { expected.loadTranslate(0, -2000, 0); EXPECT_MATRIX_APPROX_EQ(expected, observedData.rectMatrix) << "expect content to be translated as part of being clipped"; + expected.loadTranslate(10, 0, 0); + EXPECT_MATRIX_APPROX_EQ(expected, observedData.drawLayerMatrix) + << "expect drawLayer to be translated as part of being clipped"; } RENDERTHREAD_TEST(FrameBuilder, renderPropSaveLayerAlphaRotate) { diff --git a/location/java/android/location/GpsStatus.java b/location/java/android/location/GpsStatus.java index 5561b229dd25..b601cde35305 100644 --- a/location/java/android/location/GpsStatus.java +++ b/location/java/android/location/GpsStatus.java @@ -34,6 +34,7 @@ public final class GpsStatus { private static final int NUM_SATELLITES = 255; private static final int GLONASS_SVID_OFFSET = 64; private static final int BEIDOU_SVID_OFFSET = 200; + private static final int SBAS_SVID_OFFSET = -87; /* These package private values are modified by the LocationManager class */ private int mTimeToFirstFix; @@ -166,9 +167,10 @@ public final class GpsStatus { prn += GLONASS_SVID_OFFSET; } else if (constellationType == GnssStatus.CONSTELLATION_BEIDOU) { prn += BEIDOU_SVID_OFFSET; + } else if (constellationType == GnssStatus.CONSTELLATION_SBAS) { + prn += SBAS_SVID_OFFSET; } else if ((constellationType != GnssStatus.CONSTELLATION_GPS) && - (constellationType != GnssStatus.CONSTELLATION_QZSS) && - (constellationType != GnssStatus.CONSTELLATION_SBAS)) { + (constellationType != GnssStatus.CONSTELLATION_QZSS)) { continue; } if (prn > 0 && prn <= NUM_SATELLITES) { diff --git a/media/java/android/media/AudioManager.java b/media/java/android/media/AudioManager.java index 23ae691ddca9..4bdc70e37621 100644 --- a/media/java/android/media/AudioManager.java +++ b/media/java/android/media/AudioManager.java @@ -2748,10 +2748,10 @@ public class AudioManager { public static abstract class AudioRecordingCallback { /** * Called whenever the device recording configuration has changed. - * @param configs array containing the results of + * @param configs list containing the results of * {@link AudioManager#getActiveRecordingConfigurations()}. */ - public void onRecordingConfigChanged(AudioRecordingConfiguration[] configs) {} + public void onRecordingConfigChanged(List<AudioRecordingConfiguration> configs) {} } private static class AudioRecordingCallbackInfo { @@ -2765,10 +2765,10 @@ public class AudioManager { private final static class RecordConfigChangeCallbackData { final AudioRecordingCallback mCb; - final AudioRecordingConfiguration[] mConfigs; + final List<AudioRecordingConfiguration> mConfigs; RecordConfigChangeCallbackData(AudioRecordingCallback cb, - AudioRecordingConfiguration[] configs) { + List<AudioRecordingConfiguration> configs) { mCb = cb; mConfigs = configs; } @@ -2848,10 +2848,10 @@ public class AudioManager { /** * Returns the current active audio recording configurations of the device. - * @return a non-null array of recording configurations. An array of length 0 indicates there is + * @return a non-null list of recording configurations. An empty list indicates there is * no recording active when queried. */ - public @NonNull AudioRecordingConfiguration[] getActiveRecordingConfigurations() { + public @NonNull List<AudioRecordingConfiguration> getActiveRecordingConfigurations() { final IAudioService service = getService(); try { return service.getActiveRecordingConfigurations(); @@ -2909,7 +2909,7 @@ public class AudioManager { private final IRecordingConfigDispatcher mRecCb = new IRecordingConfigDispatcher.Stub() { - public void dispatchRecordingConfigChange(AudioRecordingConfiguration[] configs) { + public void dispatchRecordingConfigChange(List<AudioRecordingConfiguration> configs) { synchronized(mRecordCallbackLock) { if (mRecordCallbackList != null) { for (int i=0 ; i < mRecordCallbackList.size() ; i++) { diff --git a/media/java/android/media/AudioRecord.java b/media/java/android/media/AudioRecord.java index 4504e699b38d..8efd5991a401 100644 --- a/media/java/android/media/AudioRecord.java +++ b/media/java/android/media/AudioRecord.java @@ -94,6 +94,11 @@ public class AudioRecord implements AudioRouting * Denotes a failure due to the improper use of a method. */ public static final int ERROR_INVALID_OPERATION = AudioSystem.INVALID_OPERATION; + /** + * An error code indicating that the object reporting it is no longer valid and needs to + * be recreated. + */ + public static final int ERROR_DEAD_OBJECT = AudioSystem.DEAD_OBJECT; // Error codes: // to keep in sync with frameworks/base/core/jni/android_media_AudioRecord.cpp @@ -1046,10 +1051,16 @@ public class AudioRecord implements AudioRouting * @param audioData the array to which the recorded audio data is written. * @param offsetInBytes index in audioData from which the data is written expressed in bytes. * @param sizeInBytes the number of requested bytes. - * @return the number of bytes that were read or {@link #ERROR_INVALID_OPERATION} - * if the object wasn't properly initialized, or {@link #ERROR_BAD_VALUE} if - * the parameters don't resolve to valid data and indexes. - * The number of bytes will not exceed sizeInBytes. + * @return zero or the positive number of bytes that were read, or one of the following + * error codes. The number of bytes will not exceed sizeInBytes. + * <ul> + * <li>{@link #ERROR_INVALID_OPERATION} if the object isn't properly initialized</li> + * <li>{@link #ERROR_BAD_VALUE} if the parameters don't resolve to valid data and indexes</li> + * <li>{@link #ERROR_DEAD_OBJECT} if the object is not valid anymore and + * needs to be recreated. The dead object error code is not returned if some data was + * successfully transferred. In this case, the error is returned at the next read()</li> + * <li>{@link #ERROR} in case of other error</li> + * </ul> */ public int read(@NonNull byte[] audioData, int offsetInBytes, int sizeInBytes) { return read(audioData, offsetInBytes, sizeInBytes, READ_BLOCKING); @@ -1070,11 +1081,17 @@ public class AudioRecord implements AudioRouting * is read. * <br>With {@link #READ_NON_BLOCKING}, the read will return immediately after * reading as much audio data as possible without blocking. - * @return the number of bytes that were read or {@link #ERROR_INVALID_OPERATION} - * if the object wasn't properly initialized, or {@link #ERROR_BAD_VALUE} if - * the parameters don't resolve to valid data and indexes. - * The number of bytes will be a multiple of the frame size in bytes + * @return zero or the positive number of bytes that were read, or one of the following + * error codes. The number of bytes will be a multiple of the frame size in bytes * not to exceed sizeInBytes. + * <ul> + * <li>{@link #ERROR_INVALID_OPERATION} if the object isn't properly initialized</li> + * <li>{@link #ERROR_BAD_VALUE} if the parameters don't resolve to valid data and indexes</li> + * <li>{@link #ERROR_DEAD_OBJECT} if the object is not valid anymore and + * needs to be recreated. The dead object error code is not returned if some data was + * successfully transferred. In this case, the error is returned at the next read()</li> + * <li>{@link #ERROR} in case of other error</li> + * </ul> */ public int read(@NonNull byte[] audioData, int offsetInBytes, int sizeInBytes, @ReadMode int readMode) { @@ -1106,10 +1123,17 @@ public class AudioRecord implements AudioRouting * Must not be negative, or cause the data access to go out of bounds of the array. * @param sizeInShorts the number of requested shorts. * Must not be negative, or cause the data access to go out of bounds of the array. - * @return the number of shorts that were read or {@link #ERROR_INVALID_OPERATION} - * if the object wasn't properly initialized, or {@link #ERROR_BAD_VALUE} if - * the parameters don't resolve to valid data and indexes. - * The number of shorts will be a multiple of the channel count not to exceed sizeInShorts. + * @return zero or the positive number of shorts that were read, or one of the following + * error codes. The number of shorts will be a multiple of the channel count not to exceed + * sizeInShorts. + * <ul> + * <li>{@link #ERROR_INVALID_OPERATION} if the object isn't properly initialized</li> + * <li>{@link #ERROR_BAD_VALUE} if the parameters don't resolve to valid data and indexes</li> + * <li>{@link #ERROR_DEAD_OBJECT} if the object is not valid anymore and + * needs to be recreated. The dead object error code is not returned if some data was + * successfully transferred. In this case, the error is returned at the next read()</li> + * <li>{@link #ERROR} in case of other error</li> + * </ul> */ public int read(@NonNull short[] audioData, int offsetInShorts, int sizeInShorts) { return read(audioData, offsetInShorts, sizeInShorts, READ_BLOCKING); @@ -1129,10 +1153,17 @@ public class AudioRecord implements AudioRouting * is read. * <br>With {@link #READ_NON_BLOCKING}, the read will return immediately after * reading as much audio data as possible without blocking. - * @return the number of shorts that were read or {@link #ERROR_INVALID_OPERATION} - * if the object wasn't properly initialized, or {@link #ERROR_BAD_VALUE} if - * the parameters don't resolve to valid data and indexes. - * The number of shorts will be a multiple of the channel count not to exceed sizeInShorts. + * @return zero or the positive number of shorts that were read, or one of the following + * error codes. The number of shorts will be a multiple of the channel count not to exceed + * sizeInShorts. + * <ul> + * <li>{@link #ERROR_INVALID_OPERATION} if the object isn't properly initialized</li> + * <li>{@link #ERROR_BAD_VALUE} if the parameters don't resolve to valid data and indexes</li> + * <li>{@link #ERROR_DEAD_OBJECT} if the object is not valid anymore and + * needs to be recreated. The dead object error code is not returned if some data was + * successfully transferred. In this case, the error is returned at the next read()</li> + * <li>{@link #ERROR} in case of other error</li> + * </ul> */ public int read(@NonNull short[] audioData, int offsetInShorts, int sizeInShorts, @ReadMode int readMode) { @@ -1169,10 +1200,17 @@ public class AudioRecord implements AudioRouting * is read. * <br>With {@link #READ_NON_BLOCKING}, the read will return immediately after * reading as much audio data as possible without blocking. - * @return the number of floats that were read or {@link #ERROR_INVALID_OPERATION} - * if the object wasn't properly initialized, or {@link #ERROR_BAD_VALUE} if - * the parameters don't resolve to valid data and indexes. - * The number of floats will be a multiple of the channel count not to exceed sizeInFloats. + * @return zero or the positive number of floats that were read, or one of the following + * error codes. The number of floats will be a multiple of the channel count not to exceed + * sizeInFloats. + * <ul> + * <li>{@link #ERROR_INVALID_OPERATION} if the object isn't properly initialized</li> + * <li>{@link #ERROR_BAD_VALUE} if the parameters don't resolve to valid data and indexes</li> + * <li>{@link #ERROR_DEAD_OBJECT} if the object is not valid anymore and + * needs to be recreated. The dead object error code is not returned if some data was + * successfully transferred. In this case, the error is returned at the next read()</li> + * <li>{@link #ERROR} in case of other error</li> + * </ul> */ public int read(@NonNull float[] audioData, int offsetInFloats, int sizeInFloats, @ReadMode int readMode) { @@ -1213,11 +1251,17 @@ public class AudioRecord implements AudioRouting * @param sizeInBytes the number of requested bytes. It is recommended but not enforced * that the number of bytes requested be a multiple of the frame size (sample size in * bytes multiplied by the channel count). - * @return the number of bytes that were read or {@link #ERROR_INVALID_OPERATION} - * if the object wasn't properly initialized, or {@link #ERROR_BAD_VALUE} if - * the parameters don't resolve to valid data and indexes. - * The number of bytes will not exceed sizeInBytes. - * The number of bytes read will be truncated to be a multiple of the frame size. + * @return zero or the positive number of bytes that were read, or one of the following + * error codes. The number of bytes will not exceed sizeInBytes and will be truncated to be + * a multiple of the frame size. + * <ul> + * <li>{@link #ERROR_INVALID_OPERATION} if the object isn't properly initialized</li> + * <li>{@link #ERROR_BAD_VALUE} if the parameters don't resolve to valid data and indexes</li> + * <li>{@link #ERROR_DEAD_OBJECT} if the object is not valid anymore and + * needs to be recreated. The dead object error code is not returned if some data was + * successfully transferred. In this case, the error is returned at the next read()</li> + * <li>{@link #ERROR} in case of other error</li> + * </ul> */ public int read(@NonNull ByteBuffer audioBuffer, int sizeInBytes) { return read(audioBuffer, sizeInBytes, READ_BLOCKING); @@ -1240,11 +1284,17 @@ public class AudioRecord implements AudioRouting * is read. * <br>With {@link #READ_NON_BLOCKING}, the read will return immediately after * reading as much audio data as possible without blocking. - * @return the number of bytes that were read or {@link #ERROR_INVALID_OPERATION} - * if the object wasn't properly initialized, or {@link #ERROR_BAD_VALUE} if - * the parameters don't resolve to valid data and indexes. - * The number of bytes will not exceed sizeInBytes. - * The number of bytes read will be truncated to be a multiple of the frame size. + * @return zero or the positive number of bytes that were read, or one of the following + * error codes. The number of bytes will not exceed sizeInBytes and will be truncated to be + * a multiple of the frame size. + * <ul> + * <li>{@link #ERROR_INVALID_OPERATION} if the object isn't properly initialized</li> + * <li>{@link #ERROR_BAD_VALUE} if the parameters don't resolve to valid data and indexes</li> + * <li>{@link #ERROR_DEAD_OBJECT} if the object is not valid anymore and + * needs to be recreated. The dead object error code is not returned if some data was + * successfully transferred. In this case, the error is returned at the next read()</li> + * <li>{@link #ERROR} in case of other error</li> + * </ul> */ public int read(@NonNull ByteBuffer audioBuffer, int sizeInBytes, @ReadMode int readMode) { if (mState != STATE_INITIALIZED) { diff --git a/media/java/android/media/AudioTrack.java b/media/java/android/media/AudioTrack.java index 12e88a2e47a5..9a816683f30a 100644 --- a/media/java/android/media/AudioTrack.java +++ b/media/java/android/media/AudioTrack.java @@ -156,7 +156,6 @@ public class AudioTrack extends PlayerBase /** * An error code indicating that the object reporting it is no longer valid and needs to * be recreated. - * @hide */ public static final int ERROR_DEAD_OBJECT = AudioSystem.DEAD_OBJECT; /** @@ -1840,17 +1839,17 @@ public class AudioTrack extends PlayerBase * Must not be negative, or cause the data access to go out of bounds of the array. * @param sizeInBytes the number of bytes to write in audioData after the offset. * Must not be negative, or cause the data access to go out of bounds of the array. - * @return zero or the positive number of bytes that were written, or - * {@link #ERROR_INVALID_OPERATION} - * if the track isn't properly initialized, or {@link #ERROR_BAD_VALUE} if - * the parameters don't resolve to valid data and indexes, or - * {@link AudioManager#ERROR_DEAD_OBJECT} if the AudioTrack is not valid anymore and - * needs to be recreated. - * The dead object error code is not returned if some data was successfully transferred. - * In this case, the error is returned at the next write(). - * The number of bytes will be a multiple of the frame size in bytes + * @return zero or the positive number of bytes that were written, or one of the following + * error codes. The number of bytes will be a multiple of the frame size in bytes * not to exceed sizeInBytes. - * + * <ul> + * <li>{@link #ERROR_INVALID_OPERATION} if the track isn't properly initialized</li> + * <li>{@link #ERROR_BAD_VALUE} if the parameters don't resolve to valid data and indexes</li> + * <li>{@link #ERROR_DEAD_OBJECT} if the AudioTrack is not valid anymore and + * needs to be recreated. The dead object error code is not returned if some data was + * successfully transferred. In this case, the error is returned at the next write()</li> + * <li>{@link #ERROR} in case of other error</li> + * </ul> * This is equivalent to {@link #write(byte[], int, int, int)} with <code>writeMode</code> * set to {@link #WRITE_BLOCKING}. */ @@ -1888,16 +1887,17 @@ public class AudioTrack extends PlayerBase * to the audio sink. * <br>With {@link #WRITE_NON_BLOCKING}, the write will return immediately after * queuing as much audio data for playback as possible without blocking. - * @return zero or the positive number of bytes that were written, or - * {@link #ERROR_INVALID_OPERATION} - * if the track isn't properly initialized, or {@link #ERROR_BAD_VALUE} if - * the parameters don't resolve to valid data and indexes, or - * {@link AudioManager#ERROR_DEAD_OBJECT} if the AudioTrack is not valid anymore and - * needs to be recreated. - * The dead object error code is not returned if some data was successfully transferred. - * In this case, the error is returned at the next write(). - * The number of bytes will be a multiple of the frame size in bytes + * @return zero or the positive number of bytes that were written, or one of the following + * error codes. The number of bytes will be a multiple of the frame size in bytes * not to exceed sizeInBytes. + * <ul> + * <li>{@link #ERROR_INVALID_OPERATION} if the track isn't properly initialized</li> + * <li>{@link #ERROR_BAD_VALUE} if the parameters don't resolve to valid data and indexes</li> + * <li>{@link #ERROR_DEAD_OBJECT} if the AudioTrack is not valid anymore and + * needs to be recreated. The dead object error code is not returned if some data was + * successfully transferred. In this case, the error is returned at the next write()</li> + * <li>{@link #ERROR} in case of other error</li> + * </ul> */ public int write(@NonNull byte[] audioData, int offsetInBytes, int sizeInBytes, @WriteMode int writeMode) { @@ -1950,16 +1950,17 @@ public class AudioTrack extends PlayerBase * Must not be negative, or cause the data access to go out of bounds of the array. * @param sizeInShorts the number of shorts to read in audioData after the offset. * Must not be negative, or cause the data access to go out of bounds of the array. - * @return zero or the positive number of shorts that were written, or - * {@link #ERROR_INVALID_OPERATION} - * if the track isn't properly initialized, or {@link #ERROR_BAD_VALUE} if - * the parameters don't resolve to valid data and indexes, or - * {@link AudioManager#ERROR_DEAD_OBJECT} if the AudioTrack is not valid anymore and - * needs to be recreated. - * The dead object error code is not returned if some data was successfully transferred. - * In this case, the error is returned at the next write(). - * The number of shorts will be a multiple of the channel count not to exceed sizeInShorts. - * + * @return zero or the positive number of shorts that were written, or one of the following + * error codes. The number of shorts will be a multiple of the channel count not to + * exceed sizeInShorts. + * <ul> + * <li>{@link #ERROR_INVALID_OPERATION} if the track isn't properly initialized</li> + * <li>{@link #ERROR_BAD_VALUE} if the parameters don't resolve to valid data and indexes</li> + * <li>{@link #ERROR_DEAD_OBJECT} if the AudioTrack is not valid anymore and + * needs to be recreated. The dead object error code is not returned if some data was + * successfully transferred. In this case, the error is returned at the next write()</li> + * <li>{@link #ERROR} in case of other error</li> + * </ul> * This is equivalent to {@link #write(short[], int, int, int)} with <code>writeMode</code> * set to {@link #WRITE_BLOCKING}. */ @@ -1995,15 +1996,17 @@ public class AudioTrack extends PlayerBase * to the audio sink. * <br>With {@link #WRITE_NON_BLOCKING}, the write will return immediately after * queuing as much audio data for playback as possible without blocking. - * @return zero or the positive number of shorts that were written, or - * {@link #ERROR_INVALID_OPERATION} - * if the track isn't properly initialized, or {@link #ERROR_BAD_VALUE} if - * the parameters don't resolve to valid data and indexes, or - * {@link AudioManager#ERROR_DEAD_OBJECT} if the AudioTrack is not valid anymore and - * needs to be recreated. - * The dead object error code is not returned if some data was successfully transferred. - * In this case, the error is returned at the next write(). - * The number of shorts will be a multiple of the channel count not to exceed sizeInShorts. + * @return zero or the positive number of shorts that were written, or one of the following + * error codes. The number of shorts will be a multiple of the channel count not to + * exceed sizeInShorts. + * <ul> + * <li>{@link #ERROR_INVALID_OPERATION} if the track isn't properly initialized</li> + * <li>{@link #ERROR_BAD_VALUE} if the parameters don't resolve to valid data and indexes</li> + * <li>{@link #ERROR_DEAD_OBJECT} if the AudioTrack is not valid anymore and + * needs to be recreated. The dead object error code is not returned if some data was + * successfully transferred. In this case, the error is returned at the next write()</li> + * <li>{@link #ERROR} in case of other error</li> + * </ul> */ public int write(@NonNull short[] audioData, int offsetInShorts, int sizeInShorts, @WriteMode int writeMode) { @@ -2074,15 +2077,17 @@ public class AudioTrack extends PlayerBase * to the audio sink. * <br>With {@link #WRITE_NON_BLOCKING}, the write will return immediately after * queuing as much audio data for playback as possible without blocking. - * @return zero or the positive number of floats that were written, or - * {@link #ERROR_INVALID_OPERATION} - * if the track isn't properly initialized, or {@link #ERROR_BAD_VALUE} if - * the parameters don't resolve to valid data and indexes, or - * {@link AudioManager#ERROR_DEAD_OBJECT} if the AudioTrack is not valid anymore and - * needs to be recreated. - * The dead object error code is not returned if some data was successfully transferred. - * In this case, the error is returned at the next write(). - * The number of floats will be a multiple of the channel count not to exceed sizeInFloats. + * @return zero or the positive number of floats that were written, or one of the following + * error codes. The number of floats will be a multiple of the channel count not to + * exceed sizeInFloats. + * <ul> + * <li>{@link #ERROR_INVALID_OPERATION} if the track isn't properly initialized</li> + * <li>{@link #ERROR_BAD_VALUE} if the parameters don't resolve to valid data and indexes</li> + * <li>{@link #ERROR_DEAD_OBJECT} if the AudioTrack is not valid anymore and + * needs to be recreated. The dead object error code is not returned if some data was + * successfully transferred. In this case, the error is returned at the next write()</li> + * <li>{@link #ERROR} in case of other error</li> + * </ul> */ public int write(@NonNull float[] audioData, int offsetInFloats, int sizeInFloats, @WriteMode int writeMode) { @@ -2154,12 +2159,16 @@ public class AudioTrack extends PlayerBase * to the audio sink. * <BR>With {@link #WRITE_NON_BLOCKING}, the write will return immediately after * queuing as much audio data for playback as possible without blocking. - * @return zero or the positive number of bytes that were written, or - * {@link #ERROR_BAD_VALUE}, {@link #ERROR_INVALID_OPERATION}, or - * {@link AudioManager#ERROR_DEAD_OBJECT} if the AudioTrack is not valid anymore and - * needs to be recreated. - * The dead object error code is not returned if some data was successfully transferred. - * In this case, the error is returned at the next write(). + * @return zero or the positive number of bytes that were written, or one of the following + * error codes. + * <ul> + * <li>{@link #ERROR_INVALID_OPERATION} if the track isn't properly initialized</li> + * <li>{@link #ERROR_BAD_VALUE} if the parameters don't resolve to valid data and indexes</li> + * <li>{@link #ERROR_DEAD_OBJECT} if the AudioTrack is not valid anymore and + * needs to be recreated. The dead object error code is not returned if some data was + * successfully transferred. In this case, the error is returned at the next write()</li> + * <li>{@link #ERROR} in case of other error</li> + * </ul> */ public int write(@NonNull ByteBuffer audioData, int sizeInBytes, @WriteMode int writeMode) { @@ -2223,12 +2232,16 @@ public class AudioTrack extends PlayerBase * <BR>With {@link #WRITE_NON_BLOCKING}, the write will return immediately after * queuing as much audio data for playback as possible without blocking. * @param timestamp The timestamp of the first decodable audio frame in the provided audioData. - * @return zero or a positive number of bytes that were written, or - * {@link #ERROR_BAD_VALUE}, {@link #ERROR_INVALID_OPERATION}, or - * {@link AudioManager#ERROR_DEAD_OBJECT} if the AudioTrack is not valid anymore and - * needs to be recreated. - * The dead object error code is not returned if some data was successfully transferred. - * In this case, the error is returned at the next write(). + * @return zero or the positive number of bytes that were written, or one of the following + * error codes. + * <ul> + * <li>{@link #ERROR_INVALID_OPERATION} if the track isn't properly initialized</li> + * <li>{@link #ERROR_BAD_VALUE} if the parameters don't resolve to valid data and indexes</li> + * <li>{@link #ERROR_DEAD_OBJECT} if the AudioTrack is not valid anymore and + * needs to be recreated. The dead object error code is not returned if some data was + * successfully transferred. In this case, the error is returned at the next write()</li> + * <li>{@link #ERROR} in case of other error</li> + * </ul> */ public int write(@NonNull ByteBuffer audioData, int sizeInBytes, @WriteMode int writeMode, long timestamp) { diff --git a/media/java/android/media/IAudioService.aidl b/media/java/android/media/IAudioService.aidl index 97f670b17114..c7931fcd297b 100644 --- a/media/java/android/media/IAudioService.aidl +++ b/media/java/android/media/IAudioService.aidl @@ -164,5 +164,5 @@ interface IAudioService { oneway void unregisterRecordingCallback(in IRecordingConfigDispatcher rcdb); - AudioRecordingConfiguration[] getActiveRecordingConfigurations(); + List<AudioRecordingConfiguration> getActiveRecordingConfigurations(); } diff --git a/media/java/android/media/IRecordingConfigDispatcher.aidl b/media/java/android/media/IRecordingConfigDispatcher.aidl index e8032831af88..f4e98b20af7c 100644 --- a/media/java/android/media/IRecordingConfigDispatcher.aidl +++ b/media/java/android/media/IRecordingConfigDispatcher.aidl @@ -25,6 +25,6 @@ import android.media.AudioRecordingConfiguration; */ oneway interface IRecordingConfigDispatcher { - void dispatchRecordingConfigChange(in AudioRecordingConfiguration[] configs); + void dispatchRecordingConfigChange(in List<AudioRecordingConfiguration> configs); } diff --git a/media/java/android/media/MediaCodecInfo.java b/media/java/android/media/MediaCodecInfo.java index b9ed269fe9dc..87c6d88a0c11 100644 --- a/media/java/android/media/MediaCodecInfo.java +++ b/media/java/android/media/MediaCodecInfo.java @@ -1918,13 +1918,15 @@ public final class MediaCodecInfo { case CodecProfileLevel.MPEG2ProfileMain: switch (profileLevel.level) { case CodecProfileLevel.MPEG2LevelLL: - FR = 30; W = 22; H = 18; MBPS = 11880; FS = 396; BR = 4000; break; + FR = 30; W = 22; H = 18; MBPS = 11880; FS = 396; BR = 4000; break; case CodecProfileLevel.MPEG2LevelML: - FR = 30; W = 45; H = 36; MBPS = 48600; FS = 1620; BR = 15000; break; + FR = 30; W = 45; H = 36; MBPS = 48600; FS = 1620; BR = 15000; break; case CodecProfileLevel.MPEG2LevelH14: - FR = 60; W = 90; H = 68; MBPS = 367200; FS = 6120; BR = 60000; break; + FR = 60; W = 90; H = 68; MBPS = 183600; FS = 6120; BR = 60000; break; case CodecProfileLevel.MPEG2LevelHL: - FR = 60; W = 120; H = 68; MBPS = 489600; FS = 8160; BR = 80000; break; + FR = 60; W = 120; H = 68; MBPS = 244800; FS = 8160; BR = 80000; break; + case CodecProfileLevel.MPEG2LevelHP: + FR = 60; W = 120; H = 68; MBPS = 489600; FS = 8160; BR = 80000; break; default: Log.w(TAG, "Unrecognized profile/level " + profileLevel.profile + "/" @@ -1982,15 +1984,12 @@ public final class MediaCodecInfo { FR = 30; W = 22; H = 18; MBPS = 5940; FS = 396; BR = 128; break; case CodecProfileLevel.MPEG4Level3: FR = 30; W = 22; H = 18; MBPS = 11880; FS = 396; BR = 384; break; - case CodecProfileLevel.MPEG4Level4: case CodecProfileLevel.MPEG4Level4a: + FR = 30; W = 40; H = 30; MBPS = 36000; FS = 1200; BR = 4000; break; case CodecProfileLevel.MPEG4Level5: - // While MPEG4 SP does not have level 4 or 5, some vendors - // report it. Use the same limits as level 3, but mark as - // unsupported. - FR = 30; W = 22; H = 18; MBPS = 11880; FS = 396; BR = 384; - supported = false; - break; + FR = 30; W = 45; H = 36; MBPS = 40500; FS = 1620; BR = 8000; break; + case CodecProfileLevel.MPEG4Level6: + FR = 30; W = 80; H = 45; MBPS = 108000; FS = 3600; BR = 12000; break; default: Log.w(TAG, "Unrecognized profile/level " + profileLevel.profile + "/" @@ -2007,12 +2006,9 @@ public final class MediaCodecInfo { FR = 30; W = 22; H = 18; MBPS = 5940; FS = 396; BR = 384; break; case CodecProfileLevel.MPEG4Level3: FR = 30; W = 22; H = 18; MBPS = 11880; FS = 396; BR = 768; break; - // case CodecProfileLevel.MPEG4Level3b: - // TODO: MPEG4 level 3b is not defined in OMX - // MBPS = 11880; FS = 396; BR = 1500; break; + case CodecProfileLevel.MPEG4Level3b: + FR = 30; W = 22; H = 18; MBPS = 11880; FS = 396; BR = 1500; break; case CodecProfileLevel.MPEG4Level4: - case CodecProfileLevel.MPEG4Level4a: - // TODO: MPEG4 level 4a is not defined in spec FR = 30; W = 44; H = 36; MBPS = 23760; FS = 792; BR = 3000; break; case CodecProfileLevel.MPEG4Level5: FR = 30; W = 45; H = 36; MBPS = 48600; FS = 1620; BR = 8000; break; @@ -2640,9 +2636,11 @@ public final class MediaCodecInfo { public static final int MPEG4Level1 = 0x04; public static final int MPEG4Level2 = 0x08; public static final int MPEG4Level3 = 0x10; + public static final int MPEG4Level3b = 0x18; public static final int MPEG4Level4 = 0x20; public static final int MPEG4Level4a = 0x40; public static final int MPEG4Level5 = 0x80; + public static final int MPEG4Level6 = 0x100; // from OMX_VIDEO_MPEG2PROFILETYPE public static final int MPEG2ProfileSimple = 0x00; @@ -2657,6 +2655,7 @@ public final class MediaCodecInfo { public static final int MPEG2LevelML = 0x01; public static final int MPEG2LevelH14 = 0x02; public static final int MPEG2LevelHL = 0x03; + public static final int MPEG2LevelHP = 0x04; // from OMX_AUDIO_AACPROFILETYPE public static final int AACObjectMain = 1; diff --git a/media/java/android/service/media/MediaBrowserService.java b/media/java/android/service/media/MediaBrowserService.java index 7eb91884e8d4..c0d950323db5 100644 --- a/media/java/android/service/media/MediaBrowserService.java +++ b/media/java/android/service/media/MediaBrowserService.java @@ -489,9 +489,15 @@ public abstract class MediaBrowserService extends Service { /** * Gets the root hints sent from the currently connected {@link MediaBrowser}. + * The root hints are service-specific arguments included in an optional bundle sent to the + * media browser service when connecting and retrieving the root id for browsing, or null if + * none. The contents of this bundle may affect the information returned when browsing. * * @throws IllegalStateException If this method is called outside of {@link #onLoadChildren} * or {@link #onLoadItem} + * @see MediaBrowserService.BrowserRoot#EXTRA_RECENT + * @see MediaBrowserService.BrowserRoot#EXTRA_OFFLINE + * @see MediaBrowserService.BrowserRoot#EXTRA_SUGGESTED */ public final Bundle getBrowserRootHints() { if (mCurConnection == null) { diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/Camera2SurfaceViewTestCase.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/Camera2SurfaceViewTestCase.java index e718742d5a67..423c3b05fc2c 100644 --- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/Camera2SurfaceViewTestCase.java +++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/Camera2SurfaceViewTestCase.java @@ -38,6 +38,7 @@ import android.hardware.camera2.CameraMetadata; import android.hardware.camera2.CaptureRequest; import android.hardware.camera2.CaptureResult; import android.media.ImageReader; +import android.graphics.SurfaceTexture; import android.os.Bundle; import android.os.Environment; import android.os.Handler; @@ -67,6 +68,7 @@ import static com.android.mediaframeworktest.helpers.CameraTestUtils.getPreviewS import static com.android.mediaframeworktest.helpers.CameraTestUtils.getSupportedPreviewSizes; import static com.android.mediaframeworktest.helpers.CameraTestUtils.getSupportedStillSizes; import static com.android.mediaframeworktest.helpers.CameraTestUtils.getSupportedVideoSizes; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.getSortedSizesForFormat; import static com.android.mediaframeworktest.helpers.CameraTestUtils.makeImageReader; /** @@ -122,6 +124,8 @@ public class Camera2SurfaceViewTestCase extends protected List<Size> mOrderedPreviewSizes; // In descending order. protected List<Size> mOrderedVideoSizes; // In descending order. protected List<Size> mOrderedStillSizes; // In descending order. + protected List<Size> mOrderedRAW10Sizes; // In descending order. + protected List<Size> mOrderedYUV420888Sizes; // In descending order. protected HashMap<Size, Long> mMinPreviewFrameDurationMap; protected WindowManager mWindowManager; @@ -589,6 +593,7 @@ public class Camera2SurfaceViewTestCase extends mReaderSurface = null; } + /** * Open a camera device and get the StaticMetadata for a given camera id. * @@ -603,8 +608,13 @@ public class Camera2SurfaceViewTestCase extends if (mStaticInfo.isColorOutputSupported()) { mOrderedPreviewSizes = getSupportedPreviewSizes(cameraId, mCameraManager, getPreviewSizeBound(mWindowManager, PREVIEW_SIZE_BOUND)); - mOrderedVideoSizes = getSupportedVideoSizes(cameraId, mCameraManager, PREVIEW_SIZE_BOUND); + mOrderedVideoSizes = getSupportedVideoSizes( + cameraId, mCameraManager, PREVIEW_SIZE_BOUND); mOrderedStillSizes = getSupportedStillSizes(cameraId, mCameraManager, null); + mOrderedRAW10Sizes = getSortedSizesForFormat( + cameraId, mCameraManager, ImageFormat.RAW10, null); + mOrderedYUV420888Sizes = getSortedSizesForFormat( + cameraId, mCameraManager, ImageFormat.YUV_420_888, null); // Use ImageFormat.YUV_420_888 for now. TODO: need figure out what's format for preview // in public API side. mMinPreviewFrameDurationMap = diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/stress/Camera2SwitchPreviewTest.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/stress/Camera2SwitchPreviewTest.java new file mode 100644 index 000000000000..11327ca301f3 --- /dev/null +++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/stress/Camera2SwitchPreviewTest.java @@ -0,0 +1,578 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.mediaframeworktest.stress; + +import com.android.ex.camera2.blocking.BlockingSessionCallback; +import com.android.ex.camera2.exceptions.TimeoutRuntimeException; +import com.android.mediaframeworktest.Camera2SurfaceViewTestCase; +import com.android.mediaframeworktest.helpers.Camera2Focuser; +import com.android.mediaframeworktest.helpers.CameraTestUtils; +import com.android.mediaframeworktest.helpers.CameraTestUtils.SimpleCaptureCallback; + +import android.graphics.ImageFormat; +import android.graphics.Point; +import android.hardware.camera2.CameraCharacteristics; +import android.hardware.camera2.CameraCaptureSession.CaptureCallback; +import android.hardware.camera2.CameraConstrainedHighSpeedCaptureSession; +import android.hardware.camera2.CameraDevice; +import android.hardware.camera2.CameraAccessException; +import android.hardware.camera2.CameraCaptureSession; +import android.hardware.camera2.CaptureRequest; +import android.hardware.camera2.CaptureResult; +import android.hardware.camera2.DngCreator; +import android.hardware.camera2.params.MeteringRectangle; +import android.media.Image; +import android.media.ImageReader; +import android.media.CamcorderProfile; +import android.media.MediaExtractor; +import android.media.MediaFormat; +import android.media.MediaRecorder; +import android.os.ConditionVariable; +import android.os.Environment; +import android.util.Log; +import android.util.Pair; +import android.util.Rational; +import android.util.Size; +import android.view.Surface; +import android.hardware.camera2.params.StreamConfigurationMap; +import android.test.suitebuilder.annotation.LargeTest; +import android.util.Log; +import android.util.Range; + +import java.io.ByteArrayOutputStream; +import java.util.ArrayList; +import java.util.List; +import java.io.File; +import java.util.Arrays; +import java.util.HashMap; + +import static com.android.mediaframeworktest.helpers.CameraTestUtils.CAPTURE_IMAGE_TIMEOUT_MS; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.MAX_READER_IMAGES; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.SimpleImageReaderListener; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.basicValidateJpegImage; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.configureCameraSession; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.dumpFile; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.getDataFromImage; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.getValueNotNull; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.makeImageReader; +import static com.android.ex.camera2.blocking.BlockingSessionCallback.SESSION_CLOSED; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.CAPTURE_IMAGE_TIMEOUT_MS; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.SESSION_CLOSE_TIMEOUT_MS; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.SIZE_BOUND_1080P; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.SIZE_BOUND_2160P; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.getSupportedVideoSizes; + +import com.android.ex.camera2.blocking.BlockingSessionCallback; +import com.android.mediaframeworktest.Camera2SurfaceViewTestCase; +import com.android.mediaframeworktest.helpers.CameraTestUtils; + +import junit.framework.AssertionFailedError; + +/** + * <p>Tests Back/Front camera switching and Camera/Video modes witching.</p> + * + * adb shell am instrument \ + * -e class com.android.mediaframeworktest.stress.Camera2SwitchPreviewTest \ + * -e iterations 200 \ + * -e waitIntervalMs 1000 \ + * -e resultToFile false \ + * -r -w com.android.mediaframeworktest/.Camera2InstrumentationTestRunner + */ +public class Camera2SwitchPreviewTest extends Camera2SurfaceViewTestCase { + private static final String TAG = "SwitchPreviewTest"; + private static final boolean VERBOSE = Log.isLoggable(TAG, Log.VERBOSE); + private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG); + // 60 second to accommodate the possible long exposure time. + private static final int MAX_REGIONS_AE_INDEX = 0; + private static final int MAX_REGIONS_AWB_INDEX = 1; + private static final int MAX_REGIONS_AF_INDEX = 2; + private static final int WAIT_FOR_FOCUS_DONE_TIMEOUT_MS = 6000; + private static final double AE_COMPENSATION_ERROR_TOLERANCE = 0.2; + // 5 percent error margin for resulting metering regions + private static final float METERING_REGION_ERROR_PERCENT_DELTA = 0.05f; + private final String VIDEO_FILE_PATH = Environment.getExternalStorageDirectory().getPath(); + + private static final boolean DEBUG_DUMP = Log.isLoggable(TAG, Log.DEBUG); + private static final int RECORDING_DURATION_MS = 3000; + private static final float DURATION_MARGIN = 0.2f; + private static final double FRAME_DURATION_ERROR_TOLERANCE_MS = 3.0; + private static final int BIT_RATE_1080P = 16000000; + private static final int BIT_RATE_MIN = 64000; + private static final int BIT_RATE_MAX = 40000000; + private static final int VIDEO_FRAME_RATE = 30; + private static final int[] mCamcorderProfileList = { + CamcorderProfile.QUALITY_HIGH, + CamcorderProfile.QUALITY_2160P, + CamcorderProfile.QUALITY_1080P, + CamcorderProfile.QUALITY_720P, + CamcorderProfile.QUALITY_480P, + CamcorderProfile.QUALITY_CIF, + CamcorderProfile.QUALITY_QCIF, + CamcorderProfile.QUALITY_QVGA, + CamcorderProfile.QUALITY_LOW, + }; + private static final int MAX_VIDEO_SNAPSHOT_IMAGES = 5; + private static final int BURST_VIDEO_SNAPSHOT_NUM = 3; + private static final int SLOWMO_SLOW_FACTOR = 4; + private static final int MAX_NUM_FRAME_DROP_INTERVAL_ALLOWED = 4; + private List<Size> mSupportedVideoSizes; + private Surface mRecordingSurface; + private Surface mPersistentSurface; + private MediaRecorder mMediaRecorder; + private String mOutMediaFileName; + private int mVideoFrameRate; + private Size mVideoSize; + private long mRecordingStartTime; + + @Override + protected void setUp() throws Exception { + super.setUp(); + } + + @Override + protected void tearDown() throws Exception { + super.tearDown(); + } + + /** + * Test normal still preview switch. + * <p> + * Preview jpeg output streams are configured. Max still capture + * size is used for jpeg capture. + * </p> + */ + public void testPreviewSwitchBackFrontCamera() throws Exception { + List<String> mCameraColorOutputIds = cameraColorOutputCheck(); + // Test iteration starts... + Log.i(TAG, "Testing preview switch back/front camera in still capture mode"); + for (int iteration = 0; iteration < getIterationCount(); ++iteration) { + for (String id : mCameraColorOutputIds) { + try { + openDevice(id); + // Preview for basic still capture: + Log.v(TAG, String.format("Preview pictures: %d/%d", iteration + 1, + getIterationCount())); + stillCapturePreviewPreparer(id); + getResultPrinter().printStatus(getIterationCount(), iteration + 1, id); + } finally { + closeDevice(); + closeImageReader(); + } + } + } + } + + /** + * <p> + * Test basic video preview switch. + * </p> + * <p> + * This test covers the typical basic use case of video preview switch. + * MediaRecorder is used to record the audio and video, CamcorderProfile is + * used to configure the MediaRecorder. Preview is set to the video size. + * </p> + */ + public void testPreviewSwitchBackFrontVideo() throws Exception { + List<String> mCameraColorOutputIds = cameraColorOutputCheck(); + // Test iteration starts... + Log.i(TAG, "Testing preview switch back/front camera in video mode"); + for (int iteration = 0; iteration < getIterationCount(); ++iteration) { + for (String id : mCameraColorOutputIds) { + try { + openDevice(id); + // Preview for basic video recording: + Log.v(TAG, String.format("Preview for recording videos: %d/%d", iteration + 1, + getIterationCount())); + recordingPreviewPreparer(id); + getResultPrinter().printStatus(getIterationCount(), iteration + 1, id); + } finally { + closeDevice(); + releaseRecorder(); + } + } + } + } + + + /** + * Test back camera preview switch between still capture and recording mode. + * <p> + * This test covers the basic case of preview switch camera mode, between + * still capture (photo) and recording (video) mode. The preview settings + * are same with the settings in "testPreviewSwitchBackFrontCamera" and + * "testPreviewSwitchBackFrontVideo" + * </p> + */ + public void testPreviewSwitchBackCameraVideo() throws Exception { + String id = mCameraIds[0]; + openDevice(id); + if (!mStaticInfo.isColorOutputSupported()) { + Log.i(TAG, "Camera " + id + + " does not support color outputs, skipping"); + return; + } + closeDevice(); + // Test iteration starts... + Log.i(TAG, "Testing preview switch between still capture/video modes for back camera"); + for (int iteration = 0; iteration < getIterationCount(); ++iteration) { + try { + openDevice(id); + + // Preview for basic still capture: + Log.v(TAG, String.format("Preview pictures: %d/%d", iteration + 1, + getIterationCount())); + stillCapturePreviewPreparer(id); + getResultPrinter().printStatus(getIterationCount(), iteration + 1, id); + + // Preview for basic video recording: + Log.v(TAG, String.format("Preview for recording videos: %d/%d", iteration + 1, + getIterationCount())); + recordingPreviewPreparer(id); + getResultPrinter().printStatus(getIterationCount(), iteration + 1, id); + } finally { + closeDevice(); + closeImageReader(); + } + } + } + + /** + * Test front camera preview switch between still capture and recording mode. + * <p> + * This test covers the basic case of preview switch camera mode, between + * still capture (photo) and recording (video) mode. The preview settings + * are same with the settings in "testPreviewSwitchBackFrontCamera" and + * "testPreviewSwitchBackFrontVideo" + * </p> + */ + public void testPreviewSwitchFrontCameraVideo() throws Exception{ + String id = mCameraIds[1]; + openDevice(id); + if (!mStaticInfo.isColorOutputSupported()) { + Log.i(TAG, "Camera " + id + + " does not support color outputs, skipping"); + return; + } + closeDevice(); + // Test iteration starts... + Log.i(TAG, "Testing preview switch between still capture/video modes for front camera"); + for (int iteration = 0; iteration < getIterationCount(); ++iteration) { + try { + openDevice(id); + + // Preview for basic still capture: + Log.v(TAG, String.format("Preview pictures: %d/%d", iteration + 1, + getIterationCount())); + stillCapturePreviewPreparer(id); + getResultPrinter().printStatus(getIterationCount(), iteration + 1, id); + + // Preview for basic video recording: + Log.v(TAG, String.format("Preview for recording videos: %d/%d", iteration + 1, + getIterationCount())); + recordingPreviewPreparer(id); + getResultPrinter().printStatus(getIterationCount(), iteration + 1, id); + } finally { + closeDevice(); + closeImageReader(); + } + } + } + + private void stillCapturePreviewPreparer(String id) throws Exception{ + CaptureResult result; + SimpleCaptureCallback resultListener = new SimpleCaptureCallback(); + SimpleImageReaderListener imageListener = new SimpleImageReaderListener(); + CaptureRequest.Builder previewRequest = + mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW); + CaptureRequest.Builder stillRequest = + mCamera.createCaptureRequest(CameraDevice.TEMPLATE_STILL_CAPTURE); + // Preview Setup: + prepareCapturePreview(previewRequest, stillRequest, resultListener, imageListener); + + Thread.sleep(getTestWaitIntervalMs()); + } + + private void recordingPreviewPreparer(String id) throws Exception{ + // Re-use the MediaRecorder object for the same camera device. + mMediaRecorder = new MediaRecorder(); + initSupportedVideoSize(id); + // preview Setup: + basicRecordingPreviewTestByCamera(mCamcorderProfileList); + + Thread.sleep(getTestWaitIntervalMs()); + } + + + /** + * Initialize the supported video sizes. + */ + private void initSupportedVideoSize(String cameraId) throws Exception { + Size maxVideoSize = SIZE_BOUND_1080P; + if (CamcorderProfile.hasProfile(CamcorderProfile.QUALITY_2160P)) { + maxVideoSize = SIZE_BOUND_2160P; + } + mSupportedVideoSizes = + getSupportedVideoSizes(cameraId, mCameraManager, maxVideoSize); + } + + + /** + * Test camera recording preview by using each available CamcorderProfile for a + * given camera. preview size is set to the video size. + */ + private void basicRecordingPreviewTestByCamera(int[] camcorderProfileList) + throws Exception { + Size maxPreviewSize = mOrderedPreviewSizes.get(0); + List<Range<Integer> > fpsRanges = Arrays.asList( + mStaticInfo.getAeAvailableTargetFpsRangesChecked()); + int cameraId = Integer.parseInt(mCamera.getId()); + int maxVideoFrameRate = -1; + int profileId = camcorderProfileList[0]; + if (!CamcorderProfile.hasProfile(cameraId, profileId) || + allowedUnsupported(cameraId, profileId)) { + return; + } + + CamcorderProfile profile = CamcorderProfile.get(cameraId, profileId); + Size videoSz = new Size(profile.videoFrameWidth, profile.videoFrameHeight); + Range<Integer> fpsRange = new Range(profile.videoFrameRate, profile.videoFrameRate); + if (maxVideoFrameRate < profile.videoFrameRate) { + maxVideoFrameRate = profile.videoFrameRate; + } + if (mStaticInfo.isHardwareLevelLegacy() && + (videoSz.getWidth() > maxPreviewSize.getWidth() || + videoSz.getHeight() > maxPreviewSize.getHeight())) { + // Skip. Legacy mode can only do recording up to max preview size + return; + } + assertTrue("Video size " + videoSz.toString() + " for profile ID " + profileId + + " must be one of the camera device supported video size!", + mSupportedVideoSizes.contains(videoSz)); + assertTrue("Frame rate range " + fpsRange + " (for profile ID " + profileId + + ") must be one of the camera device available FPS range!", + fpsRanges.contains(fpsRange)); + + if (VERBOSE) { + Log.v(TAG, "Testing camera recording with video size " + videoSz.toString()); + } + + // Configure preview and recording surfaces. + mOutMediaFileName = VIDEO_FILE_PATH + "/test_video.mp4"; + if (DEBUG_DUMP) { + mOutMediaFileName = VIDEO_FILE_PATH + "/test_video_" + cameraId + "_" + + videoSz.toString() + ".mp4"; + } + + prepareRecordingWithProfile(profile); + + // prepare preview surface by using video size. + updatePreviewSurfaceWithVideo(videoSz, profile.videoFrameRate); + + CaptureRequest.Builder previewRequest = + mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW); + CaptureRequest.Builder recordingRequest = + mCamera.createCaptureRequest(CameraDevice.TEMPLATE_RECORD); + + SimpleCaptureCallback resultListener = new SimpleCaptureCallback(); + SimpleImageReaderListener imageListener = new SimpleImageReaderListener(); + + prepareVideoPreview(previewRequest, recordingRequest, resultListener, imageListener); + + // Can reuse the MediaRecorder object after reset. + mMediaRecorder.reset(); + + if (maxVideoFrameRate != -1) { + // At least one CamcorderProfile is present, check FPS + assertTrue("At least one CamcorderProfile must support >= 24 FPS", + maxVideoFrameRate >= 24); + } + } + + private void releaseRecorder() { + if (mMediaRecorder != null) { + mMediaRecorder.release(); + mMediaRecorder = null; + } + } + + private List<String> cameraColorOutputCheck() throws Exception { + List<String> mCameraColorOutputIds = new ArrayList<String>(); + for (String id : mCameraIds) { + openDevice(id); + if (!mStaticInfo.isColorOutputSupported()) { + Log.i(TAG, "Camera " + id + + " does not support color outputs, skipping"); + continue; + } + mCameraColorOutputIds.add(id); + closeDevice(); + } + return mCameraColorOutputIds; + } + + /** + * Returns {@code true} if the {@link CamcorderProfile} ID is allowed to be unsupported. + * + * <p>This only allows unsupported profiles when using the LEGACY mode of the Camera API.</p> + * + * @param profileId a {@link CamcorderProfile} ID to check. + * @return {@code true} if supported. + */ + private boolean allowedUnsupported(int cameraId, int profileId) { + if (!mStaticInfo.isHardwareLevelLegacy()) { + return false; + } + + switch(profileId) { + case CamcorderProfile.QUALITY_2160P: + case CamcorderProfile.QUALITY_1080P: + case CamcorderProfile.QUALITY_HIGH: + return !CamcorderProfile.hasProfile(cameraId, profileId) || + CamcorderProfile.get(cameraId, profileId).videoFrameWidth >= 1080; + } + return false; + } + + /** + * Configure MediaRecorder recording session with CamcorderProfile, prepare + * the recording surface. + */ + private void prepareRecordingWithProfile(CamcorderProfile profile) + throws Exception { + // Prepare MediaRecorder. + mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER); + mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.SURFACE); + mMediaRecorder.setProfile(profile); + mMediaRecorder.setOutputFile(mOutMediaFileName); + if (mPersistentSurface != null) { + mMediaRecorder.setInputSurface(mPersistentSurface); + mRecordingSurface = mPersistentSurface; + } + mMediaRecorder.prepare(); + if (mPersistentSurface == null) { + mRecordingSurface = mMediaRecorder.getSurface(); + } + assertNotNull("Recording surface must be non-null!", mRecordingSurface); + mVideoFrameRate = profile.videoFrameRate; + mVideoSize = new Size(profile.videoFrameWidth, profile.videoFrameHeight); + } + + /** + * Update preview size with video size. + * + * <p>Preview size will be capped with max preview size.</p> + * + * @param videoSize The video size used for preview. + * @param videoFrameRate The video frame rate + * + */ + private void updatePreviewSurfaceWithVideo(Size videoSize, int videoFrameRate) throws Exception { + if (mOrderedPreviewSizes == null) { + throw new IllegalStateException("supported preview size list is not initialized yet"); + } + final float FRAME_DURATION_TOLERANCE = 0.01f; + long videoFrameDuration = (long) (1e9 / videoFrameRate * + (1.0 + FRAME_DURATION_TOLERANCE)); + HashMap<Size, Long> minFrameDurationMap = mStaticInfo. + getAvailableMinFrameDurationsForFormatChecked(ImageFormat.PRIVATE); + Size maxPreviewSize = mOrderedPreviewSizes.get(0); + Size previewSize = null; + if (videoSize.getWidth() > maxPreviewSize.getWidth() || + videoSize.getHeight() > maxPreviewSize.getHeight()) { + for (Size s : mOrderedPreviewSizes) { + Long frameDuration = minFrameDurationMap.get(s); + if (mStaticInfo.isHardwareLevelLegacy()) { + // Legacy doesn't report min frame duration + frameDuration = new Long(0); + } + assertTrue("Cannot find minimum frame duration for private size" + s, + frameDuration != null); + if (frameDuration <= videoFrameDuration && + s.getWidth() <= videoSize.getWidth() && + s.getHeight() <= videoSize.getHeight()) { + Log.w(TAG, "Overwrite preview size from " + videoSize.toString() + + " to " + s.toString()); + previewSize = s; + break; + // If all preview size doesn't work then we fallback to video size + } + } + } + if (previewSize == null) { + previewSize = videoSize; + } + + updatePreviewSurface(previewSize); + } + + protected void prepareVideoPreview(CaptureRequest.Builder previewRequest, + CaptureRequest.Builder recordingRequest, + CaptureCallback resultListener, + ImageReader.OnImageAvailableListener imageListener) throws Exception { + + // Configure output streams with preview and jpeg streams. + List<Surface> outputSurfaces = new ArrayList<Surface>(); + outputSurfaces.add(mPreviewSurface); + outputSurfaces.add(mRecordingSurface); + + mSessionListener = new BlockingSessionCallback(); + mSession = configureCameraSession(mCamera, outputSurfaces, mSessionListener, mHandler); + + previewRequest.addTarget(mPreviewSurface); + recordingRequest.addTarget(mPreviewSurface); + recordingRequest.addTarget(mRecordingSurface); + + // Start preview. + mSession.setRepeatingRequest(previewRequest.build(), null, mHandler); + } + + protected void prepareCapturePreview(CaptureRequest.Builder previewRequest, + CaptureRequest.Builder stillRequest, + CaptureCallback resultListener, + ImageReader.OnImageAvailableListener imageListener) throws Exception { + + Size captureSz = mOrderedStillSizes.get(0); + Size previewSz = mOrderedPreviewSizes.get(1); + + if (VERBOSE) { + Log.v(TAG, String.format("Prepare single capture (%s) and preview (%s)", + captureSz.toString(), previewSz.toString())); + } + + // Update preview size. + updatePreviewSurface(previewSz); + + // Create ImageReader. + createImageReader(captureSz, ImageFormat.JPEG, MAX_READER_IMAGES, imageListener); + + // Configure output streams with preview and jpeg streams. + List<Surface> outputSurfaces = new ArrayList<Surface>(); + outputSurfaces.add(mPreviewSurface); + outputSurfaces.add(mReaderSurface); + mSessionListener = new BlockingSessionCallback(); + mSession = configureCameraSession(mCamera, outputSurfaces, mSessionListener, mHandler); + + // Configure the requests. + previewRequest.addTarget(mPreviewSurface); + stillRequest.addTarget(mPreviewSurface); + stillRequest.addTarget(mReaderSurface); + + // Start preview. + mSession.setRepeatingRequest(previewRequest.build(), resultListener, mHandler); + } + +} diff --git a/packages/BackupRestoreConfirmation/res/values-pa-rIN/strings.xml b/packages/BackupRestoreConfirmation/res/values-pa-rIN/strings.xml index 4b90c211bc87..5b2100fef214 100644 --- a/packages/BackupRestoreConfirmation/res/values-pa-rIN/strings.xml +++ b/packages/BackupRestoreConfirmation/res/values-pa-rIN/strings.xml @@ -18,19 +18,19 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="backup_confirm_title" msgid="827563724209303345">"ਪੂਰਾ ਬੈਕਅਪ"</string> <string name="restore_confirm_title" msgid="5469365809567486602">"ਪੂਰਾ ਰੀਸਟੋਰ"</string> - <string name="backup_confirm_text" msgid="1878021282758896593">"ਇੱਕ ਕਨੈਕਟ ਕੀਤੇ ਡੈਸਕਟੌਪ ਕੰਪਿਊਟਰ ਦੇ ਸਾਰੇ ਡਾਟਾ ਦੇ ਇੱਕ ਪੁੂਰੇ ਬੈਕਅਪ ਦੀ ਬੇਨਤੀ ਕੀਤੀ ਗਈ ਹੈ। ਕੀ ਤੁਸੀਂ ਅਜਿਹਾ ਹੋਣ ਦੀ ਆਗਿਆ ਦੇਣਾ ਚਾਹੁੰਦੇ ਹੋ?\n\nਜੇਕਰ ਤੁਸੀਂ ਖੁਦ ਬੈਕਅਪ ਦੀ ਬੇਨਤੀ ਨਹੀਂ ਕੀਤੀ ਸੀ, ਤਾਂ ਓਪਰੇਸ਼ਨ ਜਾਰੀ ਰੱਖਣ ਦੀ ਆਗਿਆ ਨਾ ਦਿਓ।"</string> - <string name="allow_backup_button_label" msgid="4217228747769644068">"ਮੇਰਾ ਡਾਟਾ ਬੈਕ ਅਪ ਕਰੋ"</string> + <string name="backup_confirm_text" msgid="1878021282758896593">"ਇੱਕ ਕਨੈਕਟ ਕੀਤੇ ਡੈਸਕਟੌਪ ਕੰਪਿਊਟਰ ਦੇ ਸਾਰੇ ਡੈਟਾ ਦੇ ਇੱਕ ਪੁੂਰੇ ਬੈਕਅਪ ਦੀ ਬੇਨਤੀ ਕੀਤੀ ਗਈ ਹੈ। ਕੀ ਤੁਸੀਂ ਅਜਿਹਾ ਹੋਣ ਦੀ ਆਗਿਆ ਦੇਣਾ ਚਾਹੁੰਦੇ ਹੋ?\n\nਜੇਕਰ ਤੁਸੀਂ ਖੁਦ ਬੈਕਅਪ ਦੀ ਬੇਨਤੀ ਨਹੀਂ ਕੀਤੀ ਸੀ, ਤਾਂ ਓਪਰੇਸ਼ਨ ਜਾਰੀ ਰੱਖਣ ਦੀ ਆਗਿਆ ਨਾ ਦਿਓ।"</string> + <string name="allow_backup_button_label" msgid="4217228747769644068">"ਮੇਰਾ ਡੈਟਾ ਬੈਕ ਅਪ ਕਰੋ"</string> <string name="deny_backup_button_label" msgid="6009119115581097708">"ਬੈਕ ਅਪ ਨਾ ਕਰੋ"</string> - <string name="restore_confirm_text" msgid="7499866728030461776">"ਇੱਕ ਕਨੈਕਟ ਕੀਤੇ ਡੈਸਕਟੌਪ ਕੰਪਿਊਟਰ ਦੇ ਸਾਰੇ ਡਾਟਾ ਦੇ ਇੱਕ ਪੁੂਰੇ ਰੀਸਟੋਰ ਦੀ ਬੇਨਤੀ ਕੀਤੀ ਗਈ ਹੈ। ਕੀ ਤੁਸੀਂ ਅਜਿਹਾ ਹੋਣ ਦੀ ਆਗਿਆ ਦੇਣਾ ਚਾਹੁੰਦੇ ਹੋ?\n\nਜੇਕਰ ਤੁਸੀਂ ਖੁਦ ਰੀਸਟੋਰ ਦੀ ਬੇਨਤੀ ਨਹੀਂ ਕੀਤੀ ਸੀ, ਤਾਂ ਓਪਰੇਸ਼ਨ ਜਾਰੀ ਰੱਖਣ ਦੀ ਆਗਿਆ ਨਾ ਦਿਓ। ਇਹ ਡਿਵਾਈਸ ਤੇ ਇਸ ਵੇਲੇ ਮੌਜੂਦ ਕਿਸੇ ਵੀ ਡਾਟਾ ਨੂੰ ਬਦਲ ਦੇਵੇਗਾ!"</string> - <string name="allow_restore_button_label" msgid="3081286752277127827">"ਮੇਰਾ ਡਾਟਾ ਰੀਸਟੋਰ ਕਰੋ"</string> + <string name="restore_confirm_text" msgid="7499866728030461776">"ਇੱਕ ਕਨੈਕਟ ਕੀਤੇ ਡੈਸਕਟੌਪ ਕੰਪਿਊਟਰ ਦੇ ਸਾਰੇ ਡੈਟਾ ਦੇ ਇੱਕ ਪੁੂਰੇ ਰੀਸਟੋਰ ਦੀ ਬੇਨਤੀ ਕੀਤੀ ਗਈ ਹੈ। ਕੀ ਤੁਸੀਂ ਅਜਿਹਾ ਹੋਣ ਦੀ ਆਗਿਆ ਦੇਣਾ ਚਾਹੁੰਦੇ ਹੋ?\n\nਜੇਕਰ ਤੁਸੀਂ ਖੁਦ ਰੀਸਟੋਰ ਦੀ ਬੇਨਤੀ ਨਹੀਂ ਕੀਤੀ ਸੀ, ਤਾਂ ਓਪਰੇਸ਼ਨ ਜਾਰੀ ਰੱਖਣ ਦੀ ਆਗਿਆ ਨਾ ਦਿਓ। ਇਹ ਡੀਵਾਈਸ ਤੇ ਇਸ ਵੇਲੇ ਮੌਜੂਦ ਕਿਸੇ ਵੀ ਡੈਟਾ ਨੂੰ ਬਦਲ ਦੇਵੇਗਾ!"</string> + <string name="allow_restore_button_label" msgid="3081286752277127827">"ਮੇਰਾ ਡੈਟਾ ਰੀਸਟੋਰ ਕਰੋ"</string> <string name="deny_restore_button_label" msgid="1724367334453104378">"ਰੀਸਟੋਰ ਨਾ ਕਰੋ"</string> - <string name="current_password_text" msgid="8268189555578298067">"ਕਿਰਪਾ ਕਰਕੇ ਹੇਠਾਂ ਆਪਣਾ ਮੌਜੂਦਾ ਬੈਕਅਪ ਪਾਸਵਰਡ ਦਰਜ ਕਰੋ:"</string> - <string name="device_encryption_restore_text" msgid="1570864916855208992">"ਕਿਰਪਾ ਕਰਕੇ ਹੇਠਾਂ ਆਪਣਾ ਡਿਵਾਈਸ ਐਨਕ੍ਰਿਪਸ਼ਨ ਪਾਸਵਰਡ ਦਰਜ ਕਰੋ।"</string> - <string name="device_encryption_backup_text" msgid="5866590762672844664">"ਕਿਰਪਾ ਕਰਕੇ ਹੇਠਾਂ ਆਪਣਾ ਡਿਵਾਈਸ ਐਨਕ੍ਰਿਪਸ਼ਨ ਪਾਸਵਰਡ ਦਰਜ ਕਰੋ। ਇਹ ਬੈਕਅਪ ਆਰਕਾਈਵ ਐਨਕ੍ਰਿਪਟ ਕਰਨ ਲਈ ਵੀ ਵਰਤਿਆ ਜਾਏਗਾ।"</string> - <string name="backup_enc_password_text" msgid="4981585714795233099">"ਕਿਰਪਾ ਕਰਕੇ ਪੂਰਾ ਬੈਕਅਪ ਡਾਟਾ ਐਨਕ੍ਰਿਪਟ ਕਰਨ ਦੀ ਵਰਤੋਂ ਲਈ ਇੱਕ ਪਾਸਵਰਡ ਦਰਜ ਕਰੋ। ਜੇਕਰ ਇਸਨੂੰ ਖਾਲੀ ਛੱਡਿਆ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਤੁਹਾਡਾ ਵਰਤਮਾਨ ਬੈਕਅਪ ਪਾਸਵਰਡ ਵਰਤਿਆ ਜਾਏਗਾ:"</string> - <string name="backup_enc_password_optional" msgid="1350137345907579306">"ਜੇਕਰ ਤੁਸੀਂ ਪੂਰਾ ਬੈਕਅਪ ਡਾਟਾ ਐਨਕ੍ਰਿਪਟ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਹੇਠਾਂ ਇੱਕ ਪਾਸਵਰਡ ਦਰਜ ਕਰੋ:"</string> - <string name="backup_enc_password_required" msgid="7889652203371654149">"ਕਿਉਂਕਿ ਤੁਹਾਡੀ ਡਿਵਾਈਸ ਐਨਕ੍ਰਿਪਟਿਡ ਬੈ, ਇਸਲਈ ਤੁਹਾਡੇ ਤੋਂ ਆਪਣਾ ਬੈਕਅਪ ਐਨਕ੍ਰਿਪਟ ਕਰਨ ਦੀ ਮੰਗ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਕਿਰਪਾ ਕਰਕੇ ਹੇਠਾਂ ਇੱਕ ਪਾਸਵਰਡ ਦਰਜ ਕਰੋ:"</string> - <string name="restore_enc_password_text" msgid="6140898525580710823">"ਜੇਕਰ ਰੀਸਟੋਰ ਡਾਟਾ ਐਨਕ੍ਰਿਪਟ ਕੀਤਾ ਗਿਆ ਹੈ, ਤਾਂ ਹੇਠਾਂ ਪਾਸਵਰਡ ਦਰਜ ਕਰੋ:"</string> + <string name="current_password_text" msgid="8268189555578298067">"ਕਿਰਪਾ ਕਰਕੇ ਹੇਠਾਂ ਆਪਣਾ ਮੌਜੂਦਾ ਬੈਕਅਪ ਪਾਸਵਰਡ ਦਾਖਲ ਕਰੋ:"</string> + <string name="device_encryption_restore_text" msgid="1570864916855208992">"ਕਿਰਪਾ ਕਰਕੇ ਹੇਠਾਂ ਆਪਣਾ ਡੀਵਾਈਸ ਐਨਕ੍ਰਿਪਸ਼ਨ ਪਾਸਵਰਡ ਦਾਖਲ ਕਰੋ।"</string> + <string name="device_encryption_backup_text" msgid="5866590762672844664">"ਕਿਰਪਾ ਕਰਕੇ ਹੇਠਾਂ ਆਪਣਾ ਡੀਵਾਈਸ ਐਨਕ੍ਰਿਪਸ਼ਨ ਪਾਸਵਰਡ ਦਾਖਲ ਕਰੋ। ਇਹ ਬੈਕਅਪ ਆਰਕਾਈਵ ਐਨਕ੍ਰਿਪਟ ਕਰਨ ਲਈ ਵੀ ਵਰਤਿਆ ਜਾਏਗਾ।"</string> + <string name="backup_enc_password_text" msgid="4981585714795233099">"ਕਿਰਪਾ ਕਰਕੇ ਪੂਰਾ ਬੈਕਅਪ ਡੈਟਾ ਐਨਕ੍ਰਿਪਟ ਕਰਨ ਦੀ ਵਰਤੋਂ ਲਈ ਇੱਕ ਪਾਸਵਰਡ ਦਾਖਲ ਕਰੋ। ਜੇਕਰ ਇਸਨੂੰ ਖਾਲੀ ਛੱਡਿਆ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਤੁਹਾਡਾ ਵਰਤਮਾਨ ਬੈਕਅਪ ਪਾਸਵਰਡ ਵਰਤਿਆ ਜਾਏਗਾ:"</string> + <string name="backup_enc_password_optional" msgid="1350137345907579306">"ਜੇਕਰ ਤੁਸੀਂ ਪੂਰਾ ਬੈਕਅਪ ਡੈਟਾ ਐਨਕ੍ਰਿਪਟ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਹੇਠਾਂ ਇੱਕ ਪਾਸਵਰਡ ਦਾਖਲ ਕਰੋ:"</string> + <string name="backup_enc_password_required" msgid="7889652203371654149">"ਕਿਉਂਕਿ ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਐਨਕ੍ਰਿਪਟਿਡ ਬੈ, ਇਸਲਈ ਤੁਹਾਡੇ ਤੋਂ ਆਪਣਾ ਬੈਕਅਪ ਐਨਕ੍ਰਿਪਟ ਕਰਨ ਦੀ ਮੰਗ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਕਿਰਪਾ ਕਰਕੇ ਹੇਠਾਂ ਇੱਕ ਪਾਸਵਰਡ ਦਾਖਲ ਕਰੋ:"</string> + <string name="restore_enc_password_text" msgid="6140898525580710823">"ਜੇਕਰ ਰੀਸਟੋਰ ਡੈਟਾ ਐਨਕ੍ਰਿਪਟ ਕੀਤਾ ਗਿਆ ਹੈ, ਤਾਂ ਹੇਠਾਂ ਪਾਸਵਰਡ ਦਾਖਲ ਕਰੋ:"</string> <string name="toast_backup_started" msgid="550354281452756121">"ਬੈਕਅਪ ਚਾਲੂ ਕਰ ਰਿਹਾ ਹੈ..."</string> <string name="toast_backup_ended" msgid="3818080769548726424">"ਬੈਕਅਪ ਪੂਰਾ ਹੋਇਆ"</string> <string name="toast_restore_started" msgid="7881679218971277385">"ਰੀਸਟੋਰ ਚਾਲੂ ਹੋ ਰਿਹਾ ਹੈ..."</string> diff --git a/packages/BackupRestoreConfirmation/res/values-ta-rIN/strings.xml b/packages/BackupRestoreConfirmation/res/values-ta-rIN/strings.xml index 0a7ffae626ec..fc34482f6d4e 100644 --- a/packages/BackupRestoreConfirmation/res/values-ta-rIN/strings.xml +++ b/packages/BackupRestoreConfirmation/res/values-ta-rIN/strings.xml @@ -26,9 +26,9 @@ <string name="deny_restore_button_label" msgid="1724367334453104378">"மீட்டமைக்க வேண்டாம்"</string> <string name="current_password_text" msgid="8268189555578298067">"உங்கள் நடப்புக் காப்புப் பிரதி கடவுச்சொலைக் கீழே உள்ளிடவும்:"</string> <string name="device_encryption_restore_text" msgid="1570864916855208992">"உங்கள் சாதன முறைமையாக்கல் கடவுச்சொல்லைக் கீழே உள்ளிடவும்."</string> - <string name="device_encryption_backup_text" msgid="5866590762672844664">"உங்கள் சாதன முறைமையாக்கல் கடவுச்சொல்லைக் கீழே உள்ளிடவும். இது காப்புப் பிரதி இயக்ககத்தை முறைமையாக்கவும் பயன்படுத்தப்படும்."</string> - <string name="backup_enc_password_text" msgid="4981585714795233099">"காப்புப் பிரதி எடுக்கப்பட்ட முழு தரவையும் முறைமையாக்க கடவுச்சொல்லை உள்ளிடவும். இதைக் காலியாக விட்டால், உங்கள் தற்போதைய காப்புப் பிரதி கடவுச்சொல் பயன்படுத்தப்படும்:"</string> - <string name="backup_enc_password_optional" msgid="1350137345907579306">"காப்புப் பிரதி எடுக்கப்பட்ட முழு தரவையும் முறைமையாக்க விரும்பினால், கடவுச்சொல்லை உள்ளிடவும்:"</string> + <string name="device_encryption_backup_text" msgid="5866590762672844664">"சாதனம் என்க்ரிப்ட் செய்யும் கடவுச்சொல்லைக் கீழே உள்ளிடவும். இது காப்புப் பிரதி இயக்ககத்தை என்க்ரிப்ட் செய்யவும் பயன்படுத்தப்படும்."</string> + <string name="backup_enc_password_text" msgid="4981585714795233099">"காப்புப் பிரதி எடுக்கப்பட்ட முழு தரவையும் என்க்ரிப்ட் செய்ய கடவுச்சொல்லை உள்ளிடவும். இதைக் காலியாக விட்டால், உங்கள் தற்போதைய காப்புப் பிரதி கடவுச்சொல் பயன்படுத்தப்படும்:"</string> + <string name="backup_enc_password_optional" msgid="1350137345907579306">"காப்புப் பிரதி எடுக்கப்பட்ட முழு தரவையும் என்க்ரிப்ட் செய்ய விரும்பினால், கடவுச்சொல்லை உள்ளிடவும்:"</string> <string name="backup_enc_password_required" msgid="7889652203371654149">"சாதனம் மறையாக்கப்பட்டுள்ளதால், காப்புப்பிரதியையும் மறையாக்க வேண்டும். கீழே கடவுச்சொல்லை உள்ளிடவும்:"</string> <string name="restore_enc_password_text" msgid="6140898525580710823">"மீட்டமைக்கப்பட்ட தரவு முறைமையாக்கப்பட்டிருந்தால், கீழே கடவுச்சொல்லை உள்ளிடவும்:"</string> <string name="toast_backup_started" msgid="550354281452756121">"காப்புப் பிரதி எடுக்க தொடங்குகிறது..."</string> diff --git a/packages/CaptivePortalLogin/res/values-pa-rIN/strings.xml b/packages/CaptivePortalLogin/res/values-pa-rIN/strings.xml index ef64d79bf923..4c188fa999a3 100644 --- a/packages/CaptivePortalLogin/res/values-pa-rIN/strings.xml +++ b/packages/CaptivePortalLogin/res/values-pa-rIN/strings.xml @@ -2,9 +2,9 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_name" msgid="5934709770924185752">"CaptivePortalLogin"</string> - <string name="action_use_network" msgid="6076184727448466030">"ਇਸ ਨੈਟਵਰਕ ਨੂੰ ਉਵੇਂ ਵਰਤੋ ਜਿਵੇਂ ਇਹ ਹੈ"</string> - <string name="action_do_not_use_network" msgid="4577366536956516683">"ਇਹ ਨੈਟਵਰਕ ਨਾ ਵਰਤੋ"</string> - <string name="action_bar_label" msgid="917235635415966620">"ਨੈਟਵਰਕ ਤੇ ਸਾਈਨ ਇਨ ਕਰੋ"</string> + <string name="action_use_network" msgid="6076184727448466030">"ਇਸ ਨੈੱਟਵਰਕ ਨੂੰ ਉਵੇਂ ਵਰਤੋ ਜਿਵੇਂ ਇਹ ਹੈ"</string> + <string name="action_do_not_use_network" msgid="4577366536956516683">"ਇਹ ਨੈੱਟਵਰਕ ਨਾ ਵਰਤੋ"</string> + <string name="action_bar_label" msgid="917235635415966620">"ਨੈੱਟਵਰਕ ਤੇ ਸਾਈਨ ਇਨ ਕਰੋ"</string> <string name="ssl_error_warning" msgid="6653188881418638872">"ਤੁਹਾਡੇ ਦੁਆਰਾ ਸ਼ਾਮਿਲ ਹੋਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੇ ਜਾ ਰਹੇ ਨੈੱਟਵਰਕ ਵਿੱਚ ਸੁਰੱਖਿਆ ਸੰਬੰਧੀ ਸਮੱਸਿਆਵਾਂ ਹਨ।"</string> <string name="ssl_error_example" msgid="647898534624078900">"ਉਦਾਹਰਣ ਵੱਜੋਂ, ਲੌਗਇਨ ਪੰਨਾ ਦਿਖਾਈ ਗਈ ਸੰਸਥਾ ਨਾਲ ਸੰਬੰਧਿਤ ਨਹੀਂ ਹੋ ਸਕਦਾ ਹੈ।"</string> <string name="ssl_error_continue" msgid="6492718244923937110">"ਬ੍ਰਾਉਜ਼ਰ ਰਾਹੀਂ ਫਿਰ ਵੀ ਜਾਰੀ ਰੱਖੋ"</string> diff --git a/packages/DocumentsUI/res/values-az-rAZ/strings.xml b/packages/DocumentsUI/res/values-az-rAZ/strings.xml index df54c8979dac..dfdc71a74c7a 100644 --- a/packages/DocumentsUI/res/values-az-rAZ/strings.xml +++ b/packages/DocumentsUI/res/values-az-rAZ/strings.xml @@ -23,7 +23,7 @@ <string name="menu_create_dir" msgid="2547620241173881754">"Yeni qovluq"</string> <string name="menu_grid" msgid="6878021334497835259">"Torlu görünüş"</string> <string name="menu_list" msgid="7279285939892417279">"Siyahı görünüşü"</string> - <string name="menu_sort" msgid="7677740407158414452">"Bunlardan biri üzrə sırala"</string> + <string name="menu_sort" msgid="7677740407158414452">"Sıralayın"</string> <string name="menu_search" msgid="3816712084502856974">"Axtarış"</string> <string name="menu_settings" msgid="8239065133341597825">"Yaddaş ayarları"</string> <string name="menu_open" msgid="432922957274920903">"Açın"</string> @@ -32,7 +32,7 @@ <string name="menu_delete" msgid="8138799623850614177">"Sil"</string> <string name="menu_select_all" msgid="8323579667348729928">"Hamısını seçin"</string> <string name="menu_copy" msgid="3612326052677229148">"Buraya kopyalayın:"</string> - <string name="menu_move" msgid="1828090633118079817">"Köçürün…"</string> + <string name="menu_move" msgid="1828090633118079817">"Daşıyın..."</string> <string name="menu_new_window" msgid="1226032889278727538">"Yeni pəncərə"</string> <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Kopyalayın"</string> <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Yerləşdirin"</string> @@ -58,8 +58,8 @@ <string name="root_type_service" msgid="2178854894416775409">"Saxlama xidmətləri"</string> <string name="root_type_shortcut" msgid="3318760609471618093">"Qısa yollar"</string> <string name="root_type_device" msgid="7121342474653483538">"Cihazlar"</string> - <string name="root_type_apps" msgid="8838065367985945189">"Daha çox tətbiq"</string> - <string name="empty" msgid="7858882803708117596">"Element yoxdur"</string> + <string name="root_type_apps" msgid="8838065367985945189">"Digər tətbiqlər"</string> + <string name="empty" msgid="7858882803708117596">"Heç nə yoxdur"</string> <string name="no_results" msgid="6622510343880730446">"%1$s ilə heç bir uyğunluq yoxdur"</string> <string name="toast_no_application" msgid="4632640357724698144">"Fayl açılmır"</string> <string name="toast_failed_delete" msgid="2180678019407244069">"Bəzi sənədləri silə bilmir"</string> diff --git a/packages/DocumentsUI/res/values-gu-rIN/strings.xml b/packages/DocumentsUI/res/values-gu-rIN/strings.xml index d053123c3ca7..4d87d9705c93 100644 --- a/packages/DocumentsUI/res/values-gu-rIN/strings.xml +++ b/packages/DocumentsUI/res/values-gu-rIN/strings.xml @@ -58,7 +58,7 @@ <string name="root_type_service" msgid="2178854894416775409">"સંગ્રહ સેવાઓ"</string> <string name="root_type_shortcut" msgid="3318760609471618093">"શોર્ટકટ્સ"</string> <string name="root_type_device" msgid="7121342474653483538">"ઉપકરણો"</string> - <string name="root_type_apps" msgid="8838065367985945189">"વધુ એપ્લિકેશનો"</string> + <string name="root_type_apps" msgid="8838065367985945189">"વધુ ઍપ્લિકેશનો"</string> <string name="empty" msgid="7858882803708117596">"કોઈ આઇટમ્સ નથી"</string> <string name="no_results" msgid="6622510343880730446">"%1$s માં કોઇ મેળ નથી"</string> <string name="toast_no_application" msgid="4632640357724698144">"ફાઇલ ખોલી શકતાં નથી"</string> diff --git a/packages/DocumentsUI/res/values-ky-rKG/strings.xml b/packages/DocumentsUI/res/values-ky-rKG/strings.xml index ac061328d8ba..db8b04c7b6a2 100644 --- a/packages/DocumentsUI/res/values-ky-rKG/strings.xml +++ b/packages/DocumentsUI/res/values-ky-rKG/strings.xml @@ -29,7 +29,7 @@ <string name="menu_open" msgid="432922957274920903">"Ачуу"</string> <string name="menu_save" msgid="2394743337684426338">"Сактоо"</string> <string name="menu_share" msgid="3075149983979628146">"Бөлүшүү"</string> - <string name="menu_delete" msgid="8138799623850614177">"Өчүрүү"</string> + <string name="menu_delete" msgid="8138799623850614177">"Жок кылуу"</string> <string name="menu_select_all" msgid="8323579667348729928">"Бардыгын тандоо"</string> <string name="menu_copy" msgid="3612326052677229148">"Төмөнкүгө көчүрүү…"</string> <string name="menu_move" msgid="1828090633118079817">"Төмөнкүгө жылдыруу..."</string> diff --git a/packages/DocumentsUI/res/values-mk-rMK/strings.xml b/packages/DocumentsUI/res/values-mk-rMK/strings.xml index 45232fb04d5f..14633dfaac7e 100644 --- a/packages/DocumentsUI/res/values-mk-rMK/strings.xml +++ b/packages/DocumentsUI/res/values-mk-rMK/strings.xml @@ -38,8 +38,8 @@ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Залепи"</string> <string name="menu_advanced_show" msgid="4693652895715631401">"Прикажи внатрешна мемор."</string> <string name="menu_advanced_hide" msgid="4218809952721972589">"Скриј внатрешна меморија"</string> - <string name="menu_file_size_show" msgid="3240323619260823076">"Прикажи целосна големина"</string> - <string name="menu_file_size_hide" msgid="8881975928502581042">"Сокриј целосна големина"</string> + <string name="menu_file_size_show" msgid="3240323619260823076">"Прикажи ја големината"</string> + <string name="menu_file_size_hide" msgid="8881975928502581042">"Сокриј ја големината"</string> <string name="button_select" msgid="527196987259139214">"Избери"</string> <string name="button_copy" msgid="8706475544635021302">"Копирај"</string> <string name="button_move" msgid="2202666023104202232">"Премести"</string> diff --git a/packages/DocumentsUI/res/values-pa-rIN/strings.xml b/packages/DocumentsUI/res/values-pa-rIN/strings.xml index 71f5f5956091..866539e76c4a 100644 --- a/packages/DocumentsUI/res/values-pa-rIN/strings.xml +++ b/packages/DocumentsUI/res/values-pa-rIN/strings.xml @@ -30,9 +30,9 @@ <string name="menu_save" msgid="2394743337684426338">"ਸੁਰੱਖਿਅਤ ਕਰੋ"</string> <string name="menu_share" msgid="3075149983979628146">"ਸ਼ੇਅਰ ਕਰੋ"</string> <string name="menu_delete" msgid="8138799623850614177">"ਮਿਟਾਓ"</string> - <string name="menu_select_all" msgid="8323579667348729928">"ਸਾਰੇ ਚੁਣੋ"</string> + <string name="menu_select_all" msgid="8323579667348729928">"ਸਭ ਚੁਣੋ"</string> <string name="menu_copy" msgid="3612326052677229148">"ਇਸ ਵਿੱਚ ਕਾਪੀ ਕਰੋ…"</string> - <string name="menu_move" msgid="1828090633118079817">"ਇਸ ਵਿੱਚ ਮੂਵ ਕਰੋ..."</string> + <string name="menu_move" msgid="1828090633118079817">"ਇਸ ਵਿੱਚ ਤਬਦੀਲ ਕਰੋ..."</string> <string name="menu_new_window" msgid="1226032889278727538">"ਨਵੀਂ ਵਿੰਡੋ"</string> <string name="menu_copy_to_clipboard" msgid="489311381979634291">"ਕਾਪੀ ਕਰੋ"</string> <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"ਪੇਸਟ ਕਰੋ"</string> @@ -46,7 +46,7 @@ <string name="button_dismiss" msgid="3714065566893946085">"ਬਰਖਾਸਤ ਕਰੋ"</string> <string name="button_retry" msgid="4392027584153752797">"ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ"</string> <string name="sort_name" msgid="9183560467917256779">"ਨਾਮ ਮੁਤਾਬਕ"</string> - <string name="sort_date" msgid="586080032956151448">"ਤਾਰੀਖ ਮੁਤਾਬਕ ਸੰਸ਼ੋਧਿਤ"</string> + <string name="sort_date" msgid="586080032956151448">"ਸੋਧੇ ਜਾਣ ਦੀ ਤਾਰੀਖ਼ ਮੁਤਾਬਕ"</string> <string name="sort_size" msgid="3350681319735474741">"ਆਕਾਰ ਮੁਤਾਬਕ"</string> <string name="drawer_open" msgid="4545466532430226949">"ਰੂਟਸ ਦਿਖਾਓ"</string> <string name="drawer_close" msgid="7602734368552123318">"ਰੂਟਸ ਲੁਕਾਓ"</string> diff --git a/packages/DocumentsUI/res/values-ru/strings.xml b/packages/DocumentsUI/res/values-ru/strings.xml index 2e0752e4b36b..37cf0658283d 100644 --- a/packages/DocumentsUI/res/values-ru/strings.xml +++ b/packages/DocumentsUI/res/values-ru/strings.xml @@ -32,7 +32,7 @@ <string name="menu_delete" msgid="8138799623850614177">"Удалить"</string> <string name="menu_select_all" msgid="8323579667348729928">"Выбрать все"</string> <string name="menu_copy" msgid="3612326052677229148">"Копировать в…"</string> - <string name="menu_move" msgid="1828090633118079817">"Переместить"</string> + <string name="menu_move" msgid="1828090633118079817">"Переместить в…"</string> <string name="menu_new_window" msgid="1226032889278727538">"Новое окно"</string> <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Копировать"</string> <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Вставить"</string> diff --git a/packages/DocumentsUI/res/values-tr/strings.xml b/packages/DocumentsUI/res/values-tr/strings.xml index 5814a0b3a68f..bdc598399202 100644 --- a/packages/DocumentsUI/res/values-tr/strings.xml +++ b/packages/DocumentsUI/res/values-tr/strings.xml @@ -107,7 +107,7 @@ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> dosya panoya kopyalandı.</item> </plurals> <string name="clipboard_files_cannot_paste" msgid="2878324825602325706">"Seçili dosyalar bu konuma yapıştırılamıyor."</string> - <string name="menu_rename" msgid="7678802479104285353">"Yeniden Adlandır"</string> + <string name="menu_rename" msgid="7678802479104285353">"Yeniden adlandır"</string> <string name="rename_error" msgid="4203041674883412606">"Dokümanın adı değiştirilemedi"</string> <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Bazı dosyalar dönüştürüldü"</string> <string name="open_external_dialog_request" msgid="5789329484285817629">"<xliff:g id="APPNAME"><b>^1</b></xliff:g> uygulamasına <xliff:g id="STORAGE"><i>^3</i></xliff:g> depolama alanındaki <xliff:g id="DIRECTORY"><i>^2</i></xliff:g> dizinine erişim izni verilsin mi?"</string> diff --git a/packages/DocumentsUI/res/values-uz-rUZ/strings.xml b/packages/DocumentsUI/res/values-uz-rUZ/strings.xml index e8853157af7c..68614bf63c54 100644 --- a/packages/DocumentsUI/res/values-uz-rUZ/strings.xml +++ b/packages/DocumentsUI/res/values-uz-rUZ/strings.xml @@ -17,7 +17,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="2783841764617238354">"Hujjatlar"</string> - <string name="downloads_label" msgid="959113951084633612">"Yuklanishlar"</string> + <string name="downloads_label" msgid="959113951084633612">"Yuklanmalar"</string> <string name="title_open" msgid="4353228937663917801">"Ochish"</string> <string name="title_save" msgid="2433679664882857999">"Saqlash"</string> <string name="menu_create_dir" msgid="2547620241173881754">"Yangi jild"</string> @@ -38,8 +38,8 @@ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Joylash"</string> <string name="menu_advanced_show" msgid="4693652895715631401">"Ichki xotirani ko‘rsatish"</string> <string name="menu_advanced_hide" msgid="4218809952721972589">"Ichki xotirani berkitish"</string> - <string name="menu_file_size_show" msgid="3240323619260823076">"Fayl hajmini ko‘rsatish"</string> - <string name="menu_file_size_hide" msgid="8881975928502581042">"Fayl hajmini berkitish"</string> + <string name="menu_file_size_show" msgid="3240323619260823076">"Fayllar hajmini ko‘rsatish"</string> + <string name="menu_file_size_hide" msgid="8881975928502581042">"Fayllar hajmi ko‘rsatilmasin"</string> <string name="button_select" msgid="527196987259139214">"Tanlash"</string> <string name="button_copy" msgid="8706475544635021302">"Nusxalash"</string> <string name="button_move" msgid="2202666023104202232">"Ko‘chirib o‘tkazish"</string> @@ -63,7 +63,7 @@ <string name="no_results" msgid="6622510343880730446">"%1$s jildidan topilmadi"</string> <string name="toast_no_application" msgid="4632640357724698144">"Fayl ochilmadi"</string> <string name="toast_failed_delete" msgid="2180678019407244069">"Ba’zi hujjatlar o‘chirilmadi"</string> - <string name="share_via" msgid="8966594246261344259">"Quyidagi orqali ulashish"</string> + <string name="share_via" msgid="8966594246261344259">"Baham ko‘rish"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Fayllar nusxalanmoqda"</string> <string name="move_notification_title" msgid="6193835179777284805">"Ko‘chirib o‘tkazilmoqda"</string> <string name="delete_notification_title" msgid="3329403967712437496">"Fayllar o‘chirilmoqda"</string> @@ -124,7 +124,7 @@ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ta element</item> <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> ta element</item> </plurals> - <string name="delete_filename_confirmation_message" msgid="5312817725577537488">"“<xliff:g id="NAME">%1$s</xliff:g>” fayli o‘chirib tashlansinmi?"</string> + <string name="delete_filename_confirmation_message" msgid="5312817725577537488">"“<xliff:g id="NAME">%1$s</xliff:g>” o‘chirib tashlansinmi?"</string> <string name="delete_foldername_confirmation_message" msgid="5885501832257285329">"“<xliff:g id="NAME">%1$s</xliff:g>” jildi ichidagi kontentlari bilan o‘chirib tashlansinmi?"</string> <plurals name="delete_files_confirmation_message" formatted="false" msgid="8417505791395471802"> <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ta fayl o‘chirilsinmi?</item> diff --git a/packages/InputDevices/res/values-da/strings.xml b/packages/InputDevices/res/values-da/strings.xml index 228c51a42698..08fdee5e0be3 100644 --- a/packages/InputDevices/res/values-da/strings.xml +++ b/packages/InputDevices/res/values-da/strings.xml @@ -4,7 +4,7 @@ <string name="app_label" msgid="8016145283189546017">"Inputenheder"</string> <string name="keyboard_layouts_label" msgid="6688773268302087545">"Android-tastatur"</string> <string name="keyboard_layout_english_uk_label" msgid="6664258463319999632">"Engelsk (UK)"</string> - <string name="keyboard_layout_english_us_label" msgid="8994890249649106291">"Engelsk (USA)"</string> + <string name="keyboard_layout_english_us_label" msgid="8994890249649106291">"engelsk (USA)"</string> <string name="keyboard_layout_english_us_intl" msgid="3705168594034233583">"Engelsk (USA), international stil"</string> <string name="keyboard_layout_english_us_colemak_label" msgid="4194969610343455380">"Engelsk (USA), Colemak-stil"</string> <string name="keyboard_layout_english_us_dvorak_label" msgid="793528923171145202">"Engelsk (USA), Dvorak-stil"</string> diff --git a/packages/InputDevices/res/values-pa-rIN/strings.xml b/packages/InputDevices/res/values-pa-rIN/strings.xml index 437352c7d0e1..574ce810c8b1 100644 --- a/packages/InputDevices/res/values-pa-rIN/strings.xml +++ b/packages/InputDevices/res/values-pa-rIN/strings.xml @@ -2,7 +2,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="8016145283189546017">"ਇਨਪੁਟ ਡਿਵਾਈਸਾਂ"</string> - <string name="keyboard_layouts_label" msgid="6688773268302087545">"Android ਕੀਬੋਰਡ"</string> + <string name="keyboard_layouts_label" msgid="6688773268302087545">"Android ਕੀ-ਬੋਰਡ"</string> <string name="keyboard_layout_english_uk_label" msgid="6664258463319999632">"ਅੰਗ੍ਰੇਜ਼ੀ (ਯੂਕੇ)"</string> <string name="keyboard_layout_english_us_label" msgid="8994890249649106291">"ਅੰਗ੍ਰੇਜੀ (ਅਮ੍ਰੀਕਾ)"</string> <string name="keyboard_layout_english_us_intl" msgid="3705168594034233583">"ਅੰਗ੍ਰੇਜ਼ੀ (ਅਮਰੀਕਾ), ਅੰਤਰਰਾਸ਼ਟਰੀ ਸਟਾਈਲ"</string> diff --git a/packages/InputDevices/res/values-tl/strings.xml b/packages/InputDevices/res/values-tl/strings.xml index 4bd857d6c47f..0c3f1ff8864d 100644 --- a/packages/InputDevices/res/values-tl/strings.xml +++ b/packages/InputDevices/res/values-tl/strings.xml @@ -3,11 +3,11 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="8016145283189546017">"Mga Input Device"</string> <string name="keyboard_layouts_label" msgid="6688773268302087545">"Android keyboard"</string> - <string name="keyboard_layout_english_uk_label" msgid="6664258463319999632">"Ingles (UK)"</string> - <string name="keyboard_layout_english_us_label" msgid="8994890249649106291">"Ingles (US)"</string> - <string name="keyboard_layout_english_us_intl" msgid="3705168594034233583">"Ingles (US), istilong International"</string> - <string name="keyboard_layout_english_us_colemak_label" msgid="4194969610343455380">"Ingles (US), istilong Colemak"</string> - <string name="keyboard_layout_english_us_dvorak_label" msgid="793528923171145202">"Ingles (US), istilong Dvorak"</string> + <string name="keyboard_layout_english_uk_label" msgid="6664258463319999632">"English (UK)"</string> + <string name="keyboard_layout_english_us_label" msgid="8994890249649106291">"English (US)"</string> + <string name="keyboard_layout_english_us_intl" msgid="3705168594034233583">"English (US), istilong International"</string> + <string name="keyboard_layout_english_us_colemak_label" msgid="4194969610343455380">"English (US), istilong Colemak"</string> + <string name="keyboard_layout_english_us_dvorak_label" msgid="793528923171145202">"English (US), istilong Dvorak"</string> <string name="keyboard_layout_english_us_workman_label" msgid="2944541595262173111">"English (US), Workman style"</string> <string name="keyboard_layout_german_label" msgid="8451565865467909999">"German"</string> <string name="keyboard_layout_french_label" msgid="813450119589383723">"French"</string> diff --git a/packages/Keyguard/res/values-az-rAZ/strings.xml b/packages/Keyguard/res/values-az-rAZ/strings.xml index a7cea196685c..a8a115534b79 100644 --- a/packages/Keyguard/res/values-az-rAZ/strings.xml +++ b/packages/Keyguard/res/values-az-rAZ/strings.xml @@ -110,13 +110,13 @@ <string name="keyguard_carrier_default" msgid="8700650403054042153">"Xidmət yoxdur."</string> <string name="accessibility_ime_switch_button" msgid="2829803408288433429">"Daxiletmə metoduna keçin"</string> <string name="airplane_mode" msgid="3122107900897202805">"Təyyarə rejimi"</string> - <string name="kg_prompt_reason_restart_pattern" msgid="5519822969283306009">"Cihaz yeniden başladıqdan sonra qəlib kod tələb olunur"</string> + <string name="kg_prompt_reason_restart_pattern" msgid="5519822969283306009">"Cihaz söndürülüb yandırılandan sonra qrafik açar tələb olunur"</string> <string name="kg_prompt_reason_restart_pin" msgid="4411398237158448198">"Cihaz yeniden başladıqdan sonra PIN tələb olunur"</string> <string name="kg_prompt_reason_restart_password" msgid="6504585392626524695">"Cihaz yeniden başladıqdan sonra parol tələb olunur"</string> - <string name="kg_prompt_reason_timeout_pattern" msgid="3717506169674397620">"Əlavə təhlükəsizlik üçün qəlib tələb olunur"</string> + <string name="kg_prompt_reason_timeout_pattern" msgid="3717506169674397620">"Əlavə güvənlik üçün qrafik açar gərəkdir"</string> <string name="kg_prompt_reason_timeout_pin" msgid="6951483704195396341">"Əlavə təhlükəsizlik üçün PIN tələb olunur"</string> <string name="kg_prompt_reason_timeout_password" msgid="7306667546971345027">"Əlavə təhlükəsizlik üçün parol tələb olunur"</string> - <string name="kg_prompt_reason_switch_profiles_pattern" msgid="8476293962695171574">"Profillər arasında keçid edərkən qəlib kod tələb olunur"</string> + <string name="kg_prompt_reason_switch_profiles_pattern" msgid="8476293962695171574">"Profillər arasında keçid edərkən qrafik açar tələb olunur"</string> <string name="kg_prompt_reason_switch_profiles_pin" msgid="2343607138520460043">"Profillər arasında keçid edərkən PIN kod tələb olunur"</string> <string name="kg_prompt_reason_switch_profiles_password" msgid="1295960907951965927">"Profillər arasında keçid edərkən parol tələb olunur"</string> <string name="kg_prompt_reason_device_admin" msgid="5838877342219587193">"Cihaz administratoru cihazı kilidlədi"</string> diff --git a/packages/Keyguard/res/values-be-rBY/strings.xml b/packages/Keyguard/res/values-be-rBY/strings.xml index 8002f564ff91..ca6a4764406d 100644 --- a/packages/Keyguard/res/values-be-rBY/strings.xml +++ b/packages/Keyguard/res/values-be-rBY/strings.xml @@ -58,7 +58,7 @@ <string name="keyboardview_keycode_delete" msgid="3337914833206635744">"Выдаліць"</string> <string name="keyboardview_keycode_enter" msgid="2985864015076059467">"Enter"</string> <string name="kg_forgot_pattern_button_text" msgid="8852021467868220608">"Забылі ключ"</string> - <string name="kg_wrong_pattern" msgid="1850806070801358830">"Няправільна ключ"</string> + <string name="kg_wrong_pattern" msgid="1850806070801358830">"Няправільны ўзор"</string> <string name="kg_wrong_password" msgid="2333281762128113157">"Няправiльны пароль"</string> <string name="kg_wrong_pin" msgid="1131306510833563801">"Няправільны PIN-код"</string> <string name="kg_too_many_failed_attempts_countdown" msgid="6358110221603297548">"Паўтарыце спробу праз <xliff:g id="NUMBER">%d</xliff:g> с."</string> diff --git a/packages/Keyguard/res/values-bn-rBD/strings.xml b/packages/Keyguard/res/values-bn-rBD/strings.xml index 8d5dda0a07fa..7a33e2101cf1 100644 --- a/packages/Keyguard/res/values-bn-rBD/strings.xml +++ b/packages/Keyguard/res/values-bn-rBD/strings.xml @@ -111,13 +111,13 @@ <string name="accessibility_ime_switch_button" msgid="2829803408288433429">"ইনপুট পদ্ধতি পাল্টান"</string> <string name="airplane_mode" msgid="3122107900897202805">"বিমান মোড"</string> <string name="kg_prompt_reason_restart_pattern" msgid="5519822969283306009">"ডিভাইস পুনরায় আরম্ভ করার পর প্যাটার্নের প্রয়োজন হবে"</string> - <string name="kg_prompt_reason_restart_pin" msgid="4411398237158448198">"ডিভাইস পুনরায় আরম্ভ করার পর PIN এর প্রয়োজন হবে"</string> + <string name="kg_prompt_reason_restart_pin" msgid="4411398237158448198">"ডিভাইস পুনরায় আরম্ভ করার পর পিন এর প্রয়োজন হবে"</string> <string name="kg_prompt_reason_restart_password" msgid="6504585392626524695">"ডিভাইস পুনরায় আরম্ভ করার পর পাসওয়ার্ডের প্রয়োজন হবে"</string> <string name="kg_prompt_reason_timeout_pattern" msgid="3717506169674397620">"অতিরিক্ত সুরক্ষার জন্য প্যাটার্ন প্রয়োজন"</string> - <string name="kg_prompt_reason_timeout_pin" msgid="6951483704195396341">"অতিরিক্ত সুরক্ষার জন্য PIN প্রয়োজন"</string> + <string name="kg_prompt_reason_timeout_pin" msgid="6951483704195396341">"অতিরিক্ত সুরক্ষার জন্য পিন প্রয়োজন"</string> <string name="kg_prompt_reason_timeout_password" msgid="7306667546971345027">"অতিরিক্ত সুরক্ষার জন্য পাসওয়ার্ড প্রয়োজন"</string> <string name="kg_prompt_reason_switch_profiles_pattern" msgid="8476293962695171574">"যখন আপনি প্রোফাইলগুলি পাল্টাবেন তখন প্যাটার্নের প্রয়োজন হবে"</string> - <string name="kg_prompt_reason_switch_profiles_pin" msgid="2343607138520460043">"যখন আপনি প্রোফাইলগুলি পাল্টাবেন তখন PIN এর প্রয়োজন হবে"</string> + <string name="kg_prompt_reason_switch_profiles_pin" msgid="2343607138520460043">"যখন আপনি প্রোফাইলগুলি পাল্টাবেন তখন পিন এর প্রয়োজন হবে"</string> <string name="kg_prompt_reason_switch_profiles_password" msgid="1295960907951965927">"যখন আপনি প্রোফাইলগুলি পাল্টাবেন তখন পাসওয়ার্ডের প্রয়োজন হবে"</string> <string name="kg_prompt_reason_device_admin" msgid="5838877342219587193">"ডিভাইস প্রশাসক ডিভাইসটিকে লক করেছেন"</string> <string name="kg_prompt_reason_user_request" msgid="500999297306031595">"ডিভাইসটিকে নিজের হাতে লক করা হয়েছে"</string> diff --git a/packages/Keyguard/res/values-es/strings.xml b/packages/Keyguard/res/values-es/strings.xml index dd79a54576ba..6061b784378f 100644 --- a/packages/Keyguard/res/values-es/strings.xml +++ b/packages/Keyguard/res/values-es/strings.xml @@ -36,7 +36,7 @@ <string name="keyguard_low_battery" msgid="8143808018719173859">"Conecta el cargador."</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="1332288268600329841">"Ve al menú para desbloquear la pantalla."</string> <string name="keyguard_network_locked_message" msgid="9169717779058037168">"Bloqueada para la red"</string> - <string name="keyguard_missing_sim_message_short" msgid="494980561304211931">"Falta la tarjeta SIM"</string> + <string name="keyguard_missing_sim_message_short" msgid="494980561304211931">"No hay tarjeta SIM"</string> <string name="keyguard_missing_sim_message" product="tablet" msgid="1445849005909260039">"No se ha insertado ninguna tarjeta SIM en el tablet."</string> <string name="keyguard_missing_sim_message" product="default" msgid="3481110395508637643">"No se ha insertado ninguna tarjeta SIM en el teléfono."</string> <string name="keyguard_missing_sim_instructions" msgid="5210891509995942250">"Inserta una tarjeta SIM."</string> diff --git a/packages/Keyguard/res/values-fr/strings.xml b/packages/Keyguard/res/values-fr/strings.xml index 33424b66294b..ecb2575d2e9a 100644 --- a/packages/Keyguard/res/values-fr/strings.xml +++ b/packages/Keyguard/res/values-fr/strings.xml @@ -32,7 +32,7 @@ <string name="keyguard_charged" msgid="3272223906073492454">"Chargé"</string> <string name="keyguard_plugged_in" msgid="9087497435553252863">"Batterie en charge…"</string> <string name="keyguard_plugged_in_charging_fast" msgid="6671162730167305479">"Rechargement rapide en cours…"</string> - <string name="keyguard_plugged_in_charging_slowly" msgid="1964714661071163229">"Rechargement lent en cours…"</string> + <string name="keyguard_plugged_in_charging_slowly" msgid="1964714661071163229">"Rechargement lent…"</string> <string name="keyguard_low_battery" msgid="8143808018719173859">"Branchez votre chargeur."</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="1332288268600329841">"Appuyez sur \"Menu\" pour déverrouiller l\'appareil."</string> <string name="keyguard_network_locked_message" msgid="9169717779058037168">"Réseau verrouillé"</string> diff --git a/packages/Keyguard/res/values-gl-rES/strings.xml b/packages/Keyguard/res/values-gl-rES/strings.xml index a508d5cfae93..382dd7bf3e13 100644 --- a/packages/Keyguard/res/values-gl-rES/strings.xml +++ b/packages/Keyguard/res/values-gl-rES/strings.xml @@ -37,7 +37,7 @@ <string name="keyguard_instructions_when_pattern_disabled" msgid="1332288268600329841">"Preme Menú para desbloquear."</string> <string name="keyguard_network_locked_message" msgid="9169717779058037168">"Bloqueada pola rede"</string> <string name="keyguard_missing_sim_message_short" msgid="494980561304211931">"Non hai ningunha tarxeta SIM"</string> - <string name="keyguard_missing_sim_message" product="tablet" msgid="1445849005909260039">"Non hai ningunha tarxeta SIM no tablet."</string> + <string name="keyguard_missing_sim_message" product="tablet" msgid="1445849005909260039">"Non hai ningunha tarxeta SIM na tableta."</string> <string name="keyguard_missing_sim_message" product="default" msgid="3481110395508637643">"Non hai ningunha tarxeta SIM no teléfono."</string> <string name="keyguard_missing_sim_instructions" msgid="5210891509995942250">"Insire unha tarxeta SIM."</string> <string name="keyguard_missing_sim_instructions_long" msgid="5968985489463870358">"Falta a tarxeta SIM ou non se pode ler. Insire unha tarxeta SIM."</string> @@ -80,19 +80,19 @@ <string name="kg_too_many_failed_pin_attempts_dialog_message" msgid="8276745642049502550">"Introduciches o PIN incorrectamente <xliff:g id="NUMBER_0">%1$d</xliff:g> veces. \n\nTéntao de novo en <xliff:g id="NUMBER_1">%2$d</xliff:g> segundos."</string> <string name="kg_too_many_failed_password_attempts_dialog_message" msgid="7813713389422226531">"Introduciches o contrasinal incorrectamente <xliff:g id="NUMBER_0">%1$d</xliff:g> veces. \n\nTéntao de novo en <xliff:g id="NUMBER_1">%2$d</xliff:g> segundos."</string> <string name="kg_too_many_failed_pattern_attempts_dialog_message" msgid="74089475965050805">"Debuxaches incorrectamente o padrón de desbloqueo <xliff:g id="NUMBER_0">%1$d</xliff:g> veces. \n\nTéntao de novo en <xliff:g id="NUMBER_1">%2$d</xliff:g> segundos."</string> - <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="8774056606869646621">"Tentaches desbloquear o tablet <xliff:g id="NUMBER_0">%1$d</xliff:g> veces de forma incorrecta. Se realizas <xliff:g id="NUMBER_1">%2$d</xliff:g> intentos incorrectos máis, restablecerase o tablet e, por conseguinte, eliminaranse todos os seus datos."</string> + <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="8774056606869646621">"Tentaches desbloquear a tableta <xliff:g id="NUMBER_0">%1$d</xliff:g> veces de forma incorrecta. Se realizas <xliff:g id="NUMBER_1">%2$d</xliff:g> intentos incorrectos máis, restablecerase a tableta e, por conseguinte, eliminaranse todos os seus datos."</string> <string name="kg_failed_attempts_almost_at_wipe" product="default" msgid="1843331751334128428">"Tentaches desbloquear o teléfono <xliff:g id="NUMBER_0">%1$d</xliff:g> veces de forma incorrecta. Se realizas <xliff:g id="NUMBER_1">%2$d</xliff:g> intentos incorrectos máis, restablecerase o teléfono e, por conseguinte, eliminaranse todos os seus datos."</string> - <string name="kg_failed_attempts_now_wiping" product="tablet" msgid="258925501999698032">"Tentaches desbloquear o tablet <xliff:g id="NUMBER">%d</xliff:g> veces de forma incorrecta. Restablecerase o tablet e, por conseguinte, eliminaranse todos os seus datos."</string> + <string name="kg_failed_attempts_now_wiping" product="tablet" msgid="258925501999698032">"Tentaches desbloquear a tableta <xliff:g id="NUMBER">%d</xliff:g> veces de forma incorrecta. Restablecerase a tableta e, por conseguinte, eliminaranse todos os seus datos."</string> <string name="kg_failed_attempts_now_wiping" product="default" msgid="7154028908459817066">"Tentaches desbloquear o teléfono <xliff:g id="NUMBER">%d</xliff:g> veces de forma incorrecta. Restablecerase o teléfono e, por conseguinte, eliminaranse todos os seus datos."</string> - <string name="kg_failed_attempts_almost_at_erase_user" product="tablet" msgid="6159955099372112688">"Tentaches desbloquear o tablet <xliff:g id="NUMBER_0">%1$d</xliff:g> veces de forma incorrecta. Se realizas <xliff:g id="NUMBER_1">%2$d</xliff:g> intentos incorrectos máis, eliminarase este usuario e, por conseguinte, todos os datos do usuario."</string> + <string name="kg_failed_attempts_almost_at_erase_user" product="tablet" msgid="6159955099372112688">"Tentaches desbloquear a tableta <xliff:g id="NUMBER_0">%1$d</xliff:g> veces de forma incorrecta. Se realizas <xliff:g id="NUMBER_1">%2$d</xliff:g> intentos incorrectos máis, eliminarase este usuario e, por conseguinte, todos os datos do usuario."</string> <string name="kg_failed_attempts_almost_at_erase_user" product="default" msgid="6945823186629369880">"Tentaches desbloquear o teléfono <xliff:g id="NUMBER_0">%1$d</xliff:g> veces de forma incorrecta. Se realizas <xliff:g id="NUMBER_1">%2$d</xliff:g> intentos incorrectos máis, eliminarase este usuario e, por conseguinte, todos os datos do usuario."</string> - <string name="kg_failed_attempts_now_erasing_user" product="tablet" msgid="3963486905355778734">"Tentaches desbloquear o tablet <xliff:g id="NUMBER">%d</xliff:g> veces de forma incorrecta. Eliminarase este usuario e, por conseguinte, todos os datos do usuario."</string> + <string name="kg_failed_attempts_now_erasing_user" product="tablet" msgid="3963486905355778734">"Tentaches desbloquear a tableta <xliff:g id="NUMBER">%d</xliff:g> veces de forma incorrecta. Eliminarase este usuario e, por conseguinte, todos os datos do usuario."</string> <string name="kg_failed_attempts_now_erasing_user" product="default" msgid="7729009752252111673">"Tentaches desbloquear o teléfono <xliff:g id="NUMBER">%d</xliff:g> veces de forma incorrecta. Eliminarase este usuario e, por conseguinte, todos os datos do usuario."</string> - <string name="kg_failed_attempts_almost_at_erase_profile" product="tablet" msgid="4621778507387853694">"Tentaches desbloquear o tablet <xliff:g id="NUMBER_0">%1$d</xliff:g> veces de forma incorrecta. Se realizas <xliff:g id="NUMBER_1">%2$d</xliff:g> intentos incorrectos máis, eliminarase o perfil de traballo e, por conseguinte, todos os datos do perfil."</string> + <string name="kg_failed_attempts_almost_at_erase_profile" product="tablet" msgid="4621778507387853694">"Tentaches desbloquear a tableta <xliff:g id="NUMBER_0">%1$d</xliff:g> veces de forma incorrecta. Se realizas <xliff:g id="NUMBER_1">%2$d</xliff:g> intentos incorrectos máis, eliminarase o perfil de traballo e, por conseguinte, todos os datos do perfil."</string> <string name="kg_failed_attempts_almost_at_erase_profile" product="default" msgid="6853071165802933545">"Tentaches desbloquear o teléfono <xliff:g id="NUMBER_0">%1$d</xliff:g> veces de forma incorrecta. Se realizas <xliff:g id="NUMBER_1">%2$d</xliff:g> intentos incorrectos máis, eliminarase o perfil de traballo e, por conseguinte, todos os datos do perfil."</string> - <string name="kg_failed_attempts_now_erasing_profile" product="tablet" msgid="4686386497449912146">"Tentaches desbloquear o tablet <xliff:g id="NUMBER">%d</xliff:g> veces de forma incorrecta. Eliminarase o perfil de traballo e, por conseguinte, todos os datos do perfil."</string> + <string name="kg_failed_attempts_now_erasing_profile" product="tablet" msgid="4686386497449912146">"Tentaches desbloquear a tableta <xliff:g id="NUMBER">%d</xliff:g> veces de forma incorrecta. Eliminarase o perfil de traballo e, por conseguinte, todos os datos do perfil."</string> <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4951507352869831265">"Tentaches desbloquear o teléfono <xliff:g id="NUMBER">%d</xliff:g> veces de forma incorrecta. Eliminarase o perfil de traballo e, por conseguinte, todos os datos do perfil."</string> - <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="3253575572118914370">"Debuxaches o padrón de desbloqueo incorrectamente <xliff:g id="NUMBER_0">%1$d</xliff:g> veces. Se realizas <xliff:g id="NUMBER_1">%2$d</xliff:g> intentos incorrectos máis, terás que desbloquear o tablet a través dunha unha conta de correo electrónico.\n\n Téntao de novo dentro de <xliff:g id="NUMBER_2">%3$d</xliff:g> segundos."</string> + <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="3253575572118914370">"Debuxaches o padrón de desbloqueo incorrectamente <xliff:g id="NUMBER_0">%1$d</xliff:g> veces. Se realizas <xliff:g id="NUMBER_1">%2$d</xliff:g> intentos incorrectos máis, terás que desbloquear a tableta a través dunha unha conta de correo electrónico.\n\n Téntao de novo dentro de <xliff:g id="NUMBER_2">%3$d</xliff:g> segundos."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="1437638152015574839">"Debuxaches o padrón de desbloqueo incorrectamente <xliff:g id="NUMBER_0">%1$d</xliff:g> veces. Se realizas <xliff:g id="NUMBER_1">%2$d</xliff:g> intentos incorrectos máis, terás que desbloquear o teléfono a través dunha conta de correo electrónico.\n\n Téntao de novo dentro de <xliff:g id="NUMBER_2">%3$d</xliff:g> segundos."</string> <string name="kg_password_wrong_pin_code_pukked" msgid="30531039455764924">"O código PIN da SIM non é correcto. Agora debes contactar co teu operador para desbloquear o dispositivo."</string> <plurals name="kg_password_wrong_pin_code" formatted="false" msgid="6721575017538162249"> diff --git a/packages/Keyguard/res/values-hu/strings.xml b/packages/Keyguard/res/values-hu/strings.xml index b4cf47184727..e54a89f42fa6 100644 --- a/packages/Keyguard/res/values-hu/strings.xml +++ b/packages/Keyguard/res/values-hu/strings.xml @@ -36,8 +36,8 @@ <string name="keyguard_low_battery" msgid="8143808018719173859">"Csatlakoztassa a töltőt."</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="1332288268600329841">"A feloldáshoz nyomja meg a Menü gombot."</string> <string name="keyguard_network_locked_message" msgid="9169717779058037168">"A hálózat lezárva"</string> - <string name="keyguard_missing_sim_message_short" msgid="494980561304211931">"Nincs SIM kártya."</string> - <string name="keyguard_missing_sim_message" product="tablet" msgid="1445849005909260039">"Nincs SIM kártya a táblagépben."</string> + <string name="keyguard_missing_sim_message_short" msgid="494980561304211931">"Nincs SIM-kártya."</string> + <string name="keyguard_missing_sim_message" product="tablet" msgid="1445849005909260039">"Nincs SIM-kártya a táblagépben."</string> <string name="keyguard_missing_sim_message" product="default" msgid="3481110395508637643">"Nincs SIM kártya a telefonban."</string> <string name="keyguard_missing_sim_instructions" msgid="5210891509995942250">"Helyezzen be egy SIM kártyát."</string> <string name="keyguard_missing_sim_instructions_long" msgid="5968985489463870358">"A SIM kártya hiányzik vagy nem olvasható. Helyezzen be egy SIM kártyát."</string> diff --git a/packages/Keyguard/res/values-hy-rAM/strings.xml b/packages/Keyguard/res/values-hy-rAM/strings.xml index aab94fe9d861..d29a4eab4ecd 100644 --- a/packages/Keyguard/res/values-hy-rAM/strings.xml +++ b/packages/Keyguard/res/values-hy-rAM/strings.xml @@ -80,9 +80,9 @@ <string name="kg_too_many_failed_pin_attempts_dialog_message" msgid="8276745642049502550">"Դուք <xliff:g id="NUMBER_0">%1$d</xliff:g> անգամ սխալ եք մուտքագրել ձեր PIN-ը: \n\nՓորձեք կրկին <xliff:g id="NUMBER_1">%2$d</xliff:g> վայրկյանից:"</string> <string name="kg_too_many_failed_password_attempts_dialog_message" msgid="7813713389422226531">"Դուք սխալ եք մուտքագրել ձեր գաղտնաբառը <xliff:g id="NUMBER_0">%1$d</xliff:g> անգամ: \n\nՓորձեք կրկին <xliff:g id="NUMBER_1">%2$d</xliff:g> վայրկյանից:"</string> <string name="kg_too_many_failed_pattern_attempts_dialog_message" msgid="74089475965050805">"Դուք <xliff:g id="NUMBER_0">%1$d</xliff:g> անգամ սխալ եք հավաքել ձեր ապակողպման սխեման: \n\nՓորձեք կրկին <xliff:g id="NUMBER_1">%2$d</xliff:g> վայրկյանից:"</string> - <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="8774056606869646621">"Դուք կատարել եք գրասալիկն ապակողպելու <xliff:g id="NUMBER_0">%1$d</xliff:g> անհաջող փորձ: Եվս <xliff:g id="NUMBER_1">%2$d</xliff:g> անհաջող փորձից հետո այս գրասալիկը կվերակայվի և բոլոր տվյալները կջնջվեն:"</string> + <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="8774056606869646621">"Դուք կատարել եք գրասալիկն ապակողպելու <xliff:g id="NUMBER_0">%1$d</xliff:g> անհաջող փորձ: Եվս <xliff:g id="NUMBER_1">%2$d</xliff:g> անհաջող փորձից հետո այս պլանշետը կվերակայվի և բոլոր տվյալները կջնջվեն:"</string> <string name="kg_failed_attempts_almost_at_wipe" product="default" msgid="1843331751334128428">"Դուք կատարել եք հեռախոսն ապակողպելու <xliff:g id="NUMBER_0">%1$d</xliff:g> անհաջող փորձ: Եվս <xliff:g id="NUMBER_1">%2$d</xliff:g> անհաջող փորձից հետո այս հեռախոսը կվերակայվի և բոլոր տվյալները կջնջվեն:"</string> - <string name="kg_failed_attempts_now_wiping" product="tablet" msgid="258925501999698032">"Դուք կատարել եք գրասալիկն ապակողպելու <xliff:g id="NUMBER">%d</xliff:g> անհաջող փորձ: Այս գրասալիկը կվերակայվի և բոլոր տվյալները կջնջվեն:"</string> + <string name="kg_failed_attempts_now_wiping" product="tablet" msgid="258925501999698032">"Դուք կատարել եք գրասալիկն ապակողպելու <xliff:g id="NUMBER">%d</xliff:g> անհաջող փորձ: Այս պլանշետը կվերակայվի և բոլոր տվյալները կջնջվեն:"</string> <string name="kg_failed_attempts_now_wiping" product="default" msgid="7154028908459817066">"Դուք կատարել եք հեռախոսն ապակողպելու <xliff:g id="NUMBER">%d</xliff:g> անհաջող փորձ: Այս հեռախոսը կվերակայվի և բոլոր տվյալները կջնջվեն:"</string> <string name="kg_failed_attempts_almost_at_erase_user" product="tablet" msgid="6159955099372112688">"Դուք կատարել եք գրասալիկն ապակողպելու <xliff:g id="NUMBER_0">%1$d</xliff:g> անհաջող փորձ: Եվս <xliff:g id="NUMBER_1">%2$d</xliff:g> անհաջող փորձից հետո այս օգտվողը կհեռացվի և օգտվողի բոլոր տվյալները կջնջվեն:"</string> <string name="kg_failed_attempts_almost_at_erase_user" product="default" msgid="6945823186629369880">"Դուք կատարել եք հեռախոսն ապակողպելու <xliff:g id="NUMBER_0">%1$d</xliff:g> անհաջող փորձ: Եվս <xliff:g id="NUMBER_1">%2$d</xliff:g> անհաջող փորձից հետո այս օգտվողը կհեռացվի և օգտվողի բոլոր տվյալները կջնջվեն:"</string> @@ -92,7 +92,7 @@ <string name="kg_failed_attempts_almost_at_erase_profile" product="default" msgid="6853071165802933545">"Դուք կատարել եք հեռախոսն ապակողպելու <xliff:g id="NUMBER_0">%1$d</xliff:g> անհաջող փորձ: Եվս <xliff:g id="NUMBER_1">%2$d</xliff:g> անհաջող փորձից հետո աշխատանքային պրոֆիլը կհեռացվի և պրոֆիլի բոլոր տվյալները կջնջվեն:"</string> <string name="kg_failed_attempts_now_erasing_profile" product="tablet" msgid="4686386497449912146">"Դուք կատարել եք գրասալիկն ապակողպելու <xliff:g id="NUMBER">%d</xliff:g> անհաջող փորձ: Աշխատանքային պրոֆիլը կհեռացվի և պրոֆիլի բոլոր տվյալները կջնջվեն:"</string> <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4951507352869831265">"Դուք կատարել եք հեռախոսն ապակողպելու <xliff:g id="NUMBER">%d</xliff:g> անհաջող փորձ: Աշխատանքային պրոֆիլը կհեռացվի և պրոֆիլի բոլոր տվյալները կջնջվեն:"</string> - <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="3253575572118914370">"Դուք սխալ եք հավաքել ձեր ապակողպման սխեման <xliff:g id="NUMBER_0">%1$d</xliff:g> անգամ: Եվս <xliff:g id="NUMBER_1">%2$d</xliff:g> անհաջող փորձից հետո ձեզանից կպահանջվի ապակողպել ձեր գրասալիկը` օգտագործելով էլփոստի հաշիվ:\n\n Փորձեք կրկին <xliff:g id="NUMBER_2">%3$d</xliff:g> վայրկյանից:"</string> + <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="3253575572118914370">"Դուք սխալ եք հավաքել ձեր ապակողպման սխեման <xliff:g id="NUMBER_0">%1$d</xliff:g> անգամ: Եվս <xliff:g id="NUMBER_1">%2$d</xliff:g> անհաջող փորձից հետո ձեզանից կպահանջվի ապակողպել ձեր պլանշետը` օգտագործելով էլփոստի հաշիվ:\n\n Փորձեք կրկին <xliff:g id="NUMBER_2">%3$d</xliff:g> վայրկյանից:"</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="1437638152015574839">"Դուք <xliff:g id="NUMBER_0">%1$d</xliff:g> անգամ սխալ եք հավաքել ձեր ապակողպման նմուշը: <xliff:g id="NUMBER_1">%2$d</xliff:g> անգամից ավել անհաջող փորձերից հետո ձեզ կառաջարկվի ապակողպել ձեր հեռախոսը` օգտագործելով էլփոստի հաշիվ:\n\n Փորձեք կրկին <xliff:g id="NUMBER_2">%3$d</xliff:g> վայրկյանից:"</string> <string name="kg_password_wrong_pin_code_pukked" msgid="30531039455764924">"Սխալ SIM PIN կոդի պատճառով պետք է դիմեք ձեր օպերատորին՝ սարքն արգելաբացելու համար:"</string> <plurals name="kg_password_wrong_pin_code" formatted="false" msgid="6721575017538162249"> diff --git a/packages/Keyguard/res/values-ky-rKG/strings.xml b/packages/Keyguard/res/values-ky-rKG/strings.xml index a0075a98b63c..d42b1fab3a01 100644 --- a/packages/Keyguard/res/values-ky-rKG/strings.xml +++ b/packages/Keyguard/res/values-ky-rKG/strings.xml @@ -58,7 +58,7 @@ <string name="keyboardview_keycode_delete" msgid="3337914833206635744">"Жок кылуу"</string> <string name="keyboardview_keycode_enter" msgid="2985864015076059467">"Кирүү"</string> <string name="kg_forgot_pattern_button_text" msgid="8852021467868220608">"Үлгү унутулду"</string> - <string name="kg_wrong_pattern" msgid="1850806070801358830">"Үлгү туура эмес"</string> + <string name="kg_wrong_pattern" msgid="1850806070801358830">"Графикалык ачкыч туура эмес"</string> <string name="kg_wrong_password" msgid="2333281762128113157">"Сырсөз туура эмес"</string> <string name="kg_wrong_pin" msgid="1131306510833563801">"PIN-код туура эмес"</string> <string name="kg_too_many_failed_attempts_countdown" msgid="6358110221603297548">"<xliff:g id="NUMBER">%d</xliff:g> секундадан кийин кайталаңыз."</string> @@ -119,7 +119,7 @@ <string name="kg_prompt_reason_switch_profiles_pattern" msgid="8476293962695171574">"Профилдерди которуштурганда графикалык ачкыч талап кылынат"</string> <string name="kg_prompt_reason_switch_profiles_pin" msgid="2343607138520460043">"Профилдерди которуштурганда PIN код талап кылынат"</string> <string name="kg_prompt_reason_switch_profiles_password" msgid="1295960907951965927">"Профилдерди которуштурганда сырсөз талап кылынат"</string> - <string name="kg_prompt_reason_device_admin" msgid="5838877342219587193">"Түзмөктүн администратору түзмөктү кулпулап койду"</string> + <string name="kg_prompt_reason_device_admin" msgid="5838877342219587193">"Түзмөк башкаргычы түзмөктү кулпулап койду"</string> <string name="kg_prompt_reason_user_request" msgid="500999297306031595">"Түзмөк кол менен кулпуланды"</string> <plurals name="kg_prompt_reason_time_pattern" formatted="false" msgid="2697444392228541853"> <item quantity="other">Түзмөктүн кулпусу <xliff:g id="NUMBER_1">%d</xliff:g> саат бою ачылган жок. Cүрөт үлгүсүн ырастаңыз.</item> diff --git a/packages/Keyguard/res/values-mk-rMK/strings.xml b/packages/Keyguard/res/values-mk-rMK/strings.xml index 5401d4880f2d..a6ee92106768 100644 --- a/packages/Keyguard/res/values-mk-rMK/strings.xml +++ b/packages/Keyguard/res/values-mk-rMK/strings.xml @@ -21,14 +21,14 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_name" msgid="719438068451601849">"Keyguard"</string> - <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Впишете ПИН-код"</string> - <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Внеси ПУК и нов ПИН код за СИМ картичката"</string> + <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Впишете PIN-код"</string> + <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Внеси ПУК и нов PIN код за СИМ картичката"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"ПУК код за СИМ картичка"</string> - <string name="keyguard_password_enter_pin_prompt" msgid="3201151840570492538">"Нов ПИН код за СИМ картичка"</string> + <string name="keyguard_password_enter_pin_prompt" msgid="3201151840570492538">"Нов PIN код за СИМ картичка"</string> <string name="keyguard_password_entry_touch_hint" msgid="7858547464982981384"><font size="17">"Допрете за да впишете лозинка"</font></string> <string name="keyguard_password_enter_password_code" msgid="1054721668279049780">"Впишете ја лозинката за да се отклучи"</string> - <string name="keyguard_password_enter_pin_password_code" msgid="6391755146112503443">"Впишете ПИН за да се отклучи"</string> - <string name="keyguard_password_wrong_pin_code" msgid="2422225591006134936">"Погрешен ПИН код."</string> + <string name="keyguard_password_enter_pin_password_code" msgid="6391755146112503443">"Впишете PIN за да се отклучи"</string> + <string name="keyguard_password_wrong_pin_code" msgid="2422225591006134936">"Погрешен PIN код."</string> <string name="keyguard_charged" msgid="3272223906073492454">"Наполнета"</string> <string name="keyguard_plugged_in" msgid="9087497435553252863">"Се полни"</string> <string name="keyguard_plugged_in_charging_fast" msgid="6671162730167305479">"Брзо полнење"</string> @@ -51,8 +51,8 @@ <string name="keyguard_accessibility_password_unlock" msgid="7675777623912155089">"Отклучување со лозинка."</string> <string name="keyguard_accessibility_pattern_area" msgid="7679891324509597904">"Област за шема."</string> <string name="keyguard_accessibility_slide_area" msgid="6736064494019979544">"Област за лизгање."</string> - <string name="keyguard_accessibility_pin_area" msgid="7903959476607833485">"Поле за ПИН"</string> - <string name="keyguard_accessibility_sim_pin_area" msgid="3887780775111719336">"Поле за ПИН на СИМ"</string> + <string name="keyguard_accessibility_pin_area" msgid="7903959476607833485">"Поле за PIN"</string> + <string name="keyguard_accessibility_sim_pin_area" msgid="3887780775111719336">"Поле за PIN на СИМ"</string> <string name="keyguard_accessibility_sim_puk_area" msgid="1880823406954996207">"Поле за ПУК на СИМ"</string> <string name="keyguard_accessibility_next_alarm" msgid="7269583073750518672">"Следниот аларм е поставен за <xliff:g id="ALARM">%1$s</xliff:g>"</string> <string name="keyboardview_keycode_delete" msgid="3337914833206635744">"Копче „Избриши“"</string> @@ -60,24 +60,24 @@ <string name="kg_forgot_pattern_button_text" msgid="8852021467868220608">"Заборавив шема"</string> <string name="kg_wrong_pattern" msgid="1850806070801358830">"Погрешна шема"</string> <string name="kg_wrong_password" msgid="2333281762128113157">"Погрешна лозинка"</string> - <string name="kg_wrong_pin" msgid="1131306510833563801">"Погрешен ПИН"</string> + <string name="kg_wrong_pin" msgid="1131306510833563801">"Погрешен PIN"</string> <string name="kg_too_many_failed_attempts_countdown" msgid="6358110221603297548">"Обидете се повторно за <xliff:g id="NUMBER">%d</xliff:g> секунди."</string> <string name="kg_pattern_instructions" msgid="398978611683075868">"Употреби ја својата шема"</string> - <string name="kg_sim_pin_instructions" msgid="2319508550934557331">"Внеси ПИН на СИМ картичка"</string> - <string name="kg_sim_pin_instructions_multi" msgid="7818515973197201434">"Внесете ПИН на СИМ за „<xliff:g id="CARRIER">%1$s</xliff:g>“"</string> - <string name="kg_pin_instructions" msgid="2377242233495111557">"Внеси ПИН"</string> + <string name="kg_sim_pin_instructions" msgid="2319508550934557331">"Внеси PIN на СИМ картичка"</string> + <string name="kg_sim_pin_instructions_multi" msgid="7818515973197201434">"Внесете PIN на СИМ за „<xliff:g id="CARRIER">%1$s</xliff:g>“"</string> + <string name="kg_pin_instructions" msgid="2377242233495111557">"Внеси PIN"</string> <string name="kg_password_instructions" msgid="5753646556186936819">"Внеси лозинка"</string> <string name="kg_puk_enter_puk_hint" msgid="453227143861735537">"СИМ картичката е сега оневозможена. Внесете ПУК код за да продолжите. Контактирајте го операторот за детали."</string> <string name="kg_puk_enter_puk_hint_multi" msgid="363822494559783025">"СИМ-картичката „<xliff:g id="CARRIER">%1$s</xliff:g>“ е сега оневозможена. Внесете ПУК за да продолжите. Контактирајте со давателот на услугата за детали."</string> - <string name="kg_puk_enter_pin_hint" msgid="7871604527429602024">"Внеси посакуван ПИН код"</string> - <string name="kg_enter_confirm_pin_hint" msgid="325676184762529976">"Потврди го саканиот ПИН код"</string> + <string name="kg_puk_enter_pin_hint" msgid="7871604527429602024">"Внеси посакуван PIN код"</string> + <string name="kg_enter_confirm_pin_hint" msgid="325676184762529976">"Потврди го саканиот PIN код"</string> <string name="kg_sim_unlock_progress_dialog_message" msgid="8950398016976865762">"СИМ картичката се отклучува..."</string> - <string name="kg_invalid_sim_pin_hint" msgid="8795159358110620001">"Внесете ПИН кој содржи 4-8 броеви."</string> + <string name="kg_invalid_sim_pin_hint" msgid="8795159358110620001">"Внесете PIN кој содржи 4-8 броеви."</string> <string name="kg_invalid_sim_puk_hint" msgid="7553388325654369575">"ПУК кодот треба да содржи 8 или повеќе броеви."</string> <string name="kg_invalid_puk" msgid="3638289409676051243">"Повторно внесете го точниот ПУК код. Повторните обиди трајно ќе ја оневозможат СИМ картичката."</string> - <string name="kg_invalid_confirm_pin_hint" product="default" msgid="7003469261464593516">"ПИН кодовите не се совпаѓаат"</string> + <string name="kg_invalid_confirm_pin_hint" product="default" msgid="7003469261464593516">"PIN кодовите не се совпаѓаат"</string> <string name="kg_login_too_many_attempts" msgid="6486842094005698475">"Премногу обиди со шема"</string> - <string name="kg_too_many_failed_pin_attempts_dialog_message" msgid="8276745642049502550">"Погрешно сте го впишале вашиот ПИН <xliff:g id="NUMBER_0">%1$d</xliff:g> пати. \n\nОбидете се повторно за <xliff:g id="NUMBER_1">%2$d</xliff:g> секунди."</string> + <string name="kg_too_many_failed_pin_attempts_dialog_message" msgid="8276745642049502550">"Погрешно сте го впишале вашиот PIN <xliff:g id="NUMBER_0">%1$d</xliff:g> пати. \n\nОбидете се повторно за <xliff:g id="NUMBER_1">%2$d</xliff:g> секунди."</string> <string name="kg_too_many_failed_password_attempts_dialog_message" msgid="7813713389422226531">"Погрешно сте ја впишале вашата лозинка <xliff:g id="NUMBER_0">%1$d</xliff:g> пати. \n\nОбидете се повторно за <xliff:g id="NUMBER_1">%2$d</xliff:g> секунди."</string> <string name="kg_too_many_failed_pattern_attempts_dialog_message" msgid="74089475965050805">"Погрешно сте ја употребиле вашата шема за отклучување <xliff:g id="NUMBER_0">%1$d</xliff:g> пати. \n\nОбидете се повторно за <xliff:g id="NUMBER_1">%2$d</xliff:g> секунди."</string> <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="8774056606869646621">"Неправилно се обидовте да го отклучите таблетот <xliff:g id="NUMBER_0">%1$d</xliff:g> пати. По уште <xliff:g id="NUMBER_1">%2$d</xliff:g> неправилни обиди, таблетот ќе се ресетира, со што ќе се избришат сите негови податоци."</string> @@ -94,30 +94,30 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4951507352869831265">"Неправилно се обидовте да го отклучите телефонот <xliff:g id="NUMBER">%d</xliff:g> пати. Работниот профил ќе се отстрани, со што ќе се избришат сите податоци на профилот."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="3253575572118914370">"Погрешно сте ја употребиле вашата шема на отклучување <xliff:g id="NUMBER_0">%1$d</xliff:g> пати. По <xliff:g id="NUMBER_1">%2$d</xliff:g> неуспешни обиди, ќе побараат од вас да го отклучите таблетот со користење сметка на е-пошта.\n\n Обидете се повторно за <xliff:g id="NUMBER_2">%3$d</xliff:g> секунди."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="1437638152015574839">"Погрешно сте ја употребиле вашата шема на отклучување <xliff:g id="NUMBER_0">%1$d</xliff:g> пати. По <xliff:g id="NUMBER_1">%2$d</xliff:g> неуспешни обиди, ќе побараат од вас да го отклучите телефонот со користење сметка на е-пошта.\n\n Обидете се повторно за <xliff:g id="NUMBER_2">%3$d</xliff:g> секунди."</string> - <string name="kg_password_wrong_pin_code_pukked" msgid="30531039455764924">"ПИН кодот за СИМ картичката е неточен. Контактирате со вашиот оператор да го отклучи уредот."</string> + <string name="kg_password_wrong_pin_code_pukked" msgid="30531039455764924">"PIN кодот за СИМ картичката е неточен. Контактирате со вашиот оператор да го отклучи уредот."</string> <plurals name="kg_password_wrong_pin_code" formatted="false" msgid="6721575017538162249"> - <item quantity="one">Погрешен ПИН-код за СИМ, ви преостанува уште <xliff:g id="NUMBER_1">%d</xliff:g> обид.</item> - <item quantity="other">Погрешен ПИН-код за СИМ, ви преостануваат уште <xliff:g id="NUMBER_1">%d</xliff:g> обиди.</item> + <item quantity="one">Погрешен PIN-код за СИМ, ви преостанува уште <xliff:g id="NUMBER_1">%d</xliff:g> обид.</item> + <item quantity="other">Погрешен PIN-код за СИМ, ви преостануваат уште <xliff:g id="NUMBER_1">%d</xliff:g> обиди.</item> </plurals> - <string name="kg_password_wrong_puk_code_dead" msgid="7077536808291316208">"СМС картичката е неупотреблива. Контактирајте со вашиот оператор."</string> + <string name="kg_password_wrong_puk_code_dead" msgid="7077536808291316208">"SMS картичката е неупотреблива. Контактирајте со вашиот оператор."</string> <plurals name="kg_password_wrong_puk_code" formatted="false" msgid="7576227366999858780"> <item quantity="one">Погрешен ПУК-код за СИМ, ви преостанува уште <xliff:g id="NUMBER_1">%d</xliff:g> обид пред СИМ-картичката да стане трајно неупотреблива.</item> <item quantity="other">Погрешен ПУК-код за СИМ, ви преостануваат уште <xliff:g id="NUMBER_1">%d</xliff:g> обиди пред СИМ-картичката да стане трајно неупотреблива.</item> </plurals> - <string name="kg_password_pin_failed" msgid="6268288093558031564">"СИМ картичката не се отклучи со ПИН кодот!"</string> + <string name="kg_password_pin_failed" msgid="6268288093558031564">"СИМ картичката не се отклучи со PIN кодот!"</string> <string name="kg_password_puk_failed" msgid="2838824369502455984">"СИМ картичката не се отклучи со ПУК кодот!"</string> <string name="kg_pin_accepted" msgid="1448241673570020097">"Кодот е прифатен!"</string> <string name="keyguard_carrier_default" msgid="8700650403054042153">"Нема услуга."</string> <string name="accessibility_ime_switch_button" msgid="2829803408288433429">"Префрли метод на внесување"</string> <string name="airplane_mode" msgid="3122107900897202805">"Режим на работа во авион"</string> <string name="kg_prompt_reason_restart_pattern" msgid="5519822969283306009">"Потребна е шема по рестартирање на уредот"</string> - <string name="kg_prompt_reason_restart_pin" msgid="4411398237158448198">"Потребен е ПИН-код по рестартирање на уредот"</string> + <string name="kg_prompt_reason_restart_pin" msgid="4411398237158448198">"Потребен е PIN-код по рестартирање на уредот"</string> <string name="kg_prompt_reason_restart_password" msgid="6504585392626524695">"Потребна е лозинка по рестартирање на уредот"</string> <string name="kg_prompt_reason_timeout_pattern" msgid="3717506169674397620">"Потребна е шема за дополнителна безбедност"</string> - <string name="kg_prompt_reason_timeout_pin" msgid="6951483704195396341">"Потребен е ПИН-код за дополнителна безбедност"</string> + <string name="kg_prompt_reason_timeout_pin" msgid="6951483704195396341">"Потребен е PIN-код за дополнителна безбедност"</string> <string name="kg_prompt_reason_timeout_password" msgid="7306667546971345027">"Потребна е лозинка за дополнителна безбедност"</string> <string name="kg_prompt_reason_switch_profiles_pattern" msgid="8476293962695171574">"Потребна е шема кога променувате профили"</string> - <string name="kg_prompt_reason_switch_profiles_pin" msgid="2343607138520460043">"Потребен е ПИН-код кога променувате профили"</string> + <string name="kg_prompt_reason_switch_profiles_pin" msgid="2343607138520460043">"Потребен е PIN-код кога променувате профили"</string> <string name="kg_prompt_reason_switch_profiles_password" msgid="1295960907951965927">"Потребна е лозинка кога променувате профили"</string> <string name="kg_prompt_reason_device_admin" msgid="5838877342219587193">"Администраторот на уредот го заклучил уредот"</string> <string name="kg_prompt_reason_user_request" msgid="500999297306031595">"Уредот е заклучен рачно"</string> @@ -126,8 +126,8 @@ <item quantity="other">Уредот не е отклучен за <xliff:g id="NUMBER_1">%d</xliff:g> часа. Потврдете ја шемата.</item> </plurals> <plurals name="kg_prompt_reason_time_pin" formatted="false" msgid="2118758475374354849"> - <item quantity="one">Уредот не е отклучен за <xliff:g id="NUMBER_1">%d</xliff:g> час. Потврдете го ПИН-кодот.</item> - <item quantity="other">Уредот не е отклучен за <xliff:g id="NUMBER_1">%d</xliff:g> часа. Потврдете го ПИН-кодот.</item> + <item quantity="one">Уредот не е отклучен за <xliff:g id="NUMBER_1">%d</xliff:g> час. Потврдете го PIN-кодот.</item> + <item quantity="other">Уредот не е отклучен за <xliff:g id="NUMBER_1">%d</xliff:g> часа. Потврдете го PIN-кодот.</item> </plurals> <plurals name="kg_prompt_reason_time_password" formatted="false" msgid="5132693663364913675"> <item quantity="one">Уредот не е отклучен за <xliff:g id="NUMBER_1">%d</xliff:g> час. Потврдете ја лозинката.</item> diff --git a/packages/Keyguard/res/values-ml-rIN/strings.xml b/packages/Keyguard/res/values-ml-rIN/strings.xml index 5eaca2e8e6d6..2e281572375c 100644 --- a/packages/Keyguard/res/values-ml-rIN/strings.xml +++ b/packages/Keyguard/res/values-ml-rIN/strings.xml @@ -36,7 +36,7 @@ <string name="keyguard_low_battery" msgid="8143808018719173859">"നിങ്ങളുടെ ചാർജ്ജർ കണക്റ്റുചെയ്യുക."</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="1332288268600329841">"അൺലോക്കുചെയ്യാൻ മെനു അമർത്തുക"</string> <string name="keyguard_network_locked_message" msgid="9169717779058037168">"നെറ്റ്വർക്ക് ലോക്കുചെയ്തു"</string> - <string name="keyguard_missing_sim_message_short" msgid="494980561304211931">"സിം കാർഡൊന്നുമില്ല"</string> + <string name="keyguard_missing_sim_message_short" msgid="494980561304211931">"സിം കാർഡില്ല"</string> <string name="keyguard_missing_sim_message" product="tablet" msgid="1445849005909260039">"ടാബ്ലെറ്റിൽ സിം കാർഡൊന്നുമില്ല."</string> <string name="keyguard_missing_sim_message" product="default" msgid="3481110395508637643">"ഫോണിൽ സിം കാർഡൊന്നുമില്ല."</string> <string name="keyguard_missing_sim_instructions" msgid="5210891509995942250">"ഒരു സിം കാർഡ് ചേർക്കുക."</string> diff --git a/packages/Keyguard/res/values-mn-rMN/strings.xml b/packages/Keyguard/res/values-mn-rMN/strings.xml index 5a64df1583b5..c43611669b4b 100644 --- a/packages/Keyguard/res/values-mn-rMN/strings.xml +++ b/packages/Keyguard/res/values-mn-rMN/strings.xml @@ -119,7 +119,7 @@ <string name="kg_prompt_reason_switch_profiles_pattern" msgid="8476293962695171574">"Профайлыг солиход зурган түгжээ оруулах шаардлагатай"</string> <string name="kg_prompt_reason_switch_profiles_pin" msgid="2343607138520460043">"Профайлыг солиход PIN оруулах шаардлагатай"</string> <string name="kg_prompt_reason_switch_profiles_password" msgid="1295960907951965927">"Профайлыг солиход нууц үг оруулах шаардлагатай"</string> - <string name="kg_prompt_reason_device_admin" msgid="5838877342219587193">"Төхөөрөмжийн администратор төхөөрөмжийг түгжсэн"</string> + <string name="kg_prompt_reason_device_admin" msgid="5838877342219587193">"Төхөөрөмжийн админ төхөөрөмжийг түгжсэн"</string> <string name="kg_prompt_reason_user_request" msgid="500999297306031595">"Төхөөрөмжийг гараар түгжсэн"</string> <plurals name="kg_prompt_reason_time_pattern" formatted="false" msgid="2697444392228541853"> <item quantity="other">Төхөөрөмжийн түгжээг <xliff:g id="NUMBER_1">%d</xliff:g> цагийн турш тайлаагүй байна. Зурган хээг баталгаажуулна уу.</item> diff --git a/packages/Keyguard/res/values-mr-rIN/strings.xml b/packages/Keyguard/res/values-mr-rIN/strings.xml index 859d99af827e..57a95be9971b 100644 --- a/packages/Keyguard/res/values-mr-rIN/strings.xml +++ b/packages/Keyguard/res/values-mr-rIN/strings.xml @@ -32,7 +32,7 @@ <string name="keyguard_charged" msgid="3272223906073492454">"चार्ज झाली"</string> <string name="keyguard_plugged_in" msgid="9087497435553252863">"चार्ज होत आहे"</string> <string name="keyguard_plugged_in_charging_fast" msgid="6671162730167305479">"द्रुतपणे चार्ज होत आहे"</string> - <string name="keyguard_plugged_in_charging_slowly" msgid="1964714661071163229">"धीमेपणे चार्ज होत आहे"</string> + <string name="keyguard_plugged_in_charging_slowly" msgid="1964714661071163229">"हळूहळू चार्ज होत आहे"</string> <string name="keyguard_low_battery" msgid="8143808018719173859">"आपले चार्जर कनेक्ट करा."</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="1332288268600329841">"अनलॉक करण्यासाठी मेनू दाबा."</string> <string name="keyguard_network_locked_message" msgid="9169717779058037168">"नेटवर्क लॉक केले"</string> @@ -80,19 +80,19 @@ <string name="kg_too_many_failed_pin_attempts_dialog_message" msgid="8276745642049502550">"आपण आपला पिन <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा अयोग्यरितीने टाइप केला आहे. \n\n <xliff:g id="NUMBER_1">%2$d</xliff:g> सेकंदांमध्ये पुन्हा प्रयत्न करा."</string> <string name="kg_too_many_failed_password_attempts_dialog_message" msgid="7813713389422226531">"आपण आपला संकेतशब्द <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा अयोग्यरितीने टाइप केला आहे. \n\n <xliff:g id="NUMBER_1">%2$d</xliff:g> सेकंदांमध्ये पुन्हा प्रयत्न करा."</string> <string name="kg_too_many_failed_pattern_attempts_dialog_message" msgid="74089475965050805">"आपण आपला अनलॉक नमुना <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा अयोग्यरितीने काढला आहे. \n\n <xliff:g id="NUMBER_1">%2$d</xliff:g> सेकंदांमध्ये पुन्हा प्रयत्न करा."</string> - <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="8774056606869646621">"आपण अनलॉक करण्याचा <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा टॅब्लेट चुकीच्या पद्धतीने प्रयत्न केला आहे. आणखी <xliff:g id="NUMBER_1">%2$d</xliff:g> अयशस्वी प्रयत्नांनंतर, हा टॅब्लेट रीसेट केला जाईल, जे त्याचा सर्व डेटा हटवेल."</string> + <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="8774056606869646621">"आपण अनलॉक करण्याचा <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा टॅबलेट चुकीच्या पद्धतीने प्रयत्न केला आहे. आणखी <xliff:g id="NUMBER_1">%2$d</xliff:g> अयशस्वी प्रयत्नांनंतर, हा टॅबलेट रीसेट केला जाईल, जे त्याचा सर्व डेटा हटवेल."</string> <string name="kg_failed_attempts_almost_at_wipe" product="default" msgid="1843331751334128428">"आपण फोन अनलॉक करण्याचा <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा चुकीच्या पद्धतीने प्रयत्न केला आहे. आणखी <xliff:g id="NUMBER_1">%2$d</xliff:g> अयशस्वी प्रयत्नांनंतर, हा फोन रीसेट केला जाईल, जे त्याचा सर्व डेटा हटवेल."</string> - <string name="kg_failed_attempts_now_wiping" product="tablet" msgid="258925501999698032">"आपण टॅब्लेट अनलॉक करण्याचा <xliff:g id="NUMBER">%d</xliff:g> वेळा चुकीच्या पद्धतीने प्रयत्न केला आहे. हा टॅब्लेट रीसेट केला जाईल, जो त्याचा सर्व डेटा हटवेल."</string> + <string name="kg_failed_attempts_now_wiping" product="tablet" msgid="258925501999698032">"आपण टॅबलेट अनलॉक करण्याचा <xliff:g id="NUMBER">%d</xliff:g> वेळा चुकीच्या पद्धतीने प्रयत्न केला आहे. हा टॅबलेट रीसेट केला जाईल, जो त्याचा सर्व डेटा हटवेल."</string> <string name="kg_failed_attempts_now_wiping" product="default" msgid="7154028908459817066">"आपण फोन अनलॉक करण्याचा <xliff:g id="NUMBER">%d</xliff:g> वेळा चुकीच्या पद्धतीने प्रयत्न केला आहे. हा फोन रीसेट केला जाईल, जे त्याचा सर्व डेटा हटवेल."</string> - <string name="kg_failed_attempts_almost_at_erase_user" product="tablet" msgid="6159955099372112688">"आपण टॅब्लेट अनलॉक करण्याचा <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा चुकीच्या पद्धतीने प्रयत्न केला आहे. आणखी <xliff:g id="NUMBER_1">%2$d</xliff:g> अयशस्वी प्रयत्नांनंतर, हा वापरकर्ता काढला जाईल, जे सर्व वापरकर्ता डेटा हटवेल."</string> + <string name="kg_failed_attempts_almost_at_erase_user" product="tablet" msgid="6159955099372112688">"आपण टॅबलेट अनलॉक करण्याचा <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा चुकीच्या पद्धतीने प्रयत्न केला आहे. आणखी <xliff:g id="NUMBER_1">%2$d</xliff:g> अयशस्वी प्रयत्नांनंतर, हा वापरकर्ता काढला जाईल, जे सर्व वापरकर्ता डेटा हटवेल."</string> <string name="kg_failed_attempts_almost_at_erase_user" product="default" msgid="6945823186629369880">"आपण फोन अनलॉक करण्याचा <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा चुकीच्या पद्धतीने प्रयत्न केला आहे. आणखी <xliff:g id="NUMBER_1">%2$d</xliff:g> अयशस्वी प्रयत्नांनंतर, हा वापरकर्ता काढला जाईल, जे सर्व वापरकर्ता डेटा हटवेल."</string> - <string name="kg_failed_attempts_now_erasing_user" product="tablet" msgid="3963486905355778734">"आपण टॅब्लेट अनलॉक करण्याचा <xliff:g id="NUMBER">%d</xliff:g> वेळा चुकीच्या पद्धतीने प्रयत्न केला आहे. हा वापरकर्ता काढला जाईल, जे सर्व वापरकर्ता डेटा हटवेल."</string> + <string name="kg_failed_attempts_now_erasing_user" product="tablet" msgid="3963486905355778734">"आपण टॅबलेट अनलॉक करण्याचा <xliff:g id="NUMBER">%d</xliff:g> वेळा चुकीच्या पद्धतीने प्रयत्न केला आहे. हा वापरकर्ता काढला जाईल, जे सर्व वापरकर्ता डेटा हटवेल."</string> <string name="kg_failed_attempts_now_erasing_user" product="default" msgid="7729009752252111673">"आपण फोन अनलॉक करण्याचा <xliff:g id="NUMBER">%d</xliff:g> वेळा चुकीच्या पद्धतीने प्रयत्न केला आहे. हा वापरकर्ता काढला जाईल, जे सर्व वापरकर्ता डेटा हटवेल."</string> - <string name="kg_failed_attempts_almost_at_erase_profile" product="tablet" msgid="4621778507387853694">"आपण टॅब्लेट अनलॉक करण्याचा <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा चुकीच्या पद्धतीने प्रयत्न केला आहे. आणखी <xliff:g id="NUMBER_1">%2$d</xliff:g> अयशस्वी प्रयत्नांनंतर, कार्य प्रोफाईल काढले जाईल, जे सर्व प्रोफाईल डेटा हटवेल."</string> + <string name="kg_failed_attempts_almost_at_erase_profile" product="tablet" msgid="4621778507387853694">"आपण टॅबलेट अनलॉक करण्याचा <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा चुकीच्या पद्धतीने प्रयत्न केला आहे. आणखी <xliff:g id="NUMBER_1">%2$d</xliff:g> अयशस्वी प्रयत्नांनंतर, कार्य प्रोफाईल काढले जाईल, जे सर्व प्रोफाईल डेटा हटवेल."</string> <string name="kg_failed_attempts_almost_at_erase_profile" product="default" msgid="6853071165802933545">"आपण फोन अनलॉक करण्याचा <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा चुकीच्या पद्धतीने प्रयत्न केला आहे. आणखी <xliff:g id="NUMBER_1">%2$d</xliff:g> अयशस्वी प्रयत्नांनंतर, कार्य प्रोफाईल काढले जाईल, जे सर्व प्रोफाईल डेटा हटवेल."</string> - <string name="kg_failed_attempts_now_erasing_profile" product="tablet" msgid="4686386497449912146">"आपण टॅब्लेट अनलॉक करण्याचा <xliff:g id="NUMBER">%d</xliff:g> वेळा चुकीच्या पद्धतीने प्रयत्न केला आहे. कार्य प्रोफाईल काढले जाईल, जे सर्व प्रोफाईल डेटा हटवेल."</string> + <string name="kg_failed_attempts_now_erasing_profile" product="tablet" msgid="4686386497449912146">"आपण टॅबलेट अनलॉक करण्याचा <xliff:g id="NUMBER">%d</xliff:g> वेळा चुकीच्या पद्धतीने प्रयत्न केला आहे. कार्य प्रोफाईल काढले जाईल, जे सर्व प्रोफाईल डेटा हटवेल."</string> <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4951507352869831265">"आपण फोन अनलॉक करण्याचा <xliff:g id="NUMBER">%d</xliff:g> वेळा चुकीच्या पद्धतीने प्रयत्न केला आहे. कार्य प्रोफाईल काढले जाईल, जे सर्व प्रोफाईल डेटा हटवेल."</string> - <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="3253575572118914370">"आपण आपला अनलॉक नमुना <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा अयोग्यपणे काढला आहे. आणखी <xliff:g id="NUMBER_1">%2$d</xliff:g> अयशस्वी प्रयत्नांनंतर, आपल्याला ईमेल खाते वापरून आपला टॅब्लेट अनलॉक करण्यास सांगितले जाईल.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> सेकंदांमध्ये पुन्हा प्रयत्न करा."</string> + <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="3253575572118914370">"आपण आपला अनलॉक नमुना <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा अयोग्यपणे काढला आहे. आणखी <xliff:g id="NUMBER_1">%2$d</xliff:g> अयशस्वी प्रयत्नांनंतर, आपल्याला ईमेल खाते वापरून आपला टॅबलेट अनलॉक करण्यास सांगितले जाईल.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> सेकंदांमध्ये पुन्हा प्रयत्न करा."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="1437638152015574839">"आपण आपला अनलॉक नमुना <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा अयोग्यपणे काढला आहे. आणखी <xliff:g id="NUMBER_1">%2$d</xliff:g> अयशस्वी प्रयत्नांनंतर, आपल्याला ईमेल खाते वापरून आपला फोन अनलॉक करण्यास सांगितले जाईल.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> सेकंदांमध्ये पुन्हा प्रयत्न करा."</string> <string name="kg_password_wrong_pin_code_pukked" msgid="30531039455764924">"सिम पिन कोड चुकीचा आहे आपण आता आपले डिव्हाइस अनलॉक करण्यासाठी आपल्या वाहकाशी संपर्क साधावा."</string> <plurals name="kg_password_wrong_pin_code" formatted="false" msgid="6721575017538162249"> diff --git a/packages/Keyguard/res/values-nl/strings.xml b/packages/Keyguard/res/values-nl/strings.xml index ab104440b51e..a33165d8e781 100644 --- a/packages/Keyguard/res/values-nl/strings.xml +++ b/packages/Keyguard/res/values-nl/strings.xml @@ -32,7 +32,7 @@ <string name="keyguard_charged" msgid="3272223906073492454">"Opgeladen"</string> <string name="keyguard_plugged_in" msgid="9087497435553252863">"Opladen"</string> <string name="keyguard_plugged_in_charging_fast" msgid="6671162730167305479">"Snel opladen"</string> - <string name="keyguard_plugged_in_charging_slowly" msgid="1964714661071163229">"Langzaam opladen"</string> + <string name="keyguard_plugged_in_charging_slowly" msgid="1964714661071163229">"Langzaam opladen…"</string> <string name="keyguard_low_battery" msgid="8143808018719173859">"Sluit de oplader aan."</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="1332288268600329841">"Druk op \'Menu\' om te ontgrendelen."</string> <string name="keyguard_network_locked_message" msgid="9169717779058037168">"Netwerk vergrendeld"</string> diff --git a/packages/Keyguard/res/values-pa-rIN/strings.xml b/packages/Keyguard/res/values-pa-rIN/strings.xml index b5af2e1cf579..8b176592dd36 100644 --- a/packages/Keyguard/res/values-pa-rIN/strings.xml +++ b/packages/Keyguard/res/values-pa-rIN/strings.xml @@ -35,14 +35,14 @@ <string name="keyguard_plugged_in_charging_slowly" msgid="1964714661071163229">"ਹੌਲੀ-ਹੌਲੀ ਚਾਰਜ ਹੋ ਰਿਹਾ ਹੈ"</string> <string name="keyguard_low_battery" msgid="8143808018719173859">"ਆਪਣਾ ਚਾਰਜਰ ਕਨੈਕਟ ਕਰੋ।"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="1332288268600329841">"ਅਨਲੌਕ ਕਰਨ ਲਈ ਮੀਨੂ ਦਬਾਓ।"</string> - <string name="keyguard_network_locked_message" msgid="9169717779058037168">"ਨੈਟਵਰਕ ਲੌਕ ਕੀਤਾ"</string> + <string name="keyguard_network_locked_message" msgid="9169717779058037168">"ਨੈੱਟਵਰਕ ਲੌਕ ਕੀਤਾ"</string> <string name="keyguard_missing_sim_message_short" msgid="494980561304211931">"ਕੋਈ SIM ਕਾਰਡ ਨਹੀਂ"</string> <string name="keyguard_missing_sim_message" product="tablet" msgid="1445849005909260039">"ਟੈਬਲੇਟ ਵਿੱਚ ਕੋਈ SIM ਕਾਰਡ ਨਹੀਂ।"</string> <string name="keyguard_missing_sim_message" product="default" msgid="3481110395508637643">"ਫੋਨ ਵਿੱਚ ਕੋਈ SIM ਕਾਰਡ ਨਹੀਂ।"</string> <string name="keyguard_missing_sim_instructions" msgid="5210891509995942250">"ਇੱਕ SIM ਕਾਰਡ ਪਾਓ।"</string> <string name="keyguard_missing_sim_instructions_long" msgid="5968985489463870358">"SIM ਕਾਰਡ ਲੁਪਤ ਹੈ ਜਾਂ ਪੜ੍ਹਨਯੋਗ ਨਹੀਂ ਹੈ। ਇੱਕ SIM ਕਾਰਡ ਪਾਓ।"</string> <string name="keyguard_permanent_disabled_sim_message_short" msgid="8340813989586622356">"ਨਾਵਰਤਣਯੋਗ SIM ਕਾਰਡ।"</string> - <string name="keyguard_permanent_disabled_sim_instructions" msgid="5892940909699723544">"ਤੁਹਾਡਾ SIM ਕਾਰਡ ਸਥਾਈ ਤੌਰ ਤੇ ਅਸਮਰੱਥ ਬਣਾਇਆ ਗਿਆ ਹੈ।\n ਦੂਜੇ SIM ਕਾਰਡ ਲਈ ਆਪਣੇ ਵਾਇਰਲੈਸ ਸੇਵਾ ਪ੍ਰਦਾਤਾ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string> + <string name="keyguard_permanent_disabled_sim_instructions" msgid="5892940909699723544">"ਤੁਹਾਡਾ SIM ਕਾਰਡ ਸਥਾਈ ਤੌਰ ਤੇ ਅਯੋਗ ਬਣਾਇਆ ਗਿਆ ਹੈ।\n ਦੂਜੇ SIM ਕਾਰਡ ਲਈ ਆਪਣੇ ਵਾਇਰਲੈਸ ਸੇਵਾ ਪ੍ਰਦਾਤਾ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string> <string name="keyguard_sim_locked_message" msgid="6875773413306380902">"SIM ਕਾਰਡ ਲੌਕ ਕੀਤਾ ਹੋਇਆ ਹੈ।"</string> <string name="keyguard_sim_puk_locked_message" msgid="3747232467471801633">"SIM ਕਾਰਡ PUK-ਲੌਕਡ ਹੈ।"</string> <string name="keyguard_sim_unlock_progress_dialog_message" msgid="7975221805033614426">"SIM ਕਾਰਡ ਅਨਲੌਕ ਕਰ ਰਿਹਾ ਹੈ…"</string> @@ -54,47 +54,47 @@ <string name="keyguard_accessibility_pin_area" msgid="7903959476607833485">"PIN ਖੇਤਰ"</string> <string name="keyguard_accessibility_sim_pin_area" msgid="3887780775111719336">"SIM PIN ਖੇਤਰ"</string> <string name="keyguard_accessibility_sim_puk_area" msgid="1880823406954996207">"SIM PUK ਖੇਤਰ"</string> - <string name="keyguard_accessibility_next_alarm" msgid="7269583073750518672">"ਅਗਲਾ ਅਲਾਰਮ <xliff:g id="ALARM">%1$s</xliff:g> ਲਈ ਸੈਟ ਕੀਤਾ"</string> + <string name="keyguard_accessibility_next_alarm" msgid="7269583073750518672">"ਅਗਲਾ ਅਲਾਰਮ <xliff:g id="ALARM">%1$s</xliff:g> ਲਈ ਸੈੱਟ ਕੀਤਾ ਗਿਆ"</string> <string name="keyboardview_keycode_delete" msgid="3337914833206635744">"ਮਿਟਾਓ"</string> - <string name="keyboardview_keycode_enter" msgid="2985864015076059467">"ਦਰਜ ਕਰੋ"</string> + <string name="keyboardview_keycode_enter" msgid="2985864015076059467">"ਦਾਖਲ ਕਰੋ"</string> <string name="kg_forgot_pattern_button_text" msgid="8852021467868220608">"ਪੈਟਰਨ ਭੁੱਲ ਗਏ"</string> <string name="kg_wrong_pattern" msgid="1850806070801358830">"ਗ਼ਲਤ ਪੈਟਰਨ"</string> <string name="kg_wrong_password" msgid="2333281762128113157">"ਗ਼ਲਤ ਪਾਸਵਰਡ"</string> <string name="kg_wrong_pin" msgid="1131306510833563801">"ਗ਼ਲਤ PIN"</string> <string name="kg_too_many_failed_attempts_countdown" msgid="6358110221603297548">"<xliff:g id="NUMBER">%d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string> <string name="kg_pattern_instructions" msgid="398978611683075868">"ਆਪਣਾ ਪੈਟਰਨ ਡ੍ਰਾ ਕਰੋ"</string> - <string name="kg_sim_pin_instructions" msgid="2319508550934557331">"SIM PIN ਦਰਜ ਕਰੋ"</string> - <string name="kg_sim_pin_instructions_multi" msgid="7818515973197201434">"\"<xliff:g id="CARRIER">%1$s</xliff:g>\" ਲਈ SIM PIN ਦਰਜ ਕਰੋ"</string> - <string name="kg_pin_instructions" msgid="2377242233495111557">"PIN ਦਰਜ ਕਰੋ"</string> - <string name="kg_password_instructions" msgid="5753646556186936819">"ਪਾਸਵਰਡ ਦਰਜ ਕਰੋ"</string> - <string name="kg_puk_enter_puk_hint" msgid="453227143861735537">"SIM ਹੁਣ ਅਸਮਰਥਿਤ ਹੈ। ਜਾਰੀ ਰੱਖਣ ਲਈ PUK ਕੋਡ ਦਰਜ ਕਰੋ। ਵੇਰਵਿਆਂ ਲਈ ਕੈਰੀਅਰ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string> - <string name="kg_puk_enter_puk_hint_multi" msgid="363822494559783025">"SIM \"<xliff:g id="CARRIER">%1$s</xliff:g>\" ਹੁਣ ਅਸਮਰਥਿਤ ਹੈ। ਜਾਰੀ ਰੱਖਣ ਲਈ PUK ਕੋਡ ਦਰਜ ਕਰੋ। ਵੇਰਵਿਆਂ ਲਈ ਕੈਰੀਅਰ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string> - <string name="kg_puk_enter_pin_hint" msgid="7871604527429602024">"ਲੁੜੀਂਦਾ PIN ਕੋਡ ਦਰਜ ਕਰੋ"</string> + <string name="kg_sim_pin_instructions" msgid="2319508550934557331">"SIM PIN ਦਾਖਲ ਕਰੋ"</string> + <string name="kg_sim_pin_instructions_multi" msgid="7818515973197201434">"\"<xliff:g id="CARRIER">%1$s</xliff:g>\" ਲਈ SIM PIN ਦਾਖਲ ਕਰੋ"</string> + <string name="kg_pin_instructions" msgid="2377242233495111557">"PIN ਦਾਖਲ ਕਰੋ"</string> + <string name="kg_password_instructions" msgid="5753646556186936819">"ਪਾਸਵਰਡ ਦਾਖਲ ਕਰੋ"</string> + <string name="kg_puk_enter_puk_hint" msgid="453227143861735537">"SIM ਹੁਣ ਅਸਮਰਥਿਤ ਹੈ। ਜਾਰੀ ਰੱਖਣ ਲਈ PUK ਕੋਡ ਦਾਖਲ ਕਰੋ। ਵੇਰਵਿਆਂ ਲਈ ਕੈਰੀਅਰ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string> + <string name="kg_puk_enter_puk_hint_multi" msgid="363822494559783025">"SIM \"<xliff:g id="CARRIER">%1$s</xliff:g>\" ਹੁਣ ਅਸਮਰਥਿਤ ਹੈ। ਜਾਰੀ ਰੱਖਣ ਲਈ PUK ਕੋਡ ਦਾਖਲ ਕਰੋ। ਵੇਰਵਿਆਂ ਲਈ ਕੈਰੀਅਰ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string> + <string name="kg_puk_enter_pin_hint" msgid="7871604527429602024">"ਲੁੜੀਂਦਾ PIN ਕੋਡ ਦਾਖਲ ਕਰੋ"</string> <string name="kg_enter_confirm_pin_hint" msgid="325676184762529976">"ਲੁੜੀਂਦੇ PIN ਕੋਡ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ"</string> <string name="kg_sim_unlock_progress_dialog_message" msgid="8950398016976865762">"SIM ਕਾਰਡ ਅਨਲੌਕ ਕਰ ਰਿਹਾ ਹੈ…"</string> <string name="kg_invalid_sim_pin_hint" msgid="8795159358110620001">"ਇੱਕ PIN ਟਾਈਪ ਕਰੋ ਜੋ 4 ਤੋਂ 8 ਨੰਬਰਾਂ ਦਾ ਹੈ।"</string> <string name="kg_invalid_sim_puk_hint" msgid="7553388325654369575">"PUK ਕੋਡ 8 ਜਾਂ ਵੱਧ ਸੰਖਿਆਵਾਂ ਦਾ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।"</string> - <string name="kg_invalid_puk" msgid="3638289409676051243">"ਲਹੀ PUK ਕੋਡ ਮੁੜ-ਦਰਜ ਕਰੋ। ਦੁਹਰਾਈਆਂ ਗਈਆਂ ਕੋਸ਼ਿਸ਼ਾਂ SIM ਨੂੰ ਸਥਾਈ ਤੌਰ ਤੇ ਅਸਮਰੱਥ ਬਣਾ ਦੇਵੇਗਾ।"</string> + <string name="kg_invalid_puk" msgid="3638289409676051243">"ਲਹੀ PUK ਕੋਡ ਮੁੜ-ਦਾਖਲ ਕਰੋ। ਦੁਹਰਾਈਆਂ ਗਈਆਂ ਕੋਸ਼ਿਸ਼ਾਂ SIM ਨੂੰ ਸਥਾਈ ਤੌਰ ਤੇ ਅਸਮਰੱਥ ਬਣਾ ਦੇਵੇਗਾ।"</string> <string name="kg_invalid_confirm_pin_hint" product="default" msgid="7003469261464593516">"PIN ਕੋਡ ਮੇਲ ਨਹੀਂ ਖਾਂਦੇ"</string> <string name="kg_login_too_many_attempts" msgid="6486842094005698475">"ਬਹੁਤ ਜ਼ਿਆਦਾ ਪੈਟਰਨ ਕੋਸ਼ਿਸ਼ਾਂ"</string> <string name="kg_too_many_failed_pin_attempts_dialog_message" msgid="8276745642049502550">"ਤੁਸੀਂ ਆਪਣਾ PIN <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟਾਈਪ ਕੀਤਾ ਹੈ। \n\n <xliff:g id="NUMBER_1">%2$d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string> <string name="kg_too_many_failed_password_attempts_dialog_message" msgid="7813713389422226531">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਆਪਣਾ ਪਾਸਵਰਡ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟਾਈਪ ਕੀਤਾ ਹੈ। \n\n <xliff:g id="NUMBER_1">%2$d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string> <string name="kg_too_many_failed_pattern_attempts_dialog_message" msgid="74089475965050805">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਆਪਣਾ ਅਨਲੌਕ ਪੈਟਰਨ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਡ੍ਰਾ ਕੀਤਾ ਹੈ। \n\n <xliff:g id="NUMBER_1">%2$d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string> - <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="8774056606869646621">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟੈਬਲੇਟ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। <xliff:g id="NUMBER_1">%2$d</xliff:g> ਹੋਰ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਇਹ ਟੈਬਲੇਟ ਰੀਸੈਟ ਕੀਤੀ ਜਾਏਗੀ, ਜੋ ਇਸਦਾ ਸਾਰਾ ਡਾਟਾ ਮਿਟਾ ਦੇਵੇਗਾ।"</string> - <string name="kg_failed_attempts_almost_at_wipe" product="default" msgid="1843331751334128428">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਫੋਨ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। <xliff:g id="NUMBER_1">%2$d</xliff:g> ਹੋਰ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਇਹ ਫੋਨ ਰੀਸੈਟ ਕੀਤਾ ਜਾਏਗਾ, ਜੋ ਇਸਦਾ ਸਾਰਾ ਡਾਟਾ ਮਿਟਾ ਦੇਵੇਗਾ।"</string> - <string name="kg_failed_attempts_now_wiping" product="tablet" msgid="258925501999698032">"ਤੁਸੀਂ <xliff:g id="NUMBER">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟੈਬਲੇਟ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਇਹ ਟੈਬਲੇਟ ਰੀਸੈਟ ਕੀਤੀ ਜਾਏਗੀ, ਜੋ ਇਸਦਾ ਸਾਰਾ ਡਾਟਾ ਮਿਟਾ ਦੇਵੇਗੀ।"</string> - <string name="kg_failed_attempts_now_wiping" product="default" msgid="7154028908459817066">"ਤੁਸੀਂ <xliff:g id="NUMBER">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਫੋਨ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਇਹ ਫੋਨ ਰੀਸੈਟ ਕੀਤਾ ਜਾਏਗਾ, ਜੋ ਇਸਦਾ ਸਾਰਾ ਡਾਟਾ ਮਿਟਾ ਦੇਵੇਗਾ।"</string> - <string name="kg_failed_attempts_almost_at_erase_user" product="tablet" msgid="6159955099372112688">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟੈਬਲੇਟ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। <xliff:g id="NUMBER_1">%2$d</xliff:g> ਹੋਰ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਇਸ ਉਪਭੋਗਤਾ ਨੂੰ ਹਟਾ ਦਿੱਤਾ ਜਾਏਗਾ, ਜੋ ਸਾਰਾ ਉਪਭੋਗਤਾ ਡਾਟਾ ਮਿਟਾ ਦੇਵੇਗਾ।"</string> - <string name="kg_failed_attempts_almost_at_erase_user" product="default" msgid="6945823186629369880">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਫੋਨ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। <xliff:g id="NUMBER_1">%2$d</xliff:g> ਹੋਰ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਇਸ ਉਪਭੋਗਤਾ ਨੂੰ ਹਟਾ ਦਿੱਤਾ ਜਾਏਗਾ, ਜੋ ਸਾਰਾ ਉਪਭੋਗਤਾ ਡਾਟਾ ਮਿਟਾ ਦੇਵੇਗਾ।"</string> - <string name="kg_failed_attempts_now_erasing_user" product="tablet" msgid="3963486905355778734">"ਤੁਸੀਂ <xliff:g id="NUMBER">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟੈਬਲੇਟ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਹਟਾ ਦਿੱਤੀ ਜਾਏਗੀ, ਜੋ ਸਾਰਾ ਪ੍ਰੋਫਾਈਲ ਡਾਟਾ ਮਿਟਾ ਦੇਵੇਗੀ।"</string> - <string name="kg_failed_attempts_now_erasing_user" product="default" msgid="7729009752252111673">"ਤੁਸੀਂ <xliff:g id="NUMBER">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਫੋਨ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਇਹ ਉਪਭੋਗਤਾ ਹਟਾ ਦਿੱਤਾ ਜਾਏਗਾ, ਜੋ ਇਸਦਾ ਸਾਰਾ ਉਪਭੋਗਤਾ ਡਾਟਾ ਮਿਟਾ ਦੇਵੇਗਾ।"</string> - <string name="kg_failed_attempts_almost_at_erase_profile" product="tablet" msgid="4621778507387853694">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟੈਬਲੇਟ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। <xliff:g id="NUMBER_1">%2$d</xliff:g> ਹੋਰ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਹਟਾ ਦਿੱਤੀ ਜਾਏਗੀ, ਜੋ ਸਾਰਾ ਪ੍ਰੋਫਾਈਲ ਡਾਟਾ ਮਿਟਾ ਦੇਵੇਗਾ।"</string> - <string name="kg_failed_attempts_almost_at_erase_profile" product="default" msgid="6853071165802933545">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਫੋਨ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। <xliff:g id="NUMBER_1">%2$d</xliff:g> ਹੋਰ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਹਟਾ ਦਿੱਤੀ ਜਾਏਗੀ, ਜੋ ਸਾਰਾ ਪ੍ਰੋਫਾਈਲ ਡਾਟਾ ਮਿਟਾ ਦੇਵੇਗਾ।"</string> - <string name="kg_failed_attempts_now_erasing_profile" product="tablet" msgid="4686386497449912146">"ਤੁਸੀਂ <xliff:g id="NUMBER">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟੈਬਲੇਟ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਹਟਾ ਦਿੱਤੀ ਜਾਏਗੀ, ਜੋ ਸਾਰਾ ਪ੍ਰੋਫਾਈਲ ਡਾਟਾ ਮਿਟਾ ਦੇਵੇਗੀ।"</string> - <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4951507352869831265">"ਤੁਸੀਂ <xliff:g id="NUMBER">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਫੋਨ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਹਟਾ ਦਿੱਤੀ ਜਾਏਗੀ, ਜੋ ਸਾਰਾ ਪ੍ਰੋਫਾਈਲ ਡਾਟਾ ਮਿਟਾ ਦੇਵੇਗੀ।"</string> + <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="8774056606869646621">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟੈਬਲੇਟ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। <xliff:g id="NUMBER_1">%2$d</xliff:g> ਹੋਰ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਇਹ ਟੈਬਲੇਟ ਰੀਸੈੱਟ ਕੀਤੀ ਜਾਏਗੀ, ਜੋ ਇਸਦਾ ਸਾਰਾ ਡੈਟਾ ਮਿਟਾ ਦੇਵੇਗਾ।"</string> + <string name="kg_failed_attempts_almost_at_wipe" product="default" msgid="1843331751334128428">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਫੋਨ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। <xliff:g id="NUMBER_1">%2$d</xliff:g> ਹੋਰ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਇਹ ਫੋਨ ਰੀਸੈੱਟ ਕੀਤਾ ਜਾਏਗਾ, ਜੋ ਇਸਦਾ ਸਾਰਾ ਡੈਟਾ ਮਿਟਾ ਦੇਵੇਗਾ।"</string> + <string name="kg_failed_attempts_now_wiping" product="tablet" msgid="258925501999698032">"ਤੁਸੀਂ <xliff:g id="NUMBER">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟੈਬਲੇਟ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਇਹ ਟੈਬਲੇਟ ਰੀਸੈੱਟ ਕੀਤੀ ਜਾਏਗੀ, ਜੋ ਇਸਦਾ ਸਾਰਾ ਡੈਟਾ ਮਿਟਾ ਦੇਵੇਗੀ।"</string> + <string name="kg_failed_attempts_now_wiping" product="default" msgid="7154028908459817066">"ਤੁਸੀਂ <xliff:g id="NUMBER">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਫੋਨ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਇਹ ਫੋਨ ਰੀਸੈੱਟ ਕੀਤਾ ਜਾਏਗਾ, ਜੋ ਇਸਦਾ ਸਾਰਾ ਡੈਟਾ ਮਿਟਾ ਦੇਵੇਗਾ।"</string> + <string name="kg_failed_attempts_almost_at_erase_user" product="tablet" msgid="6159955099372112688">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟੈਬਲੇਟ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। <xliff:g id="NUMBER_1">%2$d</xliff:g> ਹੋਰ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਇਸ ਉਪਭੋਗਤਾ ਨੂੰ ਹਟਾ ਦਿੱਤਾ ਜਾਏਗਾ, ਜੋ ਸਾਰਾ ਉਪਭੋਗਤਾ ਡੈਟਾ ਮਿਟਾ ਦੇਵੇਗਾ।"</string> + <string name="kg_failed_attempts_almost_at_erase_user" product="default" msgid="6945823186629369880">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਫੋਨ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। <xliff:g id="NUMBER_1">%2$d</xliff:g> ਹੋਰ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਇਸ ਉਪਭੋਗਤਾ ਨੂੰ ਹਟਾ ਦਿੱਤਾ ਜਾਏਗਾ, ਜੋ ਸਾਰਾ ਉਪਭੋਗਤਾ ਡੈਟਾ ਮਿਟਾ ਦੇਵੇਗਾ।"</string> + <string name="kg_failed_attempts_now_erasing_user" product="tablet" msgid="3963486905355778734">"ਤੁਸੀਂ <xliff:g id="NUMBER">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟੈਬਲੇਟ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਹਟਾ ਦਿੱਤੀ ਜਾਏਗੀ, ਜੋ ਸਾਰਾ ਪ੍ਰੋਫਾਈਲ ਡੈਟਾ ਮਿਟਾ ਦੇਵੇਗੀ।"</string> + <string name="kg_failed_attempts_now_erasing_user" product="default" msgid="7729009752252111673">"ਤੁਸੀਂ <xliff:g id="NUMBER">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਫੋਨ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਇਹ ਉਪਭੋਗਤਾ ਹਟਾ ਦਿੱਤਾ ਜਾਏਗਾ, ਜੋ ਇਸਦਾ ਸਾਰਾ ਉਪਭੋਗਤਾ ਡੈਟਾ ਮਿਟਾ ਦੇਵੇਗਾ।"</string> + <string name="kg_failed_attempts_almost_at_erase_profile" product="tablet" msgid="4621778507387853694">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟੈਬਲੇਟ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। <xliff:g id="NUMBER_1">%2$d</xliff:g> ਹੋਰ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਹਟਾ ਦਿੱਤੀ ਜਾਏਗੀ, ਜੋ ਸਾਰਾ ਪ੍ਰੋਫਾਈਲ ਡੈਟਾ ਮਿਟਾ ਦੇਵੇਗਾ।"</string> + <string name="kg_failed_attempts_almost_at_erase_profile" product="default" msgid="6853071165802933545">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਫੋਨ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। <xliff:g id="NUMBER_1">%2$d</xliff:g> ਹੋਰ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਹਟਾ ਦਿੱਤੀ ਜਾਏਗੀ, ਜੋ ਸਾਰਾ ਪ੍ਰੋਫਾਈਲ ਡੈਟਾ ਮਿਟਾ ਦੇਵੇਗਾ।"</string> + <string name="kg_failed_attempts_now_erasing_profile" product="tablet" msgid="4686386497449912146">"ਤੁਸੀਂ <xliff:g id="NUMBER">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਟੈਬਲੇਟ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਹਟਾ ਦਿੱਤੀ ਜਾਏਗੀ, ਜੋ ਸਾਰਾ ਪ੍ਰੋਫਾਈਲ ਡੈਟਾ ਮਿਟਾ ਦੇਵੇਗੀ।"</string> + <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4951507352869831265">"ਤੁਸੀਂ <xliff:g id="NUMBER">%d</xliff:g> ਵਾਰ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਫੋਨ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਹਟਾ ਦਿੱਤੀ ਜਾਏਗੀ, ਜੋ ਸਾਰਾ ਪ੍ਰੋਫਾਈਲ ਡੈਟਾ ਮਿਟਾ ਦੇਵੇਗੀ।"</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="3253575572118914370">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਆਪਣਾ ਅਨਲੌਕ ਪੈਟਰਨ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਡ੍ਰਾ ਕੀਤਾ ਹੈ। <xliff:g id="NUMBER_1">%2$d</xliff:g> ਹੋਰ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਤੁਹਾਨੂੰ ਇੱਕ ਈਮੇਲ ਖਾਤਾ ਵਰਤਦੇ ਹੋਏ ਆਪਣੀ ਟੈਬਲੇਟ ਅਨਲੌਕ ਕਰਨ ਲਈ ਕਿਹਾ ਜਾਏਗਾ।\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="1437638152015574839">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਆਪਣਾ ਅਨਲੌਕ ਪੈਟਰਨ ਗ਼ਲਤ ਢੰਗ ਨਾਲ ਡ੍ਰਾ ਕੀਤਾ ਹੈ। <xliff:g id="NUMBER_1">%2$d</xliff:g> ਹੋਰ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਤੁਹਾਨੂੰ ਇੱਕ ਈਮੇਲ ਖਾਤਾ ਵਰਤਦੇ ਹੋਏ ਆਪਣਾ ਫੋਨ ਅਨਲੌਕ ਕਰਨ ਲਈ ਕਿਹਾ ਜਾਏਗਾ।\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string> - <string name="kg_password_wrong_pin_code_pukked" msgid="30531039455764924">"ਗ਼ਲਤ SIM PIN ਕੋਡ, ਹੁਣ ਤੁਹਾਨੂੰ ਆਪਣੀ ਡਿਵਾਈਸ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਲਈ ਆਪਣੇ ਕੈਰੀਅਰ ਨੂੰ ਸੰਪਰਕ ਕਰਨਾ ਪਵੇਗਾ।"</string> + <string name="kg_password_wrong_pin_code_pukked" msgid="30531039455764924">"ਗ਼ਲਤ SIM PIN ਕੋਡ, ਹੁਣ ਤੁਹਾਨੂੰ ਆਪਣੀ ਡੀਵਾਈਸ ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਲਈ ਆਪਣੇ ਕੈਰੀਅਰ ਨੂੰ ਸੰਪਰਕ ਕਰਨਾ ਪਵੇਗਾ।"</string> <plurals name="kg_password_wrong_pin_code" formatted="false" msgid="6721575017538162249"> <item quantity="one">ਗ਼ਲਤ SIM PIN ਕੋਡ, ਤੁਹਾਡੇ ਕੋਲ <xliff:g id="NUMBER_1">%d</xliff:g> ਕੋਸ਼ਿਸ਼ਾਂ ਬਾਕੀ ਹਨ।</item> <item quantity="other">ਗ਼ਲਤ SIM PIN ਕੋਡ, ਤੁਹਾਡੇ ਕੋਲ <xliff:g id="NUMBER_1">%d</xliff:g> ਕੋਸ਼ਿਸ਼ਾਂ ਬਾਕੀ ਹਨ।</item> @@ -122,16 +122,16 @@ <string name="kg_prompt_reason_device_admin" msgid="5838877342219587193">"ਡੀਵਾਈਸ ਪ੍ਰਸ਼ਾਸਕ ਨੇ ਡੀਵਾਈਸ ਨੂੰ ਲੌਕ ਕੀਤਾ"</string> <string name="kg_prompt_reason_user_request" msgid="500999297306031595">"ਡੀਵਾਈਸ ਨੂੰ ਹੱਥੀਂ ਲੌਕ ਕੀਤਾ ਗਿਆ ਸੀ"</string> <plurals name="kg_prompt_reason_time_pattern" formatted="false" msgid="2697444392228541853"> - <item quantity="one">ਡਿਵਾਈਸ <xliff:g id="NUMBER_1">%d</xliff:g> ਘੰਟਿਆਂ ਤੋਂ ਅਨਲੌਕ ਨਹੀਂ ਕੀਤੀ ਗਈ ਹੈ। ਪੈਟਰਨ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ।</item> - <item quantity="other">ਡਿਵਾਈਸ <xliff:g id="NUMBER_1">%d</xliff:g> ਘੰਟਿਆਂ ਤੋਂ ਅਨਲੌਕ ਨਹੀਂ ਕੀਤੀ ਗਈ ਹੈ। ਪੈਟਰਨ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ।</item> + <item quantity="one">ਡੀਵਾਈਸ <xliff:g id="NUMBER_1">%d</xliff:g> ਘੰਟਿਆਂ ਤੋਂ ਅਨਲੌਕ ਨਹੀਂ ਕੀਤੀ ਗਈ ਹੈ। ਪੈਟਰਨ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ।</item> + <item quantity="other">ਡੀਵਾਈਸ <xliff:g id="NUMBER_1">%d</xliff:g> ਘੰਟਿਆਂ ਤੋਂ ਅਨਲੌਕ ਨਹੀਂ ਕੀਤੀ ਗਈ ਹੈ। ਪੈਟਰਨ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ।</item> </plurals> <plurals name="kg_prompt_reason_time_pin" formatted="false" msgid="2118758475374354849"> - <item quantity="one">ਡਿਵਾਈਸ <xliff:g id="NUMBER_1">%d</xliff:g> ਘੰਟਿਆਂ ਤੋਂ ਅਨਲੌਕ ਨਹੀਂ ਕੀਤੀ ਗਈ ਹੈ। PIN ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ।</item> - <item quantity="other">ਡਿਵਾਈਸ <xliff:g id="NUMBER_1">%d</xliff:g> ਘੰਟਿਆਂ ਤੋਂ ਅਨਲੌਕ ਨਹੀਂ ਕੀਤੀ ਗਈ ਹੈ। PIN ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ।</item> + <item quantity="one">ਡੀਵਾਈਸ <xliff:g id="NUMBER_1">%d</xliff:g> ਘੰਟਿਆਂ ਤੋਂ ਅਨਲੌਕ ਨਹੀਂ ਕੀਤੀ ਗਈ ਹੈ। PIN ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ।</item> + <item quantity="other">ਡੀਵਾਈਸ <xliff:g id="NUMBER_1">%d</xliff:g> ਘੰਟਿਆਂ ਤੋਂ ਅਨਲੌਕ ਨਹੀਂ ਕੀਤੀ ਗਈ ਹੈ। PIN ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ।</item> </plurals> <plurals name="kg_prompt_reason_time_password" formatted="false" msgid="5132693663364913675"> - <item quantity="one">ਡਿਵਾਈਸ <xliff:g id="NUMBER_1">%d</xliff:g> ਘੰਟਿਆਂ ਤੋਂ ਅਨਲੌਕ ਨਹੀਂ ਕੀਤੀ ਗਈ ਹੈ। ਪਾਸਵਰਡ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ</item> - <item quantity="other">ਡਿਵਾਈਸ <xliff:g id="NUMBER_1">%d</xliff:g> ਘੰਟਿਆਂ ਤੋਂ ਅਨਲੌਕ ਨਹੀਂ ਕੀਤੀ ਗਈ ਹੈ। ਪਾਸਵਰਡ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ</item> + <item quantity="one">ਡੀਵਾਈਸ <xliff:g id="NUMBER_1">%d</xliff:g> ਘੰਟਿਆਂ ਤੋਂ ਅਨਲੌਕ ਨਹੀਂ ਕੀਤੀ ਗਈ ਹੈ। ਪਾਸਵਰਡ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ</item> + <item quantity="other">ਡੀਵਾਈਸ <xliff:g id="NUMBER_1">%d</xliff:g> ਘੰਟਿਆਂ ਤੋਂ ਅਨਲੌਕ ਨਹੀਂ ਕੀਤੀ ਗਈ ਹੈ। ਪਾਸਵਰਡ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ</item> </plurals> <string name="fingerprint_not_recognized" msgid="2690661881608146617">"ਪਛਾਣ ਨਹੀਂ ਹੋਈ"</string> </resources> diff --git a/packages/Keyguard/res/values-ro/strings.xml b/packages/Keyguard/res/values-ro/strings.xml index bd9139dcf9e1..dbbef714ac6b 100644 --- a/packages/Keyguard/res/values-ro/strings.xml +++ b/packages/Keyguard/res/values-ro/strings.xml @@ -36,7 +36,7 @@ <string name="keyguard_low_battery" msgid="8143808018719173859">"Conectați încărcătorul."</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="1332288268600329841">"Apăsați pe Meniu pentru a debloca."</string> <string name="keyguard_network_locked_message" msgid="9169717779058037168">"Rețea blocată"</string> - <string name="keyguard_missing_sim_message_short" msgid="494980561304211931">"Niciun card SIM"</string> + <string name="keyguard_missing_sim_message_short" msgid="494980561304211931">"Fără SIM."</string> <string name="keyguard_missing_sim_message" product="tablet" msgid="1445849005909260039">"Tableta nu are card SIM."</string> <string name="keyguard_missing_sim_message" product="default" msgid="3481110395508637643">"Telefonul nu are card SIM."</string> <string name="keyguard_missing_sim_instructions" msgid="5210891509995942250">"Introduceți un card SIM."</string> diff --git a/packages/Keyguard/res/values-si-rLK/strings.xml b/packages/Keyguard/res/values-si-rLK/strings.xml index 6c40103e80cd..607e8acd51b4 100644 --- a/packages/Keyguard/res/values-si-rLK/strings.xml +++ b/packages/Keyguard/res/values-si-rLK/strings.xml @@ -36,7 +36,7 @@ <string name="keyguard_low_battery" msgid="8143808018719173859">"ඔබගේ ආරෝපකයට සම්බන්ධ කරන්න."</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="1332288268600329841">"අගුළු ඇරීමට මෙනුව ඔබන්න."</string> <string name="keyguard_network_locked_message" msgid="9169717779058037168">"ජාල අගුළු දමා ඇත"</string> - <string name="keyguard_missing_sim_message_short" msgid="494980561304211931">"SIM පත නොමැත"</string> + <string name="keyguard_missing_sim_message_short" msgid="494980561304211931">"SIM පත නැත"</string> <string name="keyguard_missing_sim_message" product="tablet" msgid="1445849005909260039">"ටැබ්ලටයේ SIM පත නොමැත."</string> <string name="keyguard_missing_sim_message" product="default" msgid="3481110395508637643">"දුරකථනය තුල SIM පතක් නැත."</string> <string name="keyguard_missing_sim_instructions" msgid="5210891509995942250">"SIM පත ඇතුල් කරන්න."</string> diff --git a/packages/Keyguard/res/values-tl/strings.xml b/packages/Keyguard/res/values-tl/strings.xml index 45547928f97a..39cad7274c39 100644 --- a/packages/Keyguard/res/values-tl/strings.xml +++ b/packages/Keyguard/res/values-tl/strings.xml @@ -42,7 +42,7 @@ <string name="keyguard_missing_sim_instructions" msgid="5210891509995942250">"Maglagay ng SIM card."</string> <string name="keyguard_missing_sim_instructions_long" msgid="5968985489463870358">"Wala o hindi nababasa ang SIM card. Maglagay ng SIM card."</string> <string name="keyguard_permanent_disabled_sim_message_short" msgid="8340813989586622356">"Hindi nagagamit na SIM card."</string> - <string name="keyguard_permanent_disabled_sim_instructions" msgid="5892940909699723544">"Ang iyong SIM card ay permanenteng hindi pinagana.\n Makipag-ugnay sa iyong wireless service provider para sa isa pang SIM card."</string> + <string name="keyguard_permanent_disabled_sim_instructions" msgid="5892940909699723544">"Ang iyong SIM card ay permanenteng naka-disable.\n Makipag-ugnay sa iyong wireless service provider para sa isa pang SIM card."</string> <string name="keyguard_sim_locked_message" msgid="6875773413306380902">"Naka-lock ang SIM card."</string> <string name="keyguard_sim_puk_locked_message" msgid="3747232467471801633">"Naka-lock ang SIM card gamit ang PUK."</string> <string name="keyguard_sim_unlock_progress_dialog_message" msgid="7975221805033614426">"Ina-unlock ang SIM card…"</string> @@ -55,7 +55,7 @@ <string name="keyguard_accessibility_sim_pin_area" msgid="3887780775111719336">"Lugar ng PIN ng SIM"</string> <string name="keyguard_accessibility_sim_puk_area" msgid="1880823406954996207">"Lugar ng PUK ng SIM"</string> <string name="keyguard_accessibility_next_alarm" msgid="7269583073750518672">"Nakatakda ang susunod na alarm para sa <xliff:g id="ALARM">%1$s</xliff:g>"</string> - <string name="keyboardview_keycode_delete" msgid="3337914833206635744">"Tanggalin"</string> + <string name="keyboardview_keycode_delete" msgid="3337914833206635744">"I-delete"</string> <string name="keyboardview_keycode_enter" msgid="2985864015076059467">"Enter"</string> <string name="kg_forgot_pattern_button_text" msgid="8852021467868220608">"Nakalimutan ang Pattern"</string> <string name="kg_wrong_pattern" msgid="1850806070801358830">"Maling Pattern"</string> diff --git a/packages/Keyguard/res/values-uz-rUZ/strings.xml b/packages/Keyguard/res/values-uz-rUZ/strings.xml index b9a2b1257e75..a353d1278370 100644 --- a/packages/Keyguard/res/values-uz-rUZ/strings.xml +++ b/packages/Keyguard/res/values-uz-rUZ/strings.xml @@ -37,8 +37,8 @@ <string name="keyguard_instructions_when_pattern_disabled" msgid="1332288268600329841">"Qulfni ochish uchun \"Menyu\"ga bosing."</string> <string name="keyguard_network_locked_message" msgid="9169717779058037168">"Tarmoq qulflangan"</string> <string name="keyguard_missing_sim_message_short" msgid="494980561304211931">"SIM karta yo‘q"</string> - <string name="keyguard_missing_sim_message" product="tablet" msgid="1445849005909260039">"Ushbu planshetda SIM karta yo‘q."</string> - <string name="keyguard_missing_sim_message" product="default" msgid="3481110395508637643">"Ushbu telefonda SIM karta yo‘q."</string> + <string name="keyguard_missing_sim_message" product="tablet" msgid="1445849005909260039">"SIM karta yo‘q."</string> + <string name="keyguard_missing_sim_message" product="default" msgid="3481110395508637643">"SIM karta yo‘q."</string> <string name="keyguard_missing_sim_instructions" msgid="5210891509995942250">"Telefonga SIM kartani joylashtiring."</string> <string name="keyguard_missing_sim_instructions_long" msgid="5968985489463870358">"SIM karta qo‘yilmagan yoki o‘qib bo‘lmayapti. SIM kartani joylashtiring."</string> <string name="keyguard_permanent_disabled_sim_message_short" msgid="8340813989586622356">"SIM kartadan foydalanib bo‘lmaydi."</string> diff --git a/packages/Keyguard/res/values-zh-rHK/strings.xml b/packages/Keyguard/res/values-zh-rHK/strings.xml index daf814a197f6..7d511540d7ec 100644 --- a/packages/Keyguard/res/values-zh-rHK/strings.xml +++ b/packages/Keyguard/res/values-zh-rHK/strings.xml @@ -32,7 +32,7 @@ <string name="keyguard_charged" msgid="3272223906073492454">"充電完成"</string> <string name="keyguard_plugged_in" msgid="9087497435553252863">"充電中"</string> <string name="keyguard_plugged_in_charging_fast" msgid="6671162730167305479">"正在快速充電"</string> - <string name="keyguard_plugged_in_charging_slowly" msgid="1964714661071163229">"正在緩慢充電"</string> + <string name="keyguard_plugged_in_charging_slowly" msgid="1964714661071163229">"正在慢速充電"</string> <string name="keyguard_low_battery" msgid="8143808018719173859">"請連接充電器。"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="1332288268600329841">"按選單鍵解鎖。"</string> <string name="keyguard_network_locked_message" msgid="9169717779058037168">"網絡已鎖定"</string> @@ -58,7 +58,7 @@ <string name="keyboardview_keycode_delete" msgid="3337914833206635744">"刪除"</string> <string name="keyboardview_keycode_enter" msgid="2985864015076059467">"Enter 鍵"</string> <string name="kg_forgot_pattern_button_text" msgid="8852021467868220608">"忘記圖案"</string> - <string name="kg_wrong_pattern" msgid="1850806070801358830">"圖案錯誤"</string> + <string name="kg_wrong_pattern" msgid="1850806070801358830">"圖形不對"</string> <string name="kg_wrong_password" msgid="2333281762128113157">"密碼錯誤"</string> <string name="kg_wrong_pin" msgid="1131306510833563801">"PIN 錯誤"</string> <string name="kg_too_many_failed_attempts_countdown" msgid="6358110221603297548">"請在 <xliff:g id="NUMBER">%d</xliff:g> 秒後再試一次。"</string> @@ -110,13 +110,13 @@ <string name="keyguard_carrier_default" msgid="8700650403054042153">"沒有服務。"</string> <string name="accessibility_ime_switch_button" msgid="2829803408288433429">"切換輸入法"</string> <string name="airplane_mode" msgid="3122107900897202805">"飛航模式"</string> - <string name="kg_prompt_reason_restart_pattern" msgid="5519822969283306009">"裝置重新啟動後,需要解除上鎖圖案才能使用"</string> + <string name="kg_prompt_reason_restart_pattern" msgid="5519822969283306009">"裝置重新啟動後,請輸入上鎖圖形"</string> <string name="kg_prompt_reason_restart_pin" msgid="4411398237158448198">"裝置重新啟動後,需要輸入 PIN 才能使用"</string> <string name="kg_prompt_reason_restart_password" msgid="6504585392626524695">"裝置重新啟動後,需要輸入密碼才能使用"</string> - <string name="kg_prompt_reason_timeout_pattern" msgid="3717506169674397620">"請先解除上鎖圖案,才能提高安全性"</string> + <string name="kg_prompt_reason_timeout_pattern" msgid="3717506169674397620">"輸入上鎖圖形以增強安全性"</string> <string name="kg_prompt_reason_timeout_pin" msgid="6951483704195396341">"請先輸入 PIN,才能提高安全性"</string> <string name="kg_prompt_reason_timeout_password" msgid="7306667546971345027">"請先輸入密碼,才能提高安全性"</string> - <string name="kg_prompt_reason_switch_profiles_pattern" msgid="8476293962695171574">"請先解除上鎖圖案,才能切換設定檔"</string> + <string name="kg_prompt_reason_switch_profiles_pattern" msgid="8476293962695171574">"切換設定檔前,請先輸入上鎖圖形"</string> <string name="kg_prompt_reason_switch_profiles_pin" msgid="2343607138520460043">"請先輸入 PIN,才能切換設定檔"</string> <string name="kg_prompt_reason_switch_profiles_password" msgid="1295960907951965927">"請先輸入密碼,才能切換設定檔"</string> <string name="kg_prompt_reason_device_admin" msgid="5838877342219587193">"裝置管理員已鎖定裝置"</string> diff --git a/packages/Keyguard/res/values-zh-rTW/strings.xml b/packages/Keyguard/res/values-zh-rTW/strings.xml index d00c69f4c0e2..50895f3da3b9 100644 --- a/packages/Keyguard/res/values-zh-rTW/strings.xml +++ b/packages/Keyguard/res/values-zh-rTW/strings.xml @@ -49,7 +49,7 @@ <string name="keyguard_accessibility_pattern_unlock" msgid="1490840706075246612">"圖案解鎖。"</string> <string name="keyguard_accessibility_pin_unlock" msgid="2469687111784035046">"PIN 解鎖。"</string> <string name="keyguard_accessibility_password_unlock" msgid="7675777623912155089">"密碼解鎖。"</string> - <string name="keyguard_accessibility_pattern_area" msgid="7679891324509597904">"圖形區域。"</string> + <string name="keyguard_accessibility_pattern_area" msgid="7679891324509597904">"圖案區域。"</string> <string name="keyguard_accessibility_slide_area" msgid="6736064494019979544">"滑動區域。"</string> <string name="keyguard_accessibility_pin_area" msgid="7903959476607833485">"PIN 區"</string> <string name="keyguard_accessibility_sim_pin_area" msgid="3887780775111719336">"SIM 卡 PIN 區"</string> @@ -57,12 +57,12 @@ <string name="keyguard_accessibility_next_alarm" msgid="7269583073750518672">"已設定下一個鬧鐘時間:<xliff:g id="ALARM">%1$s</xliff:g>"</string> <string name="keyboardview_keycode_delete" msgid="3337914833206635744">"Delete 鍵"</string> <string name="keyboardview_keycode_enter" msgid="2985864015076059467">"Enter 鍵"</string> - <string name="kg_forgot_pattern_button_text" msgid="8852021467868220608">"忘記圖形"</string> - <string name="kg_wrong_pattern" msgid="1850806070801358830">"圖形錯誤"</string> + <string name="kg_forgot_pattern_button_text" msgid="8852021467868220608">"忘記圖案"</string> + <string name="kg_wrong_pattern" msgid="1850806070801358830">"圖案錯誤"</string> <string name="kg_wrong_password" msgid="2333281762128113157">"密碼錯誤"</string> <string name="kg_wrong_pin" msgid="1131306510833563801">"PIN 錯誤"</string> <string name="kg_too_many_failed_attempts_countdown" msgid="6358110221603297548">"請在 <xliff:g id="NUMBER">%d</xliff:g> 秒後再試一次。"</string> - <string name="kg_pattern_instructions" msgid="398978611683075868">"畫出圖形"</string> + <string name="kg_pattern_instructions" msgid="398978611683075868">"畫出圖案"</string> <string name="kg_sim_pin_instructions" msgid="2319508550934557331">"輸入 SIM PIN"</string> <string name="kg_sim_pin_instructions_multi" msgid="7818515973197201434">"輸入「<xliff:g id="CARRIER">%1$s</xliff:g>」的 SIM 卡 PIN"</string> <string name="kg_pin_instructions" msgid="2377242233495111557">"輸入 PIN"</string> @@ -76,7 +76,7 @@ <string name="kg_invalid_sim_puk_hint" msgid="7553388325654369575">"PUK 碼至少必須為 8 碼。"</string> <string name="kg_invalid_puk" msgid="3638289409676051243">"重新輸入正確的 PUK 碼。如果錯誤次數過多,SIM 卡將會永久停用。"</string> <string name="kg_invalid_confirm_pin_hint" product="default" msgid="7003469261464593516">"PIN 碼不符"</string> - <string name="kg_login_too_many_attempts" msgid="6486842094005698475">"圖形嘗試次數過多"</string> + <string name="kg_login_too_many_attempts" msgid="6486842094005698475">"圖案嘗試次數過多"</string> <string name="kg_too_many_failed_pin_attempts_dialog_message" msgid="8276745642049502550">"您的 PIN 已輸錯 <xliff:g id="NUMBER_0">%1$d</xliff:g> 次。\n\n請在 <xliff:g id="NUMBER_1">%2$d</xliff:g> 秒後再試一次。"</string> <string name="kg_too_many_failed_password_attempts_dialog_message" msgid="7813713389422226531">"您的密碼已輸錯 <xliff:g id="NUMBER_0">%1$d</xliff:g> 次。\n\n請在 <xliff:g id="NUMBER_1">%2$d</xliff:g> 秒後再試一次。"</string> <string name="kg_too_many_failed_pattern_attempts_dialog_message" msgid="74089475965050805">"您的解鎖圖案已畫錯 <xliff:g id="NUMBER_0">%1$d</xliff:g> 次。\n\n請在 <xliff:g id="NUMBER_1">%2$d</xliff:g> 秒後再試一次。"</string> diff --git a/packages/PrintRecommendationService/res/values/donottranslate.xml b/packages/PrintRecommendationService/res/values/donottranslate.xml index 68effbfbdf35..86027cda405a 100644 --- a/packages/PrintRecommendationService/res/values/donottranslate.xml +++ b/packages/PrintRecommendationService/res/values/donottranslate.xml @@ -32,8 +32,15 @@ <item>Hewlett Packard</item> </string-array> + <string-array name="known_print_vendor_info_for_samsung" translatable="false"> + <item>com.sec.app.samsungprintservice</item> + <item>Samsung Electronics</item> + <item>Samsung</item> + </string-array> + <array name="known_print_plugin_vendors" translatable="false"> <item>@array/known_print_vendor_info_for_mopria</item> <item>@array/known_print_vendor_info_for_hp</item> + <item>@array/known_print_vendor_info_for_samsung</item> </array> </resources> diff --git a/packages/PrintRecommendationService/res/values/strings.xml b/packages/PrintRecommendationService/res/values/strings.xml index 97281de5b4ec..348fcace90c5 100644 --- a/packages/PrintRecommendationService/res/values/strings.xml +++ b/packages/PrintRecommendationService/res/values/strings.xml @@ -23,7 +23,7 @@ <string name="plugin_vendor_brother">Brother</string> <string name="plugin_vendor_canon">Canon</string> <string name="plugin_vendor_xerox">Xerox</string> - <string name="plugin_vendor_samsung">Samsung Electronics</string> + <string name="plugin_vendor_samsung">Samsung</string> <string name="plugin_vendor_epson">Epson</string> <string name="plugin_vendor_konica_minolta">Konica Minolta</string> <string name="plugin_vendor_fuji">Fuji</string> diff --git a/packages/PrintRecommendationService/res/xml/vendorconfigs.xml b/packages/PrintRecommendationService/res/xml/vendorconfigs.xml index b7925df07b7e..108ea66c404e 100644 --- a/packages/PrintRecommendationService/res/xml/vendorconfigs.xml +++ b/packages/PrintRecommendationService/res/xml/vendorconfigs.xml @@ -51,14 +51,6 @@ </vendor> <vendor> - <name>@string/plugin_vendor_samsung</name> - <package>com.sec.app.samsungprintservice</package> - <mdns-names> - <mdns-name>Samsung</mdns-name> - </mdns-names> - </vendor> - - <vendor> <name>@string/plugin_vendor_epson</name> <package>com.epson.mobilephone.android.epsonprintserviceplugin</package> <mdns-names> diff --git a/packages/PrintRecommendationService/src/com/android/printservice/recommendation/RecommendationServiceImpl.java b/packages/PrintRecommendationService/src/com/android/printservice/recommendation/RecommendationServiceImpl.java index 4b4b47084b82..d95654f7a247 100644 --- a/packages/PrintRecommendationService/src/com/android/printservice/recommendation/RecommendationServiceImpl.java +++ b/packages/PrintRecommendationService/src/com/android/printservice/recommendation/RecommendationServiceImpl.java @@ -25,6 +25,7 @@ import com.android.printservice.recommendation.plugin.hp.HPRecommendationPlugin; import com.android.printservice.recommendation.plugin.mdnsFilter.MDNSFilterPlugin; import com.android.printservice.recommendation.plugin.mdnsFilter.VendorConfig; import com.android.printservice.recommendation.plugin.mopria.MopriaRecommendationPlugin; +import com.android.printservice.recommendation.plugin.samsung.SamsungRecommendationPlugin; import org.xmlpull.v1.XmlPullParserException; import java.io.IOException; @@ -74,6 +75,14 @@ public class RecommendationServiceImpl extends RecommendationService " plugin", e); } + try { + mPlugins.add(new RemotePrintServicePlugin(new SamsungRecommendationPlugin(this), this, + false)); + } catch (Exception e) { + Log.e(LOG_TAG, "Could not initiate " + getString(R.string.plugin_vendor_samsung) + + " plugin", e); + } + final int numPlugins = mPlugins.size(); for (int i = 0; i < numPlugins; i++) { try { diff --git a/packages/PrintRecommendationService/src/com/android/printservice/recommendation/plugin/samsung/MDnsUtils.java b/packages/PrintRecommendationService/src/com/android/printservice/recommendation/plugin/samsung/MDnsUtils.java new file mode 100644 index 000000000000..963e09b25257 --- /dev/null +++ b/packages/PrintRecommendationService/src/com/android/printservice/recommendation/plugin/samsung/MDnsUtils.java @@ -0,0 +1,74 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.printservice.recommendation.plugin.samsung; + +import android.net.nsd.NsdServiceInfo; +import android.text.TextUtils; + +import java.nio.charset.StandardCharsets; +import java.util.Locale; +import java.util.Map; + +public class MDnsUtils { + public static final String ATTRIBUTE__TY = "ty"; + public static final String ATTRIBUTE__PRODUCT = "product"; + public static final String ATTRIBUTE__USB_MFG = "usb_MFG"; + public static final String ATTRIBUTE__MFG = "mfg"; + + public static String getString(byte[] value) { + if (value != null) return new String(value,StandardCharsets.UTF_8); + return null; + } + + public static boolean isVendorPrinter(NsdServiceInfo networkDevice, String[] vendorValues) { + + Map<String,byte[]> attributes = networkDevice.getAttributes(); + String product = getString(attributes.get(ATTRIBUTE__PRODUCT)); + String ty = getString(attributes.get(ATTRIBUTE__TY)); + String usbMfg = getString(attributes.get(ATTRIBUTE__USB_MFG)); + String mfg = getString(attributes.get(ATTRIBUTE__MFG)); + return containsVendor(product, vendorValues) || containsVendor(ty, vendorValues) || containsVendor(usbMfg, vendorValues) || containsVendor(mfg, vendorValues); + + } + + public static String getVendor(NsdServiceInfo networkDevice) { + String vendor; + + Map<String,byte[]> attributes = networkDevice.getAttributes(); + vendor = getString(attributes.get(ATTRIBUTE__MFG)); + if (!TextUtils.isEmpty(vendor)) return vendor; + vendor = getString(attributes.get(ATTRIBUTE__USB_MFG)); + if (!TextUtils.isEmpty(vendor)) return vendor; + + return null; + } + + private static boolean containsVendor(String container, String[] vendorValues) { + if ((container == null) || (vendorValues == null)) return false; + for (String value : vendorValues) { + if (containsString(container, value) + || containsString(container.toLowerCase(Locale.US), value.toLowerCase(Locale.US)) + || containsString(container.toUpperCase(Locale.US), value.toUpperCase(Locale.US))) + return true; + } + return false; + } + + private static boolean containsString(String container, String contained) { + return (container != null) && (contained != null) && (container.equalsIgnoreCase(contained) || container.contains(contained + " ")); + } +} diff --git a/packages/PrintRecommendationService/src/com/android/printservice/recommendation/plugin/samsung/PrinterHashMap.java b/packages/PrintRecommendationService/src/com/android/printservice/recommendation/plugin/samsung/PrinterHashMap.java new file mode 100644 index 000000000000..032fe22dd744 --- /dev/null +++ b/packages/PrintRecommendationService/src/com/android/printservice/recommendation/plugin/samsung/PrinterHashMap.java @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.printservice.recommendation.plugin.samsung; + +import android.net.nsd.NsdServiceInfo; + +import java.util.HashMap; + +final class PrinterHashMap extends HashMap<String, NsdServiceInfo> { + public static String getKey(NsdServiceInfo serviceInfo) { + return serviceInfo.getServiceName(); + } + public NsdServiceInfo addPrinter(NsdServiceInfo device) { + return put(getKey(device), device); + } + public NsdServiceInfo removePrinter(NsdServiceInfo device) { + return remove(getKey(device)); + } +} diff --git a/packages/PrintRecommendationService/src/com/android/printservice/recommendation/plugin/samsung/SamsungRecommendationPlugin.java b/packages/PrintRecommendationService/src/com/android/printservice/recommendation/plugin/samsung/SamsungRecommendationPlugin.java new file mode 100644 index 000000000000..e5b8a0f15f2e --- /dev/null +++ b/packages/PrintRecommendationService/src/com/android/printservice/recommendation/plugin/samsung/SamsungRecommendationPlugin.java @@ -0,0 +1,102 @@ +/*
+(c) Copyright 2016 Samsung Electronics..
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT 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.printservice.recommendation.plugin.samsung;
+
+import android.content.Context;
+import android.net.nsd.NsdServiceInfo;
+import android.text.TextUtils;
+
+import java.util.Locale;
+import java.util.Map;
+
+import com.android.printservice.recommendation.R;
+
+public class SamsungRecommendationPlugin extends ServiceRecommendationPlugin {
+
+ private static final String TAG = "SamsungRecommendation";
+
+ private static final String ATTR_USB_MFG = "usb_MFG";
+ private static final String ATTR_MFG = "mfg";
+ private static final String ATTR_USB_MDL = "usb_MDL";
+ private static final String ATTR_MDL = "mdl";
+ private static final String ATTR_PRODUCT = "product";
+ private static final String ATTR_TY = "ty";
+
+ private static String[] mNotSupportedDevices = new String[]{
+ "SCX-5x15",
+ "SF-555P",
+ "CF-555P",
+ "SCX-4x16",
+ "SCX-4214F",
+ "CLP-500",
+ "CJX-",
+ "MJC-"
+ };
+
+ private static boolean isSupportedModel(String model) {
+ if (!TextUtils.isEmpty(model)) {
+ String modelToUpper = model.toUpperCase(Locale.US);
+ for (String unSupportedPrinter : mNotSupportedDevices) {
+ if (modelToUpper.contains(unSupportedPrinter)) {
+ return false;
+ }
+ }
+ }
+ return true;
+ }
+
+ public SamsungRecommendationPlugin(Context context) {
+ super(context, R.string.plugin_vendor_samsung, new VendorInfo(context.getResources(), R.array.known_print_vendor_info_for_samsung), new String[]{"_pdl-datastream._tcp"});
+ }
+
+ @Override
+ public boolean matchesCriteria(String vendor, NsdServiceInfo nsdServiceInfo) {
+ if (!TextUtils.equals(vendor, mVendorInfo.mVendorID)) return false;
+
+ String modelName = getModelName(nsdServiceInfo);
+ if (modelName != null) {
+ return (isSupportedModel(modelName));
+ }
+ return false;
+ }
+
+ private String getModelName(NsdServiceInfo resolvedDevice) {
+ Map<String,byte[]> attributes = resolvedDevice.getAttributes();
+ String usb_mfg = MDnsUtils.getString(attributes.get(ATTR_USB_MFG));
+ if (TextUtils.isEmpty(usb_mfg)) {
+ usb_mfg = MDnsUtils.getString(attributes.get(ATTR_MFG));
+ }
+
+ String usb_mdl = MDnsUtils.getString(attributes.get(ATTR_USB_MDL));
+ if (TextUtils.isEmpty(usb_mdl)) {
+ usb_mdl = MDnsUtils.getString(attributes.get(ATTR_MDL));
+ }
+
+ String modelName = null;
+ if (!TextUtils.isEmpty(usb_mfg) && !TextUtils.isEmpty(usb_mdl)) {
+ modelName = usb_mfg.trim() + " " + usb_mdl.trim();
+ } else {
+ modelName = MDnsUtils.getString(attributes.get(ATTR_PRODUCT));
+ if (TextUtils.isEmpty(modelName)) {
+ modelName = MDnsUtils.getString(attributes.get(ATTR_TY));
+ }
+ }
+
+ return modelName;
+ }
+}
diff --git a/packages/PrintRecommendationService/src/com/android/printservice/recommendation/plugin/samsung/ServiceListener.java b/packages/PrintRecommendationService/src/com/android/printservice/recommendation/plugin/samsung/ServiceListener.java new file mode 100644 index 000000000000..7bb83c9384f7 --- /dev/null +++ b/packages/PrintRecommendationService/src/com/android/printservice/recommendation/plugin/samsung/ServiceListener.java @@ -0,0 +1,186 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.printservice.recommendation.plugin.samsung; + +import android.content.Context; +import android.content.res.TypedArray; +import android.net.nsd.NsdManager; +import android.net.nsd.NsdServiceInfo; +import android.text.TextUtils; +import android.util.Pair; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.android.printservice.recommendation.R; +import com.android.printservice.recommendation.util.DiscoveryListenerMultiplexer; + +public class ServiceListener implements ServiceResolveQueue.ResolveCallback { + + private final NsdManager mNSDManager; + private final Map<String, VendorInfo> mVendorInfoHashMap; + private final String[] mServiceType; + private final Observer mObserver; + private final ServiceResolveQueue mResolveQueue; + private List<NsdManager.DiscoveryListener> mListeners = new ArrayList<>(); + public HashMap<String, PrinterHashMap> mVendorHashMap = new HashMap<>(); + + public interface Observer { + boolean matchesCriteria(String vendor, NsdServiceInfo serviceInfo); + void dataSetChanged(); + } + + public ServiceListener(Context context, Observer observer, String[] serviceTypes) { + mObserver = observer; + mServiceType = serviceTypes; + mNSDManager = (NsdManager)context.getSystemService(Context.NSD_SERVICE); + mResolveQueue = ServiceResolveQueue.getInstance(mNSDManager); + + Map<String, VendorInfo> vendorInfoMap = new HashMap<>(); + TypedArray testArray = context.getResources().obtainTypedArray(R.array.known_print_plugin_vendors); + for(int i = 0; i < testArray.length(); i++) { + int arrayID = testArray.getResourceId(i, 0); + if (arrayID != 0) { + VendorInfo info = new VendorInfo(context.getResources(), arrayID); + vendorInfoMap.put(info.mVendorID, info); + vendorInfoMap.put(info.mPackageName, info); + } + } + testArray.recycle(); + mVendorInfoHashMap = vendorInfoMap; + } + + @Override + public void serviceResolved(NsdServiceInfo nsdServiceInfo) { + printerFound(nsdServiceInfo); + } + + private synchronized void printerFound(NsdServiceInfo nsdServiceInfo) { + if (nsdServiceInfo == null) return; + if (TextUtils.isEmpty(PrinterHashMap.getKey(nsdServiceInfo))) return; + String vendor = MDnsUtils.getVendor(nsdServiceInfo); + if (vendor == null) vendor = ""; + for(Map.Entry<String,VendorInfo> entry : mVendorInfoHashMap.entrySet()) { + for(String vendorValues : entry.getValue().mDNSValues) { + if (vendor.equalsIgnoreCase(vendorValues)) { + vendor = entry.getValue().mVendorID; + break; + } + } + // intentional pointer check + //noinspection StringEquality + if ((vendor != entry.getValue().mVendorID) && + MDnsUtils.isVendorPrinter(nsdServiceInfo, entry.getValue().mDNSValues)) { + vendor = entry.getValue().mVendorID; + } + // intentional pointer check + //noinspection StringEquality + if (vendor == entry.getValue().mVendorID) break; + } + + if (TextUtils.isEmpty(vendor)) { + return; + } + + if (!mObserver.matchesCriteria(vendor, nsdServiceInfo)) + return; + boolean mapsChanged; + + PrinterHashMap vendorHash = mVendorHashMap.get(vendor); + if (vendorHash == null) { + vendorHash = new PrinterHashMap(); + } + mapsChanged = (vendorHash.addPrinter(nsdServiceInfo) == null); + mVendorHashMap.put(vendor, vendorHash); + + if (mapsChanged) { + mObserver.dataSetChanged(); + } + } + + private synchronized void printerRemoved(NsdServiceInfo nsdServiceInfo) { + boolean wasRemoved = false; + Set<String> vendors = mVendorHashMap.keySet(); + for(String vendor : vendors) { + PrinterHashMap map = mVendorHashMap.get(vendor); + wasRemoved |= (map.removePrinter(nsdServiceInfo) != null); + if (map.isEmpty()) wasRemoved |= (mVendorHashMap.remove(vendor) != null); + } + if (wasRemoved) { + mObserver.dataSetChanged(); + } + } + + public void start() { + stop(); + for(final String service :mServiceType) { + NsdManager.DiscoveryListener listener = new NsdManager.DiscoveryListener() { + @Override + public void onStartDiscoveryFailed(String s, int i) { + + } + + @Override + public void onStopDiscoveryFailed(String s, int i) { + + } + + @Override + public void onDiscoveryStarted(String s) { + + } + + @Override + public void onDiscoveryStopped(String s) { + + } + + @Override + public void onServiceFound(NsdServiceInfo nsdServiceInfo) { + mResolveQueue.queueRequest(nsdServiceInfo, ServiceListener.this); + } + + @Override + public void onServiceLost(NsdServiceInfo nsdServiceInfo) { + mResolveQueue.removeRequest(nsdServiceInfo, ServiceListener.this); + printerRemoved(nsdServiceInfo); + } + }; + DiscoveryListenerMultiplexer.addListener(mNSDManager, service, listener); + mListeners.add(listener); + } + } + + public void stop() { + for(NsdManager.DiscoveryListener listener : mListeners) { + DiscoveryListenerMultiplexer.removeListener(mNSDManager, listener); + } + mVendorHashMap.clear(); + mListeners.clear(); + } + + public Pair<Integer, Integer> getCount() { + int count = 0; + for (PrinterHashMap map : mVendorHashMap.values()) { + count += map.size(); + } + return Pair.create(mVendorHashMap.size(), count); + } +} diff --git a/packages/PrintRecommendationService/src/com/android/printservice/recommendation/plugin/samsung/ServiceRecommendationPlugin.java b/packages/PrintRecommendationService/src/com/android/printservice/recommendation/plugin/samsung/ServiceRecommendationPlugin.java new file mode 100644 index 000000000000..9d15f3054ee2 --- /dev/null +++ b/packages/PrintRecommendationService/src/com/android/printservice/recommendation/plugin/samsung/ServiceRecommendationPlugin.java @@ -0,0 +1,86 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.printservice.recommendation.plugin.samsung; + +import android.content.Context; +import android.net.nsd.NsdManager; +import android.net.nsd.NsdServiceInfo; +import android.annotation.NonNull; +import android.text.TextUtils; +import com.android.printservice.recommendation.PrintServicePlugin; + +public abstract class ServiceRecommendationPlugin implements PrintServicePlugin, ServiceListener.Observer { + + protected static final String PDL_ATTRIBUTE = "pdl"; + + protected final Object mLock = new Object(); + protected PrinterDiscoveryCallback mCallback = null; + protected final ServiceListener mListener; + protected final NsdManager mNSDManager; + protected final VendorInfo mVendorInfo; + private final int mVendorStringID; + + protected ServiceRecommendationPlugin(Context context, int vendorStringID, VendorInfo vendorInfo, String[] services) { + mNSDManager = (NsdManager)context.getSystemService(Context.NSD_SERVICE); + mVendorStringID = vendorStringID; + mVendorInfo = vendorInfo; + mListener = new ServiceListener(context, this, services); + } + + @Override + public int getName() { + return mVendorStringID; + } + + @NonNull + @Override + public CharSequence getPackageName() { + return mVendorInfo.mPackageName; + } + + @Override + public void start(@NonNull PrinterDiscoveryCallback callback) throws Exception { + synchronized (mLock) { + mCallback = callback; + } + mListener.start(); + } + + @Override + public void stop() throws Exception { + synchronized (mLock) { + mCallback = null; + } + mListener.stop(); + } + + @Override + public void dataSetChanged() { + synchronized (mLock) { + if (mCallback != null) mCallback.onChanged(getCount()); + } + } + + @Override + public boolean matchesCriteria(String vendor, NsdServiceInfo nsdServiceInfo) { + return TextUtils.equals(vendor, mVendorInfo.mVendorID); + } + + public int getCount() { + return mListener.getCount().second; + } +} diff --git a/packages/PrintRecommendationService/src/com/android/printservice/recommendation/plugin/samsung/ServiceResolveQueue.java b/packages/PrintRecommendationService/src/com/android/printservice/recommendation/plugin/samsung/ServiceResolveQueue.java new file mode 100644 index 000000000000..e5691b734416 --- /dev/null +++ b/packages/PrintRecommendationService/src/com/android/printservice/recommendation/plugin/samsung/ServiceResolveQueue.java @@ -0,0 +1,109 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.printservice.recommendation.plugin.samsung; + +import android.net.nsd.NsdManager; +import android.net.nsd.NsdServiceInfo; +import android.util.Pair; +import com.android.printservice.recommendation.util.NsdResolveQueue; + +import java.util.LinkedList; + +final class ServiceResolveQueue { + + private final NsdManager mNsdManager; + private final LinkedList<Pair<NsdServiceInfo, ResolveCallback>> mQueue = new LinkedList<>(); + private final Object mLock = new Object(); + + private static Object sLock = new Object(); + private static ServiceResolveQueue sInstance = null; + private final NsdResolveQueue mNsdResolveQueue; + private Pair<NsdServiceInfo, ResolveCallback> mCurrentRequest = null; + + public static void createInstance(NsdManager nsdManager) { + if (sInstance == null) sInstance = new ServiceResolveQueue(nsdManager); + } + + public static ServiceResolveQueue getInstance(NsdManager nsdManager) { + synchronized (sLock) { + createInstance(nsdManager); + return sInstance; + } + } + + public static void destroyInstance() { + sInstance = null; + } + + public interface ResolveCallback { + void serviceResolved(NsdServiceInfo nsdServiceInfo); + } + + public ServiceResolveQueue(NsdManager nsdManager) { + mNsdManager = nsdManager; + mNsdResolveQueue = NsdResolveQueue.getInstance(); + } + + public void queueRequest(NsdServiceInfo serviceInfo, ResolveCallback callback) { + synchronized (mLock) { + Pair<NsdServiceInfo, ResolveCallback> newRequest = Pair.create(serviceInfo, callback); + if (mQueue.contains(newRequest)) return; + mQueue.add(newRequest); + makeNextRequest(); + } + } + + public void removeRequest(NsdServiceInfo serviceInfo, ResolveCallback callback) { + synchronized (mLock) { + Pair<NsdServiceInfo, ResolveCallback> newRequest = Pair.create(serviceInfo, callback); + mQueue.remove(newRequest); + if ((mCurrentRequest != null) && newRequest.equals(mCurrentRequest)) mCurrentRequest = null; + } + } + + private void makeNextRequest() { + synchronized (mLock) { + if (mCurrentRequest != null) return; + if (mQueue.isEmpty()) return; + mCurrentRequest = mQueue.removeFirst(); + mNsdResolveQueue.resolve(mNsdManager, mCurrentRequest.first, + new NsdManager.ResolveListener() { + @Override + public void onResolveFailed(NsdServiceInfo nsdServiceInfo, int i) { + synchronized (mLock) { + if (mCurrentRequest != null) mQueue.add(mCurrentRequest); + makeNextRequest(); + } + } + + @Override + public void onServiceResolved(NsdServiceInfo nsdServiceInfo) { + synchronized (mLock) { + if (mCurrentRequest != null) { + mCurrentRequest.second.serviceResolved(nsdServiceInfo); + mCurrentRequest = null; + } + makeNextRequest(); + } + } + }); + + } + } + + +} diff --git a/packages/PrintRecommendationService/src/com/android/printservice/recommendation/plugin/samsung/VendorInfo.java b/packages/PrintRecommendationService/src/com/android/printservice/recommendation/plugin/samsung/VendorInfo.java new file mode 100644 index 000000000000..0ebb4e441f11 --- /dev/null +++ b/packages/PrintRecommendationService/src/com/android/printservice/recommendation/plugin/samsung/VendorInfo.java @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.printservice.recommendation.plugin.samsung; + +import android.content.res.Resources; + +import java.util.Arrays; + +public final class VendorInfo { + + public final String mPackageName; + public final String mVendorID; + public final String[] mDNSValues; + public final int mID; + + public VendorInfo(Resources resources, int vendor_info_id) { + mID = vendor_info_id; + String[] data = resources.getStringArray(vendor_info_id); + if ((data == null) || (data.length < 2)) { + data = new String[] { null, null }; + } + mPackageName = data[0]; + mVendorID = data[1]; + mDNSValues = (data.length > 2) ? Arrays.copyOfRange(data, 2, data.length) : new String[]{}; + } +} diff --git a/packages/PrintSpooler/res/layout/add_printer_list_header.xml b/packages/PrintSpooler/res/layout/add_printer_list_header.xml index ff342cbbb0fa..9eee0c46c124 100644 --- a/packages/PrintSpooler/res/layout/add_printer_list_header.xml +++ b/packages/PrintSpooler/res/layout/add_printer_list_header.xml @@ -16,7 +16,8 @@ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" - android:layout_height="?android:attr/listPreferredItemHeightSmall" + android:layout_height="wrap_content" + android:minHeight="?android:attr/listPreferredItemHeightSmall" android:paddingStart="?android:attr/listPreferredItemPaddingStart" android:paddingEnd="?android:attr/listPreferredItemPaddingEnd" android:orientation="horizontal" diff --git a/packages/PrintSpooler/res/values-az-rAZ/strings.xml b/packages/PrintSpooler/res/values-az-rAZ/strings.xml index 1f5da5fad340..49808a3bdac9 100644 --- a/packages/PrintSpooler/res/values-az-rAZ/strings.xml +++ b/packages/PrintSpooler/res/values-az-rAZ/strings.xml @@ -17,7 +17,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4469836075319831821">"Çap Spuler"</string> - <string name="more_options_button" msgid="2243228396432556771">"Daha çox seçim"</string> + <string name="more_options_button" msgid="2243228396432556771">"Digər variantlar"</string> <string name="label_destination" msgid="9132510997381599275">"Hədəf"</string> <string name="label_copies" msgid="3634531042822968308">"Surətlər"</string> <string name="label_copies_summary" msgid="3861966063536529540">"Nüsxələr:"</string> diff --git a/packages/PrintSpooler/res/values-be-rBY/strings.xml b/packages/PrintSpooler/res/values-be-rBY/strings.xml index 9cbb9111556b..e74b4cfc2d9d 100644 --- a/packages/PrintSpooler/res/values-be-rBY/strings.xml +++ b/packages/PrintSpooler/res/values-be-rBY/strings.xml @@ -63,7 +63,7 @@ </plurals> <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> – <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> <string name="printer_info_desc" msgid="7181988788991581654">"Больш падрабязная інфармацыя пра гэты прынтар"</string> - <string name="could_not_create_file" msgid="3425025039427448443">"Не атрымалася стварыць файл"</string> + <string name="could_not_create_file" msgid="3425025039427448443">"Не ўдалося стварыць файл"</string> <string name="print_services_disabled_toast" msgid="9089060734685174685">"Некаторыя службы друку адключаны"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Пошук прынтараў"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Службы друку не ўключаны"</string> diff --git a/packages/PrintSpooler/res/values-ca/strings.xml b/packages/PrintSpooler/res/values-ca/strings.xml index f0404abaced4..111e193ebcc9 100644 --- a/packages/PrintSpooler/res/values-ca/strings.xml +++ b/packages/PrintSpooler/res/values-ca/strings.xml @@ -61,8 +61,7 @@ </plurals> <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> <string name="printer_info_desc" msgid="7181988788991581654">"Més informació sobre aquesta impressora"</string> - <!-- no translation found for could_not_create_file (3425025039427448443) --> - <skip /> + <string name="could_not_create_file" msgid="3425025039427448443">"No s\'ha pogut crear el fitxer"</string> <string name="print_services_disabled_toast" msgid="9089060734685174685">"Alguns serveis d\'impressió estan desactivats"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Cerca d\'impressores"</string> <string name="print_no_print_services" msgid="8561247706423327966">"No hi ha cap servei d\'impressió activat"</string> diff --git a/packages/PrintSpooler/res/values-eu-rES/strings.xml b/packages/PrintSpooler/res/values-eu-rES/strings.xml index 5c3d379b2a21..69368d89f666 100644 --- a/packages/PrintSpooler/res/values-eu-rES/strings.xml +++ b/packages/PrintSpooler/res/values-eu-rES/strings.xml @@ -61,8 +61,7 @@ </plurals> <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> <string name="printer_info_desc" msgid="7181988788991581654">"Informazio gehiago inprimagailuari buruz"</string> - <!-- no translation found for could_not_create_file (3425025039427448443) --> - <skip /> + <string name="could_not_create_file" msgid="3425025039427448443">"Ezin izan da sortu fitxategia"</string> <string name="print_services_disabled_toast" msgid="9089060734685174685">"Desgaituta daude inprimatzeko zerbitzu batzuk"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Inprimagailuak bilatzen"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Ez dago gaituta inprimatzeko zerbitzurik"</string> diff --git a/packages/PrintSpooler/res/values-fa/strings.xml b/packages/PrintSpooler/res/values-fa/strings.xml index 0606452c6a6c..9b7dc3d70052 100644 --- a/packages/PrintSpooler/res/values-fa/strings.xml +++ b/packages/PrintSpooler/res/values-fa/strings.xml @@ -61,8 +61,7 @@ </plurals> <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> <string name="printer_info_desc" msgid="7181988788991581654">"اطلاعات بیشتر درباره چاپگر"</string> - <!-- no translation found for could_not_create_file (3425025039427448443) --> - <skip /> + <string name="could_not_create_file" msgid="3425025039427448443">"فایل ایجاد نشد"</string> <string name="print_services_disabled_toast" msgid="9089060734685174685">"بعضی از خدمات چاپ غیرفعال هستند"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"درحال جستجوی چاپگرها"</string> <string name="print_no_print_services" msgid="8561247706423327966">"هیچ خدمات چاپی فعال نیست"</string> diff --git a/packages/PrintSpooler/res/values-fr-rCA/strings.xml b/packages/PrintSpooler/res/values-fr-rCA/strings.xml index 7efd751990d6..1956ed422fb4 100644 --- a/packages/PrintSpooler/res/values-fr-rCA/strings.xml +++ b/packages/PrintSpooler/res/values-fr-rCA/strings.xml @@ -61,8 +61,7 @@ </plurals> <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> <string name="printer_info_desc" msgid="7181988788991581654">"Plus d\'information sur cette imprimante"</string> - <!-- no translation found for could_not_create_file (3425025039427448443) --> - <skip /> + <string name="could_not_create_file" msgid="3425025039427448443">"Impossible de créer le fichier"</string> <string name="print_services_disabled_toast" msgid="9089060734685174685">"Certains services d\'impression sont désactivés"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Recherche d\'imprimantes en cours..."</string> <string name="print_no_print_services" msgid="8561247706423327966">"Aucun service d\'impression activé"</string> diff --git a/packages/PrintSpooler/res/values-fr/strings.xml b/packages/PrintSpooler/res/values-fr/strings.xml index efd7c5a9d89f..9ef09ec7705d 100644 --- a/packages/PrintSpooler/res/values-fr/strings.xml +++ b/packages/PrintSpooler/res/values-fr/strings.xml @@ -61,8 +61,7 @@ </plurals> <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> – <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> <string name="printer_info_desc" msgid="7181988788991581654">"Plus d\'informations sur cette imprimante"</string> - <!-- no translation found for could_not_create_file (3425025039427448443) --> - <skip /> + <string name="could_not_create_file" msgid="3425025039427448443">"Impossible de créer le fichier"</string> <string name="print_services_disabled_toast" msgid="9089060734685174685">"Certains services d\'impression sont désactivés."</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Recherche d\'imprimantes en cours"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Aucun service d\'impression activé"</string> diff --git a/packages/PrintSpooler/res/values-lv/strings.xml b/packages/PrintSpooler/res/values-lv/strings.xml index e0a076e41cd2..ad3dc3733a40 100644 --- a/packages/PrintSpooler/res/values-lv/strings.xml +++ b/packages/PrintSpooler/res/values-lv/strings.xml @@ -62,8 +62,7 @@ </plurals> <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> — <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> <string name="printer_info_desc" msgid="7181988788991581654">"Plašāka informācija par šo printeri"</string> - <!-- no translation found for could_not_create_file (3425025039427448443) --> - <skip /> + <string name="could_not_create_file" msgid="3425025039427448443">"Nevarēja izveidot failu."</string> <string name="print_services_disabled_toast" msgid="9089060734685174685">"Daži drukas pakalpojumi ir atspējoti."</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Printeru meklēšana"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Nav iespējots neviens drukas pakalpojums"</string> diff --git a/packages/PrintSpooler/res/values-my-rMM/strings.xml b/packages/PrintSpooler/res/values-my-rMM/strings.xml index 1f0700765ec9..b51336eb6dac 100644 --- a/packages/PrintSpooler/res/values-my-rMM/strings.xml +++ b/packages/PrintSpooler/res/values-my-rMM/strings.xml @@ -33,7 +33,7 @@ <string name="pages_range_example" msgid="8558694453556945172">"ဥပမာ ၁-၅၊ ၈၊ ၁၁-၁၃"</string> <string name="print_preview" msgid="8010217796057763343">"အစမ်းကြည့်ရှုရန်"</string> <string name="install_for_print_preview" msgid="6366303997385509332">"အစမ်းကြည့်ရန် ပီဒီအက်ဖ် ဖတ်ရှုစရာ ထည့်သွင်းပါ"</string> - <string name="printing_app_crashed" msgid="854477616686566398">"စာထုတ်လုပ်သော အပလီကေးရှင်း ခဏ ပျက်သွားပါသည်"</string> + <string name="printing_app_crashed" msgid="854477616686566398">"စာထုတ်လုပ်သော အက်ပ် ခဏ ပျက်သွားပါသည်"</string> <string name="generating_print_job" msgid="3119608742651698916">"စာထုတ်အလုပ်ကို လုပ်နေပါသည်"</string> <string name="save_as_pdf" msgid="5718454119847596853">"ပီဒီအက်ဖ် အဖြစ်သိမ်းဆည်းရန်"</string> <string name="all_printers" msgid="5018829726861876202">"စာထုတ်စက် အားလုံး"</string> @@ -61,7 +61,7 @@ </plurals> <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> <string name="printer_info_desc" msgid="7181988788991581654">"ဤပရင်တာ အကြောင်း ပိုမိုလေ့လာပါ"</string> - <string name="could_not_create_file" msgid="3425025039427448443">"ဖိုင်ဖန်တီး၍မရပါ"</string> + <string name="could_not_create_file" msgid="3425025039427448443">"ဖိုင်အမည်ကို ထည့်၍မရပါ"</string> <string name="print_services_disabled_toast" msgid="9089060734685174685">"အချို့ပုံနှိပ်ဝန်ဆောင်မှုများကို ပိတ်ထားပါသည်"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"စာထုတ်စက်များကို ရှာနေပါသည်"</string> <string name="print_no_print_services" msgid="8561247706423327966">"ပုံနှိပ်ထုတ်ယူရေး ဝန်ဆောင်မှုများ ဖွင့်မထားပါ"</string> diff --git a/packages/PrintSpooler/res/values-nb/strings.xml b/packages/PrintSpooler/res/values-nb/strings.xml index 720e0ca16690..1a466176a696 100644 --- a/packages/PrintSpooler/res/values-nb/strings.xml +++ b/packages/PrintSpooler/res/values-nb/strings.xml @@ -61,7 +61,7 @@ </plurals> <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> – <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> <string name="printer_info_desc" msgid="7181988788991581654">"Mer informasjon om denne printeren"</string> - <string name="could_not_create_file" msgid="3425025039427448443">"Kunne ikke opprette fil"</string> + <string name="could_not_create_file" msgid="3425025039427448443">"Kunne ikke opprette filen"</string> <string name="print_services_disabled_toast" msgid="9089060734685174685">"Noen utskriftstjenester er slått av"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Søker etter skrivere"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Ingen utskriftstjenester er slått på"</string> diff --git a/packages/PrintSpooler/res/values-pt-rBR/strings.xml b/packages/PrintSpooler/res/values-pt-rBR/strings.xml index 7efe64fb3bee..ca01ee7dc788 100644 --- a/packages/PrintSpooler/res/values-pt-rBR/strings.xml +++ b/packages/PrintSpooler/res/values-pt-rBR/strings.xml @@ -61,8 +61,7 @@ </plurals> <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> <string name="printer_info_desc" msgid="7181988788991581654">"Mais informações sobre essa impressora"</string> - <!-- no translation found for could_not_create_file (3425025039427448443) --> - <skip /> + <string name="could_not_create_file" msgid="3425025039427448443">"Não foi possível criar o arquivo"</string> <string name="print_services_disabled_toast" msgid="9089060734685174685">"Alguns serviços de impressão estão desativados"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Procurando impressoras"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Nenhum serviço de impressão ativado"</string> diff --git a/packages/PrintSpooler/res/values-pt/strings.xml b/packages/PrintSpooler/res/values-pt/strings.xml index 7efe64fb3bee..ca01ee7dc788 100644 --- a/packages/PrintSpooler/res/values-pt/strings.xml +++ b/packages/PrintSpooler/res/values-pt/strings.xml @@ -61,8 +61,7 @@ </plurals> <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> <string name="printer_info_desc" msgid="7181988788991581654">"Mais informações sobre essa impressora"</string> - <!-- no translation found for could_not_create_file (3425025039427448443) --> - <skip /> + <string name="could_not_create_file" msgid="3425025039427448443">"Não foi possível criar o arquivo"</string> <string name="print_services_disabled_toast" msgid="9089060734685174685">"Alguns serviços de impressão estão desativados"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Procurando impressoras"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Nenhum serviço de impressão ativado"</string> diff --git a/packages/PrintSpooler/res/values-ro/strings.xml b/packages/PrintSpooler/res/values-ro/strings.xml index 3202bca5a3d1..37476bc83038 100644 --- a/packages/PrintSpooler/res/values-ro/strings.xml +++ b/packages/PrintSpooler/res/values-ro/strings.xml @@ -62,8 +62,7 @@ </plurals> <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> – <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> <string name="printer_info_desc" msgid="7181988788991581654">"Mai multe informații despre această imprimantă"</string> - <!-- no translation found for could_not_create_file (3425025039427448443) --> - <skip /> + <string name="could_not_create_file" msgid="3425025039427448443">"Fișierul nu a putut fi creat"</string> <string name="print_services_disabled_toast" msgid="9089060734685174685">"Unele servicii de printare sunt dezactivate"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Se caută imprimante"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Niciun serviciu de printare activat"</string> diff --git a/packages/PrintSpooler/res/values-ru/strings.xml b/packages/PrintSpooler/res/values-ru/strings.xml index 7bcec0defb5e..fcb1701b827f 100644 --- a/packages/PrintSpooler/res/values-ru/strings.xml +++ b/packages/PrintSpooler/res/values-ru/strings.xml @@ -63,8 +63,7 @@ </plurals> <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> – <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> <string name="printer_info_desc" msgid="7181988788991581654">"Подробные сведения о принтере"</string> - <!-- no translation found for could_not_create_file (3425025039427448443) --> - <skip /> + <string name="could_not_create_file" msgid="3425025039427448443">"Не удалось создать файл"</string> <string name="print_services_disabled_toast" msgid="9089060734685174685">"Некоторые службы печати отключены"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Поиск принтеров…"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Службы печати недоступны"</string> diff --git a/packages/PrintSpooler/res/values-sk/strings.xml b/packages/PrintSpooler/res/values-sk/strings.xml index 6234f8cfae3d..c82bed713329 100644 --- a/packages/PrintSpooler/res/values-sk/strings.xml +++ b/packages/PrintSpooler/res/values-sk/strings.xml @@ -63,8 +63,7 @@ </plurals> <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> – <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> <string name="printer_info_desc" msgid="7181988788991581654">"Ďalšie informácie o tejto tlačiarni"</string> - <!-- no translation found for could_not_create_file (3425025039427448443) --> - <skip /> + <string name="could_not_create_file" msgid="3425025039427448443">"Súbor nie je možné vytvoriť"</string> <string name="print_services_disabled_toast" msgid="9089060734685174685">"Niektoré tlačové služby sú zakázané"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Vyhľadávanie tlačiarní"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Žiadne tlačové služby nie sú aktivované"</string> diff --git a/packages/PrintSpooler/res/values-tr/strings.xml b/packages/PrintSpooler/res/values-tr/strings.xml index df8cd290b246..7fc84e191d51 100644 --- a/packages/PrintSpooler/res/values-tr/strings.xml +++ b/packages/PrintSpooler/res/values-tr/strings.xml @@ -61,8 +61,7 @@ </plurals> <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> <string name="printer_info_desc" msgid="7181988788991581654">"Bu yazıcıyla ilgili daha fazla bilgi"</string> - <!-- no translation found for could_not_create_file (3425025039427448443) --> - <skip /> + <string name="could_not_create_file" msgid="3425025039427448443">"Dosya oluşturulamadı"</string> <string name="print_services_disabled_toast" msgid="9089060734685174685">"Bazı yazdırma hizmetleri devre dışı bırakıldı"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Yazıcılar aranıyor"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Etkin yazıcı hizmeti yok"</string> diff --git a/packages/PrintSpooler/res/values-ur-rPK/strings.xml b/packages/PrintSpooler/res/values-ur-rPK/strings.xml index e612ee8f3229..bba766a2a4fa 100644 --- a/packages/PrintSpooler/res/values-ur-rPK/strings.xml +++ b/packages/PrintSpooler/res/values-ur-rPK/strings.xml @@ -61,8 +61,7 @@ </plurals> <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> <string name="printer_info_desc" msgid="7181988788991581654">"اس پرنٹر کے بارے میں مزید معلومات"</string> - <!-- no translation found for could_not_create_file (3425025039427448443) --> - <skip /> + <string name="could_not_create_file" msgid="3425025039427448443">"فائل تخلیق نہیں ہو سکی"</string> <string name="print_services_disabled_toast" msgid="9089060734685174685">"پرنٹ کی کچھ سروسز غیر فعال ہیں"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"پرنٹرز تلاش کر رہا ہے"</string> <string name="print_no_print_services" msgid="8561247706423327966">"کوئی پرنٹ سروس فعال نہیں"</string> diff --git a/packages/PrintSpooler/res/values-uz-rUZ/strings.xml b/packages/PrintSpooler/res/values-uz-rUZ/strings.xml index 8ae65f2da8af..93fd586359dc 100644 --- a/packages/PrintSpooler/res/values-uz-rUZ/strings.xml +++ b/packages/PrintSpooler/res/values-uz-rUZ/strings.xml @@ -17,7 +17,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4469836075319831821">"Chop qilishni nazorat qilish"</string> - <string name="more_options_button" msgid="2243228396432556771">"Ko‘proq"</string> + <string name="more_options_button" msgid="2243228396432556771">"Yana"</string> <string name="label_destination" msgid="9132510997381599275">"Mo‘ljal"</string> <string name="label_copies" msgid="3634531042822968308">"Nusxalar"</string> <string name="label_copies_summary" msgid="3861966063536529540">"Nusxalari soni:"</string> @@ -97,7 +97,7 @@ <item msgid="79513688117503758">"Qisqa tomoni"</item> </string-array> <string-array name="orientation_labels"> - <item msgid="4061931020926489228">"Bo‘yiga"</item> + <item msgid="4061931020926489228">"Tik holat"</item> <item msgid="3199660090246166812">"Eniga"</item> </string-array> <string name="print_write_error_message" msgid="5787642615179572543">"Faylga yozib bo‘lmadi"</string> diff --git a/packages/PrintSpooler/res/values-zh-rCN/strings.xml b/packages/PrintSpooler/res/values-zh-rCN/strings.xml index ca4868b52123..3debf8e60cdb 100644 --- a/packages/PrintSpooler/res/values-zh-rCN/strings.xml +++ b/packages/PrintSpooler/res/values-zh-rCN/strings.xml @@ -61,8 +61,7 @@ </plurals> <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> <string name="printer_info_desc" msgid="7181988788991581654">"关于此打印机的更多信息"</string> - <!-- no translation found for could_not_create_file (3425025039427448443) --> - <skip /> + <string name="could_not_create_file" msgid="3425025039427448443">"无法创建文件"</string> <string name="print_services_disabled_toast" msgid="9089060734685174685">"部分打印服务已停用"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"正在搜索打印机"</string> <string name="print_no_print_services" msgid="8561247706423327966">"未启用任何打印服务"</string> diff --git a/packages/SettingsLib/res/values-az-rAZ/strings.xml b/packages/SettingsLib/res/values-az-rAZ/strings.xml index 8558611dfb8e..414bcd437180 100644 --- a/packages/SettingsLib/res/values-az-rAZ/strings.xml +++ b/packages/SettingsLib/res/values-az-rAZ/strings.xml @@ -139,8 +139,8 @@ <string name="choose_profile" msgid="8229363046053568878">"Profil Seçin"</string> <string name="category_personal" msgid="1299663247844969448">"Şəxsi"</string> <string name="category_work" msgid="8699184680584175622">"İş"</string> - <string name="development_settings_title" msgid="215179176067683667">"Tərtibatçı seçimləri"</string> - <string name="development_settings_enable" msgid="542530994778109538">"Tərtibatçı seçənəklərini aktiv edin"</string> + <string name="development_settings_title" msgid="215179176067683667">"Developer seçimləri"</string> + <string name="development_settings_enable" msgid="542530994778109538">"Developer variantlarını aktiv edin"</string> <string name="development_settings_summary" msgid="1815795401632854041">"Tətbiq inkişafı seçimlərini təyin et"</string> <string name="development_settings_not_available" msgid="4308569041701535607">"Gəlişdirici seçimləri bu istifadəçi üçün əlçatımlı deyil"</string> <string name="vpn_settings_not_available" msgid="956841430176985598">"VPN ayarları bu istifadəçi üçün əlçatmazdır"</string> diff --git a/packages/SettingsLib/res/values-eu-rES/strings.xml b/packages/SettingsLib/res/values-eu-rES/strings.xml index ca76b55018cf..b6db37aff389 100644 --- a/packages/SettingsLib/res/values-eu-rES/strings.xml +++ b/packages/SettingsLib/res/values-eu-rES/strings.xml @@ -226,7 +226,7 @@ <string name="enable_opengl_traces_title" msgid="6790444011053219871">"Gaitu OpenGL aztarnak"</string> <string name="usb_audio_disable_routing" msgid="8114498436003102671">"Desgaitu USB audio-bideratzea"</string> <string name="usb_audio_disable_routing_summary" msgid="980282760277312264">"Desgaitu USB audio-gailuetara automatikoki bideratzea"</string> - <string name="debug_layout" msgid="5981361776594526155">"Erakutsi diseinuaren mugak"</string> + <string name="debug_layout" msgid="5981361776594526155">"Erakutsi diseinu-mugak"</string> <string name="debug_layout_summary" msgid="2001775315258637682">"Erakutsi kliparen mugak, marjinak, etab."</string> <string name="force_rtl_layout_all_locales" msgid="2259906643093138978">"Behartu eskuin-ezker norabidea."</string> <string name="force_rtl_layout_all_locales_summary" msgid="9192797796616132534">"Behartu pantaila-diseinuaren norabidea eskuin-ezker izatera eskualdeko ezarpen guztiekin."</string> @@ -237,7 +237,7 @@ <string name="force_msaa" msgid="7920323238677284387">"Behartu 4x MSAA"</string> <string name="force_msaa_summary" msgid="9123553203895817537">"Gaitu 4x MSAA, OpenGL ES 2.0 aplikazioetan."</string> <string name="show_non_rect_clip" msgid="505954950474595172">"Araztu angeluzuzenak ez diren klip-eragiketak."</string> - <string name="track_frame_time" msgid="6146354853663863443">"Egin GPU errendatzearen profila"</string> + <string name="track_frame_time" msgid="6146354853663863443">"GPU errendatze-profila"</string> <string name="window_animation_scale_title" msgid="6162587588166114700">"Leihoen animazio-eskala"</string> <string name="transition_animation_scale_title" msgid="387527540523595875">"Trantsizio-animazio eskala"</string> <string name="animator_duration_scale_title" msgid="3406722410819934083">"Animatzailearen iraupena"</string> diff --git a/packages/SettingsLib/res/values-fa/strings.xml b/packages/SettingsLib/res/values-fa/strings.xml index ac48830eafcb..2f0f8c873a74 100644 --- a/packages/SettingsLib/res/values-fa/strings.xml +++ b/packages/SettingsLib/res/values-fa/strings.xml @@ -210,7 +210,7 @@ <string name="strict_mode" msgid="1938795874357830695">"حالت شدید فعال شد"</string> <string name="strict_mode_summary" msgid="142834318897332338">"چشمک زدن صفحه هنگام انجام عملیات طولانی توسط برنامهها در رشته اصلی"</string> <string name="pointer_location" msgid="6084434787496938001">"محل اشارهگر"</string> - <string name="pointer_location_summary" msgid="840819275172753713">"همپوشانی صفحهٔ نمایش با نمایش داده لمسی فعلی"</string> + <string name="pointer_location_summary" msgid="840819275172753713">"همپوشانی صفحهنمایش با نمایش داده لمسی فعلی"</string> <string name="show_touches" msgid="2642976305235070316">"نمایش ضربهها"</string> <string name="show_touches_summary" msgid="6101183132903926324">"نمایش بازخورد تصویری برای ضربهها"</string> <string name="show_screen_updates" msgid="5470814345876056420">"نمایش بهروزرسانی سطح"</string> @@ -231,7 +231,7 @@ <string name="force_rtl_layout_all_locales" msgid="2259906643093138978">"اجباری کردن چیدمان RTL"</string> <string name="force_rtl_layout_all_locales_summary" msgid="9192797796616132534">"اجباری کردن چیدمان RTL صفحه برای همه زبانها"</string> <string name="show_cpu_usage" msgid="2389212910758076024">"نمایش میزان استفاده از CPU"</string> - <string name="show_cpu_usage_summary" msgid="2113341923988958266">"همپوشانی صفحهٔ نمایش میزان استفاده از CPU فعلی"</string> + <string name="show_cpu_usage_summary" msgid="2113341923988958266">"همپوشانی صفحهنمایش میزان استفاده از CPU فعلی"</string> <string name="force_hw_ui" msgid="6426383462520888732">"پردازش اجباری GPU"</string> <string name="force_hw_ui_summary" msgid="5535991166074861515">"استفاده اجباری از GPU برای طراحی دوم"</string> <string name="force_msaa" msgid="7920323238677284387">"اجبار 4x MSAA"</string> diff --git a/packages/SettingsLib/res/values-fr/strings.xml b/packages/SettingsLib/res/values-fr/strings.xml index 1355e77701cf..ac8f629d0774 100644 --- a/packages/SettingsLib/res/values-fr/strings.xml +++ b/packages/SettingsLib/res/values-fr/strings.xml @@ -323,7 +323,7 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Contrôlé par l\'administrateur"</string> <string name="enabled_by_admin" msgid="2386503803463071894">"Activé par l\'administrateur"</string> <string name="disabled_by_admin" msgid="3669999613095206948">"Désactivé par l\'administrateur"</string> - <string name="home" msgid="3256884684164448244">"Accueil des paramètres"</string> + <string name="home" msgid="3256884684164448244">"Paramètres"</string> <string name="charge_length_format" msgid="8978516217024434156">"Il y a <xliff:g id="ID_1">%1$s</xliff:g>"</string> <string name="remaining_length_format" msgid="7886337596669190587">"Il reste <xliff:g id="ID_1">%1$s</xliff:g>."</string> <string name="screen_zoom_summary_small" msgid="5867245310241621570">"Petit"</string> diff --git a/packages/SettingsLib/res/values-gl-rES/arrays.xml b/packages/SettingsLib/res/values-gl-rES/arrays.xml index 01b8fdf902c8..8c2ed064b9b3 100644 --- a/packages/SettingsLib/res/values-gl-rES/arrays.xml +++ b/packages/SettingsLib/res/values-gl-rES/arrays.xml @@ -139,7 +139,7 @@ </string-array> <string-array name="debug_hw_overdraw_entries"> <item msgid="8190572633763871652">"Desactivado"</item> - <item msgid="7688197031296835369">"Mostrar áreas sobredebuxadas"</item> + <item msgid="7688197031296835369">"Mostrar áreas superpostas"</item> <item msgid="2290859360633824369">"Mostrar áreas de deuteranomalía"</item> </string-array> <string-array name="app_process_limit_entries"> diff --git a/packages/SettingsLib/res/values-gu-rIN/strings.xml b/packages/SettingsLib/res/values-gu-rIN/strings.xml index c3737b50e6ad..13eb654acd4c 100644 --- a/packages/SettingsLib/res/values-gu-rIN/strings.xml +++ b/packages/SettingsLib/res/values-gu-rIN/strings.xml @@ -84,8 +84,8 @@ <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wifi ત્રણ બાર."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"પૂર્ણ Wifi સિગ્નલ."</string> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> - <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"દૂર કરેલી એપ્લિકેશનો"</string> - <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"દૂર કરેલી એપ્લિકેશનો અને વપરાશકર્તાઓ"</string> + <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"દૂર કરેલી ઍપ્લિકેશનો"</string> + <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"દૂર કરેલી ઍપ્લિકેશનો અને વપરાશકર્તાઓ"</string> <string name="tether_settings_title_usb" msgid="6688416425801386511">"USB ટિથરિંગ"</string> <string name="tether_settings_title_wifi" msgid="3277144155960302049">"પોર્ટેબલ હોટસ્પોટ"</string> <string name="tether_settings_title_bluetooth" msgid="355855408317564420">"Bluetooth ટિથરિંગ"</string> @@ -183,12 +183,12 @@ <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"નવા Android DHCP ક્લાઇન્ટને બદલે Lollipop પરના DHCP ક્લાઇન્ટનો ઉપયોગ કરો."</string> <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Wi‑Fi સક્રિય હોય ત્યારે પણ, હંમેશા મોબાઇલ ડેટાને સક્રિય રાખો (ઝડપી નેટવર્ક સ્વિચિંગ માટે)."</string> <string name="adb_warning_title" msgid="6234463310896563253">"USB ડિબગિંગને મંજૂરી આપીએ?"</string> - <string name="adb_warning_message" msgid="7316799925425402244">"USB ડિબગીંગ ફક્ત વિકાસ હેતુઓ માટે જ બનાવાયેલ છે. તેનો ઉપયોગ તમારા કમ્પ્યુટર અને તમારા ઉપકરણ વચ્ચે ડેટાને કૉપિ કરવા, સૂચના વગર તમારા ઉપકરણ પર એપ્લિકેશનો ઇન્સ્ટોલ કરવા અને લૉગ ડેટા વાંચવા માટે કરો."</string> + <string name="adb_warning_message" msgid="7316799925425402244">"USB ડિબગીંગ ફક્ત વિકાસ હેતુઓ માટે જ બનાવાયેલ છે. તેનો ઉપયોગ તમારા કમ્પ્યુટર અને તમારા ઉપકરણ વચ્ચે ડેટાને કૉપિ કરવા, સૂચના વગર તમારા ઉપકરણ પર ઍપ્લિકેશનો ઇન્સ્ટોલ કરવા અને લૉગ ડેટા વાંચવા માટે કરો."</string> <string name="adb_keys_warning_message" msgid="5659849457135841625">"તમે અગાઉ અધિકૃત કરેલા તમામ કમ્પ્યુટર્સમાંથી USB ડિબગિંગ પરની અૅક્સેસ રદબાતલ કરીએ?"</string> <string name="dev_settings_warning_title" msgid="7244607768088540165">"વિકાસ સેટિંગ્સને મંજૂરી આપીએ?"</string> <string name="dev_settings_warning_message" msgid="2298337781139097964">"આ સેટિંગ્સ ફક્ત વિકાસનાં ઉપયોગ માટે જ હેતુબદ્ધ છે. તે તમારા ઉપકરણ અને તેના પરની એપ્લિકેશન્સનાં ભંગ થવા અથવા ખરાબ વર્તનનું કારણ બની શકે છે."</string> - <string name="verify_apps_over_usb_title" msgid="4177086489869041953">"USB પર એપ્લિકેશનો ચકાસો"</string> - <string name="verify_apps_over_usb_summary" msgid="9164096969924529200">"હાનિકારક વર્તણૂંક માટે ADB/ADT મારફતે ઇન્સ્ટોલ કરવામાં આવેલી એપ્લિકેશનો તપાસો."</string> + <string name="verify_apps_over_usb_title" msgid="4177086489869041953">"USB પર ઍપ્લિકેશનો ચકાસો"</string> + <string name="verify_apps_over_usb_summary" msgid="9164096969924529200">"હાનિકારક વર્તણૂંક માટે ADB/ADT મારફતે ઇન્સ્ટોલ કરવામાં આવેલી ઍપ્લિકેશનો તપાસો."</string> <string name="bluetooth_disable_absolute_volume_summary" msgid="6031284410786545957">"રિમોટ ઉપકરણોમાં વધુ પડતું ઊંચું વૉલ્યૂમ અથવા નિયંત્રણની કમી જેવી વૉલ્યૂમની સમસ્યાઓની સ્થિતિમાં Bluetooth ચોક્કસ વૉલ્યૂમ સુવિધાને અક્ષમ કરે છે."</string> <string name="enable_terminal_title" msgid="95572094356054120">"સ્થાનિક ટર્મિનલ"</string> <string name="enable_terminal_summary" msgid="67667852659359206">"સ્થાનિક શેલ અૅક્સેસની ઑફર કરતી ટર્મિનલ એપ્લિકેશનને સક્ષમ કરો"</string> @@ -201,14 +201,14 @@ <string name="select_application" msgid="5156029161289091703">"ઍપ્લિકેશન પસંદ કરો"</string> <string name="no_application" msgid="2813387563129153880">"કંઈ નહીં"</string> <string name="wait_for_debugger" msgid="1202370874528893091">"ડીબગર માટે રાહ જુઓ"</string> - <string name="wait_for_debugger_summary" msgid="1766918303462746804">"ડીબગ કરેલ એપ્લિકેશનો ક્રિયાન્વિત થતા પહેલાં ડીબગર જોડાઈ તેની રાહ જુએ છે"</string> + <string name="wait_for_debugger_summary" msgid="1766918303462746804">"ડીબગ કરેલ ઍપ્લિકેશનો ક્રિયાન્વિત થતા પહેલાં ડીબગર જોડાઈ તેની રાહ જુએ છે"</string> <string name="debug_input_category" msgid="1811069939601180246">"ઇનપુટ"</string> <string name="debug_drawing_category" msgid="6755716469267367852">"રેખાંકન"</string> <string name="debug_hw_drawing_category" msgid="6220174216912308658">"હાર્ડવેર પ્રવેગક રેન્ડરિંગ"</string> <string name="media_category" msgid="4388305075496848353">"મીડિયા"</string> <string name="debug_monitoring_category" msgid="7640508148375798343">"નિરિક્ષણ કરી રહ્યું છે"</string> <string name="strict_mode" msgid="1938795874357830695">"સ્ટ્રિક્ટ મોડ સક્ષમ કરેલ છે"</string> - <string name="strict_mode_summary" msgid="142834318897332338">"જ્યારે મુખ્ય થ્રેડ પર એપ્લિકેશનો લાંબી કામગીરીઓ કરે ત્યારે સ્ક્રીનને ફ્લેશ કરો"</string> + <string name="strict_mode_summary" msgid="142834318897332338">"જ્યારે મુખ્ય થ્રેડ પર ઍપ્લિકેશનો લાંબી કામગીરીઓ કરે ત્યારે સ્ક્રીનને ફ્લેશ કરો"</string> <string name="pointer_location" msgid="6084434787496938001">"પોઇન્ટર સ્થાન"</string> <string name="pointer_location_summary" msgid="840819275172753713">"વર્તમાન ટચ ડેટા દર્શાવતું સ્ક્રીન ઓવરલે"</string> <string name="show_touches" msgid="2642976305235070316">"ટૅપ્સ બતાવો"</string> @@ -242,7 +242,7 @@ <string name="transition_animation_scale_title" msgid="387527540523595875">"સંક્રમણ એનિમેશન સ્કેલ"</string> <string name="animator_duration_scale_title" msgid="3406722410819934083">"એનિમેટર અવધિ સ્કેલ"</string> <string name="overlay_display_devices_title" msgid="5364176287998398539">"ગૌણ ડિસ્પ્લેનુ અનુકરણ કરો"</string> - <string name="debug_applications_category" msgid="4206913653849771549">"એપ્લિકેશનો"</string> + <string name="debug_applications_category" msgid="4206913653849771549">"ઍપ્લિકેશનો"</string> <string name="immediately_destroy_activities" msgid="1579659389568133959">"પ્રવૃત્તિઓ રાખશો નહીં"</string> <string name="immediately_destroy_activities_summary" msgid="3592221124808773368">"જેવો વપરાશકર્તા તેને છોડે, તરત જ દરેક પ્રવૃત્તિ નષ્ટ કરો"</string> <string name="app_process_limit_title" msgid="4280600650253107163">"પૃષ્ઠભૂમિ પ્રક્રિયા સીમા"</string> @@ -270,7 +270,7 @@ <item msgid="8280754435979370728">"આંખો વડે જોઈ શકાતાં કુદરતી રંગો"</item> <item msgid="5363960654009010371">"ડિજિટલ સામગ્રી માટે ઓપ્ટિમાઇઝ કરાયેલા રંગો"</item> </string-array> - <string name="inactive_apps_title" msgid="1317817863508274533">"નિષ્ક્રિય એપ્લિકેશનો"</string> + <string name="inactive_apps_title" msgid="1317817863508274533">"નિષ્ક્રિય ઍપ્લિકેશનો"</string> <string name="inactive_app_inactive_summary" msgid="5091363706699855725">"નિષ્ક્રિય. ટોગલ કરવા માટે ટૅપ કરો."</string> <string name="inactive_app_active_summary" msgid="4174921824958516106">"સક્રિય. ટોગલ કરવા માટે ટૅપ કરો."</string> <string name="runningservices_settings_title" msgid="8097287939865165213">"ચાલુ સેવાઓ"</string> diff --git a/packages/SettingsLib/res/values-in/strings.xml b/packages/SettingsLib/res/values-in/strings.xml index 1083a8f16869..e328a9308166 100644 --- a/packages/SettingsLib/res/values-in/strings.xml +++ b/packages/SettingsLib/res/values-in/strings.xml @@ -104,7 +104,7 @@ <string name="tts_default_pitch_title" msgid="6135942113172488671">"Tinggi nada"</string> <string name="tts_default_pitch_summary" msgid="1944885882882650009">"Memengaruhi nada ucapan yang disintesis"</string> <string name="tts_default_lang_title" msgid="8018087612299820556">"Bahasa"</string> - <string name="tts_lang_use_system" msgid="2679252467416513208">"Gunakan bahasa sistem"</string> + <string name="tts_lang_use_system" msgid="2679252467416513208">"Menggunakan bahasa sistem"</string> <string name="tts_lang_not_selected" msgid="7395787019276734765">"Bahasa tidak dipilih"</string> <string name="tts_default_lang_summary" msgid="5219362163902707785">"Menyetel suara spesifik bahasa untuk teks lisan"</string> <string name="tts_play_example_title" msgid="7094780383253097230">"Dengarkan contoh"</string> diff --git a/packages/SettingsLib/res/values-ja/arrays.xml b/packages/SettingsLib/res/values-ja/arrays.xml index 3426b5c5e883..124637729262 100644 --- a/packages/SettingsLib/res/values-ja/arrays.xml +++ b/packages/SettingsLib/res/values-ja/arrays.xml @@ -151,7 +151,7 @@ <item msgid="7899496259191969307">"プロセスの上限: 4"</item> </string-array> <string-array name="usb_configuration_titles"> - <item msgid="488237561639712799">"充電しています"</item> + <item msgid="488237561639712799">"充電"</item> <item msgid="5220695614993094977">"MTP(Media Transfer Protocol)"</item> <item msgid="2086000968159047375">"PTP(Picture Transfer Protocol)"</item> <item msgid="7398830860950841822">"RNDIS(USBイーサネット)"</item> diff --git a/packages/SettingsLib/res/values-ky-rKG/arrays.xml b/packages/SettingsLib/res/values-ky-rKG/arrays.xml index 34c713e87c7b..81beebef15af 100644 --- a/packages/SettingsLib/res/values-ky-rKG/arrays.xml +++ b/packages/SettingsLib/res/values-ky-rKG/arrays.xml @@ -29,7 +29,7 @@ <item msgid="4221763391123233270">"Туташып турат"</item> <item msgid="624838831631122137">"Убактылуу токтотулду"</item> <item msgid="7979680559596111948">"Ажыратылууда…"</item> - <item msgid="1634960474403853625">"Ажыратылды"</item> + <item msgid="1634960474403853625">"Ажыратылган"</item> <item msgid="746097431216080650">"Ийгиликсиз"</item> <item msgid="6367044185730295334">"Бөгөттөлгөн"</item> <item msgid="503942654197908005">"Начар байланыштан убактылуу баш тартууда"</item> @@ -43,7 +43,7 @@ <item msgid="8937994881315223448">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> тармагына туташты"</item> <item msgid="1330262655415760617">"Убактылуу токтотулду"</item> <item msgid="7698638434317271902">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> тармагынан ажыратылууда…"</item> - <item msgid="197508606402264311">"Ажыратылды"</item> + <item msgid="197508606402264311">"Ажыратылган"</item> <item msgid="8578370891960825148">"Ийгиликсиз"</item> <item msgid="5660739516542454527">"Бөгөттөлгөн"</item> <item msgid="1805837518286731242">"Начар байланыштан убактылуу баш тартууда"</item> diff --git a/packages/SettingsLib/res/values-ky-rKG/strings.xml b/packages/SettingsLib/res/values-ky-rKG/strings.xml index 204c66697e16..935d0b371c66 100644 --- a/packages/SettingsLib/res/values-ky-rKG/strings.xml +++ b/packages/SettingsLib/res/values-ky-rKG/strings.xml @@ -34,7 +34,7 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"%1$s аркылуу жеткиликтүү"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"%1$s аркылуу жеткиликтүү"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Туташып турат, Интернет жок"</string> - <string name="bluetooth_disconnected" msgid="6557104142667339895">"Ажыратылды"</string> + <string name="bluetooth_disconnected" msgid="6557104142667339895">"Ажыратылган"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Ажыратылууда…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Туташууда…"</string> <string name="bluetooth_connected" msgid="6038755206916626419">"Туташып турат"</string> diff --git a/packages/SettingsLib/res/values-lt/arrays.xml b/packages/SettingsLib/res/values-lt/arrays.xml index 76ae3fbf06f3..95cc763810a1 100644 --- a/packages/SettingsLib/res/values-lt/arrays.xml +++ b/packages/SettingsLib/res/values-lt/arrays.xml @@ -138,7 +138,7 @@ <item msgid="1851438178120770973">"In adb shell dumpsys gfxinfo"</item> </string-array> <string-array name="debug_hw_overdraw_entries"> - <item msgid="8190572633763871652">"Išjungti"</item> + <item msgid="8190572633763871652">"Išjungta"</item> <item msgid="7688197031296835369">"Rodyti perdangos sritis"</item> <item msgid="2290859360633824369">"Rodyti deuteranomalijos sritis"</item> </string-array> diff --git a/packages/SettingsLib/res/values-mk-rMK/strings.xml b/packages/SettingsLib/res/values-mk-rMK/strings.xml index 2a80e6d72f5c..f0d7e123ae47 100644 --- a/packages/SettingsLib/res/values-mk-rMK/strings.xml +++ b/packages/SettingsLib/res/values-mk-rMK/strings.xml @@ -74,7 +74,7 @@ <string name="bluetooth_pairing_decline" msgid="4185420413578948140">"Откажи"</string> <string name="bluetooth_pairing_will_share_phonebook" msgid="4982239145676394429">"Кога е поврзано, спарувањето одобрува пристап до контактите и историјата на повиците."</string> <string name="bluetooth_pairing_error_message" msgid="3748157733635947087">"Не можеше да се спари со <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> - <string name="bluetooth_pairing_pin_error_message" msgid="8337234855188925274">"Не можеше да се спари со <xliff:g id="DEVICE_NAME">%1$s</xliff:g> поради погрешен ПИН или лозинка."</string> + <string name="bluetooth_pairing_pin_error_message" msgid="8337234855188925274">"Не можеше да се спари со <xliff:g id="DEVICE_NAME">%1$s</xliff:g> поради погрешен PIN или лозинка."</string> <string name="bluetooth_pairing_device_down_error_message" msgid="7870998403045801381">"Не може да комуницира со <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> <string name="bluetooth_pairing_rejected_error_message" msgid="1648157108520832454">"Спарувањето е одбиено од <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> <string name="accessibility_wifi_off" msgid="1166761729660614716">"Wi-Fi е исклучено."</string> @@ -139,7 +139,7 @@ <string name="choose_profile" msgid="8229363046053568878">"Изберете профил"</string> <string name="category_personal" msgid="1299663247844969448">"Лични"</string> <string name="category_work" msgid="8699184680584175622">"Работа"</string> - <string name="development_settings_title" msgid="215179176067683667">"Опции на развивач"</string> + <string name="development_settings_title" msgid="215179176067683667">"Програмерски опции"</string> <string name="development_settings_enable" msgid="542530994778109538">"Овозможете ги опциите за програмери"</string> <string name="development_settings_summary" msgid="1815795401632854041">"Постави опции за развој на апликација"</string> <string name="development_settings_not_available" msgid="4308569041701535607">"Опциите на програмерот не се достапни за овој корисник"</string> diff --git a/packages/SettingsLib/res/values-my-rMM/strings.xml b/packages/SettingsLib/res/values-my-rMM/strings.xml index d7d6b56a5ca3..1a4b6872db18 100644 --- a/packages/SettingsLib/res/values-my-rMM/strings.xml +++ b/packages/SettingsLib/res/values-my-rMM/strings.xml @@ -77,12 +77,12 @@ <string name="bluetooth_pairing_pin_error_message" msgid="8337234855188925274">"ပင်နံပါတ် သို့မဟုတ် ဖြတ်သန်းခွင့်ကီးမမှန်ကန်သောကြောင့်<xliff:g id="DEVICE_NAME">%1$s</xliff:g>နှင့် တွဲချိတ်မရပါ။"</string> <string name="bluetooth_pairing_device_down_error_message" msgid="7870998403045801381">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>နှင့်ဆက်သွယ်မရပါ"</string> <string name="bluetooth_pairing_rejected_error_message" msgid="1648157108520832454">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>နှင့်တွဲချိတ်ရန် ပယ်ချခံရသည်"</string> - <string name="accessibility_wifi_off" msgid="1166761729660614716">"ဝိုင်ဖိုင် မရှိ"</string> - <string name="accessibility_no_wifi" msgid="8834610636137374508">"ဝိုင်ဖိုင် ချိတ်ဆက်ထားမှု မရှိပါ"</string> - <string name="accessibility_wifi_one_bar" msgid="4869376278894301820">"ဝိုင်ဖိုင် ၁ ဘားရှိ"</string> - <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"ဝိုင်ဖိုင် ၂ ဘား"</string> - <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"ဝိုင်ဖိုင် ၃ ဘား"</string> - <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"ဝိုင်ဖိုင် အပြည့်ရှိ"</string> + <string name="accessibility_wifi_off" msgid="1166761729660614716">"Wi-Fi မရှိ"</string> + <string name="accessibility_no_wifi" msgid="8834610636137374508">"Wi-Fi ချိတ်ဆက်ထားမှု မရှိပါ"</string> + <string name="accessibility_wifi_one_bar" msgid="4869376278894301820">"Wi-Fi ၁ ဘားရှိ"</string> + <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wi-Fi ၂ ဘား"</string> + <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wi-Fi ၃ ဘား"</string> + <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Wi-Fi အပြည့်ရှိ"</string> <string name="process_kernel_label" msgid="3916858646836739323">"Android စနစ်"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"ဖယ်ရှားထားသော အပ်ပလီကေးရှင်းများ"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"ဖယ်ရှားထားသော အပလီကေးရှင်းနှင့် သုံးစွဲသူများ"</string> @@ -159,9 +159,9 @@ <string name="oem_unlock_enable_summary" msgid="4720281828891618376">"အစပြုခြင်းကိရိယာအား သော့ဖွင့်ရန် ခွင့်ပြုမည်"</string> <string name="confirm_enable_oem_unlock_title" msgid="4802157344812385674">"OEM သော့ဖွင့်ခြင်း ခွင့်ပြုမလား?"</string> <string name="confirm_enable_oem_unlock_text" msgid="5517144575601647022">"သတိပေးချက်: ဤချိန်ညှိချက်ဖွင့်ထားလျှင်၊ ဤစက်ပစ္စည်းပေါ်တွင် စက်ပစ္စည်းကာကွယ်သည့် အထူးပြုလုပ်ချက် အလုပ်လုပ်မည်မဟုတ်ပါ။"</string> - <string name="mock_location_app" msgid="7966220972812881854">"တည်နေရာအတုပြု app ရွေးရန်"</string> - <string name="mock_location_app_not_set" msgid="809543285495344223">"တည်နေရာအတုပြ app သတ်မှတ်ထားခြင်းမရှိပါ"</string> - <string name="mock_location_app_set" msgid="8966420655295102685">"တည်နေရာအတုပြ app- <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> + <string name="mock_location_app" msgid="7966220972812881854">"တည်နေရာအတုပြု အက်ပ် ရွေးရန်"</string> + <string name="mock_location_app_not_set" msgid="809543285495344223">"တည်နေရာအတုပြ အက်ပ် သတ်မှတ်ထားခြင်းမရှိပါ"</string> + <string name="mock_location_app_set" msgid="8966420655295102685">"တည်နေရာအတုပြ အက်ပ်- <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="debug_networking_category" msgid="7044075693643009662">"ကွန်ရက်လုပ်ငန်း"</string> <string name="wifi_display_certification" msgid="8611569543791307533">"ကြိုးမဲ့ပြသမှု အသိအမှတ်ပြုလက်မှတ်"</string> <string name="wifi_verbose_logging" msgid="4203729756047242344">"Wi‑Fi Verbose မှတ်တမ်းတင်ခြင်းအား ဖွင့်မည်"</string> @@ -270,7 +270,7 @@ <item msgid="8280754435979370728">"မျက်လုံးမှတွေ့ရသည့် သဘာဝအရောင်"</item> <item msgid="5363960654009010371">"ဒီဂျစ်တယ်အကြောင်းအရာအတွက် ပြင်ဆင်ထားသည့် အရောင်များ"</item> </string-array> - <string name="inactive_apps_title" msgid="1317817863508274533">"အလုပ်မလုပ်သော app များ"</string> + <string name="inactive_apps_title" msgid="1317817863508274533">"အလုပ်မလုပ်သော အက်ပ် များ"</string> <string name="inactive_app_inactive_summary" msgid="5091363706699855725">"ပွင့်မနေပါ။ ပြောင်းရန်တို့ပါ။"</string> <string name="inactive_app_active_summary" msgid="4174921824958516106">"ပွင့်နေသည်။ ပြောင်းရန်တို့ပါ။"</string> <string name="runningservices_settings_title" msgid="8097287939865165213">"အလုပ်လုပ်နေသောဝန်ဆောင်မှုများ"</string> diff --git a/packages/SettingsLib/res/values-pa-rIN/strings.xml b/packages/SettingsLib/res/values-pa-rIN/strings.xml index 19893d62fc15..fb17b6c8a9e8 100644 --- a/packages/SettingsLib/res/values-pa-rIN/strings.xml +++ b/packages/SettingsLib/res/values-pa-rIN/strings.xml @@ -22,8 +22,8 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="wifi_fail_to_scan" msgid="1265540342578081461">"ਨੈਟਵਰਕਾਂ ਲਈ ਸਕੈਨ ਨਹੀਂ ਕਰ ਸਕਦਾ"</string> <string name="wifi_security_none" msgid="7985461072596594400">"ਕੋਈ ਨਹੀਂ"</string> - <string name="wifi_remembered" msgid="4955746899347821096">"ਸੁਰੱਖਿਅਤ ਕੀਤਾ"</string> - <string name="wifi_disabled_generic" msgid="4259794910584943386">"ਅਸਮਰੱਥ ਬਣਾਇਆ"</string> + <string name="wifi_remembered" msgid="4955746899347821096">"ਰੱਖਿਅਤ ਕੀਤਾ"</string> + <string name="wifi_disabled_generic" msgid="4259794910584943386">"ਅਯੋਗ ਬਣਾਇਆ"</string> <string name="wifi_disabled_network_failure" msgid="2364951338436007124">"IP ਕੌਂਫਿਗਰੇਸ਼ਨ ਅਸਫਲਤਾ"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"WiFi ਕਨੈਕਸ਼ਨ ਅਸਫਲਤਾ"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"ਪ੍ਰਮਾਣੀਕਰਨ ਸਮੱਸਿਆ"</string> @@ -94,7 +94,7 @@ <string name="managed_user_title" msgid="8109605045406748842">"ਸਾਰੀਆਂ ਕੰਮ ਐਪਾਂ"</string> <string name="user_guest" msgid="8475274842845401871">"ਮਹਿਮਾਨ"</string> <string name="unknown" msgid="1592123443519355854">"ਅਗਿਆਤ"</string> - <string name="running_process_item_user_label" msgid="3129887865552025943">"ਉਪਭੋਗਤਾ: <xliff:g id="USER_NAME">%1$s</xliff:g>"</string> + <string name="running_process_item_user_label" msgid="3129887865552025943">"ਵਰਤੋਂਕਾਰ: <xliff:g id="USER_NAME">%1$s</xliff:g>"</string> <string name="launch_defaults_some" msgid="313159469856372621">"ਕੁਝ ਡਿਫੌਲਟਸ ਸੈਟ ਕੀਤੇ"</string> <string name="launch_defaults_none" msgid="4241129108140034876">"ਕੋਈ ਡਿਫੌਲਟਸ ਸੈਟ ਨਹੀਂ ਕੀਤੇ"</string> <string name="tts_settings" msgid="8186971894801348327">"ਟੈਕਸਟ-ਟੂ-ਸਪੀਚ ਸੈਟਿੰਗਾਂ"</string> @@ -288,7 +288,7 @@ <string name="button_convert_fbe" msgid="5152671181309826405">"ਮਿਟਾਓ ਅਤੇ ਤਬਦੀਲ ਕਰੋ..."</string> <string name="picture_color_mode" msgid="4560755008730283695">"ਤਸਵੀਰ ਰੰਗ ਮੋਡ"</string> <string name="picture_color_mode_desc" msgid="1141891467675548590">"sRGB ਵਰਤੋਂ ਕਰੋ"</string> - <string name="daltonizer_mode_disabled" msgid="7482661936053801862">"ਅਸਮਰੱਥ ਬਣਾਇਆ"</string> + <string name="daltonizer_mode_disabled" msgid="7482661936053801862">"ਅਯੋਗ ਬਣਾਇਆ"</string> <string name="daltonizer_mode_monochromacy" msgid="8485709880666106721">"Monochromacy"</string> <string name="daltonizer_mode_deuteranomaly" msgid="5475532989673586329">"Deuteranomaly (ਲਾਲ-ਹਰਾ)"</string> <string name="daltonizer_mode_protanomaly" msgid="8424148009038666065">"Protanomaly (ਲਾਲ-ਹਰਾ)"</string> @@ -313,7 +313,7 @@ <string name="battery_info_status_charging" msgid="1705179948350365604">"ਚਾਰਜਿੰਗ"</string> <string name="battery_info_status_charging_ac" msgid="2909861890674399949">"AC ਤੇ ਚਾਰਜਿੰਗ"</string> <string name="battery_info_status_charging_ac_short" msgid="7431401092096415502">"ਚਾਰਜ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"</string> - <string name="battery_info_status_charging_usb" msgid="2207489369680923929">"USB ਤੇ ਚਾਰਜਿੰਗ"</string> + <string name="battery_info_status_charging_usb" msgid="2207489369680923929">"USB \'ਤੇ ਚਾਰਜ ਹੋ ਰਹੀ ਹੈ"</string> <string name="battery_info_status_charging_usb_short" msgid="6733371990319101366">"ਚਾਰਜ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"</string> <string name="battery_info_status_charging_wireless" msgid="3574032603735446573">"ਵਾਇਰਲੈਸ ਤੌਰ ਤੇ ਚਾਰਜਿੰਗ"</string> <string name="battery_info_status_charging_wireless_short" msgid="752569941028903610">"ਚਾਰਜ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"</string> diff --git a/packages/SettingsLib/res/values-ro/strings.xml b/packages/SettingsLib/res/values-ro/strings.xml index 5dfdba525b02..58db725a54fb 100644 --- a/packages/SettingsLib/res/values-ro/strings.xml +++ b/packages/SettingsLib/res/values-ro/strings.xml @@ -98,7 +98,7 @@ <string name="launch_defaults_some" msgid="313159469856372621">"Unele valori prestabilite sunt configurate"</string> <string name="launch_defaults_none" msgid="4241129108140034876">"Nu este configurată nicio valoare prestabilită"</string> <string name="tts_settings" msgid="8186971894801348327">"Setări text în vorbire"</string> - <string name="tts_settings_title" msgid="1237820681016639683">"Transformare text în vorbire"</string> + <string name="tts_settings_title" msgid="1237820681016639683">"Transformarea textului în vorbire"</string> <string name="tts_default_rate_title" msgid="6030550998379310088">"Ritmul vorbirii"</string> <string name="tts_default_rate_summary" msgid="4061815292287182801">"Viteza cu care este vorbit textul"</string> <string name="tts_default_pitch_title" msgid="6135942113172488671">"Înălțime"</string> diff --git a/packages/SettingsLib/res/values-si-rLK/strings.xml b/packages/SettingsLib/res/values-si-rLK/strings.xml index 994acb9d6145..30e7b81999aa 100644 --- a/packages/SettingsLib/res/values-si-rLK/strings.xml +++ b/packages/SettingsLib/res/values-si-rLK/strings.xml @@ -98,7 +98,7 @@ <string name="launch_defaults_some" msgid="313159469856372621">"ඇතැම් පෙරනිමියන් සකස් කර ඇත"</string> <string name="launch_defaults_none" msgid="4241129108140034876">"පෙරනිමියන් සකසා නොමැත"</string> <string name="tts_settings" msgid="8186971894801348327">"පෙළ-සිට-කථාවට සැකසුම්"</string> - <string name="tts_settings_title" msgid="1237820681016639683">"පෙළ-සිට-කථන ප්රතිදානය"</string> + <string name="tts_settings_title" msgid="1237820681016639683">"පෙළින්-කථන ප්රතිදානය"</string> <string name="tts_default_rate_title" msgid="6030550998379310088">"කථන ශීඝ්රතාව"</string> <string name="tts_default_rate_summary" msgid="4061815292287182801">"පෙළ කථා කරනා වේගය"</string> <string name="tts_default_pitch_title" msgid="6135942113172488671">"තාරතාව"</string> diff --git a/packages/SettingsLib/res/values-ta-rIN/strings.xml b/packages/SettingsLib/res/values-ta-rIN/strings.xml index 5c0c9cf7498b..cdd95cf76d7e 100644 --- a/packages/SettingsLib/res/values-ta-rIN/strings.xml +++ b/packages/SettingsLib/res/values-ta-rIN/strings.xml @@ -104,7 +104,7 @@ <string name="tts_default_pitch_title" msgid="6135942113172488671">"ஒலித்திறன்"</string> <string name="tts_default_pitch_summary" msgid="1944885882882650009">"உருவாக்கப்படும் பேச்சின் டோன் பாதிக்கப்படும்"</string> <string name="tts_default_lang_title" msgid="8018087612299820556">"மொழி"</string> - <string name="tts_lang_use_system" msgid="2679252467416513208">"முறைமையின் மொழியைப் பயன்படுத்து"</string> + <string name="tts_lang_use_system" msgid="2679252467416513208">"அமைப்பின் மொழியில்"</string> <string name="tts_lang_not_selected" msgid="7395787019276734765">"மொழி தேர்ந்தெடுக்கப்படவில்லை"</string> <string name="tts_default_lang_summary" msgid="5219362163902707785">"பேசப்படும் உரைக்கு மொழி சார்ந்த குரலை அமைக்கிறது"</string> <string name="tts_play_example_title" msgid="7094780383253097230">"எடுத்துக்காட்டைக் கவனிக்கவும்"</string> diff --git a/packages/SettingsLib/res/values-tr/strings.xml b/packages/SettingsLib/res/values-tr/strings.xml index ff62803e29ad..de8222be343f 100644 --- a/packages/SettingsLib/res/values-tr/strings.xml +++ b/packages/SettingsLib/res/values-tr/strings.xml @@ -83,7 +83,7 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Kablosuz sinyal gücü iki çubuk."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Kablosuz sinyal gücü üç çubuk."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Kablosuz sinyal gücü tam."</string> - <string name="process_kernel_label" msgid="3916858646836739323">"Android İS"</string> + <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Kaldırılan uygulamalar"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Kaldırılmış kullanıcılar ve uygulamalar"</string> <string name="tether_settings_title_usb" msgid="6688416425801386511">"USB tethering"</string> diff --git a/packages/SettingsLib/res/values-uz-rUZ/strings.xml b/packages/SettingsLib/res/values-uz-rUZ/strings.xml index 6196179fb34f..dc103397cd3c 100644 --- a/packages/SettingsLib/res/values-uz-rUZ/strings.xml +++ b/packages/SettingsLib/res/values-uz-rUZ/strings.xml @@ -93,7 +93,7 @@ <string name="tether_settings_title_all" msgid="8356136101061143841">"Modem rejimi"</string> <string name="managed_user_title" msgid="8109605045406748842">"Barcha ishchi ilovalar"</string> <string name="user_guest" msgid="8475274842845401871">"Mehmon"</string> - <string name="unknown" msgid="1592123443519355854">"Noma‘lum"</string> + <string name="unknown" msgid="1592123443519355854">"Noma’lum"</string> <string name="running_process_item_user_label" msgid="3129887865552025943">"Foydalanuvchi: <xliff:g id="USER_NAME">%1$s</xliff:g>"</string> <string name="launch_defaults_some" msgid="313159469856372621">"Ba’zi birlamchi sozlamalar o‘rnatilgan"</string> <string name="launch_defaults_none" msgid="4241129108140034876">"Birlamchi sozlamalar o‘rnatilmagan"</string> @@ -112,7 +112,7 @@ <string name="tts_install_data_title" msgid="4264378440508149986">"Ovoz ma’lumotlarini o‘rnatish"</string> <string name="tts_install_data_summary" msgid="5742135732511822589">"Nutq sintezi uchun kerakli ovoz ma’lumotlarini o‘rnatish"</string> <string name="tts_engine_security_warning" msgid="8786238102020223650">"Ushbu nutq sintezi mexanizmi barcha yozgan matnlaringizni to‘plab olishi mumkin, jumladan kredit karta raqamlari va parollar kabi shaxsiy ma‘lumotlarni ham. U <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> mexanizmi bilan o‘rnatiladi. Ushbu nutq sintezi mexanizmidan foydalanilsinmi?"</string> - <string name="tts_engine_network_required" msgid="1190837151485314743">"Bu til matnni nutqga o‘girish uchun faol Internet ulanishini talab qiladi."</string> + <string name="tts_engine_network_required" msgid="1190837151485314743">"Bu til uchun nutq sintezatorini yoqish uchun Internetga ulaning."</string> <string name="tts_default_sample_string" msgid="4040835213373086322">"Bu nutq sintezining misoli"</string> <string name="tts_status_title" msgid="7268566550242584413">"Birlamchi til"</string> <string name="tts_status_ok" msgid="1309762510278029765">"<xliff:g id="LOCALE">%1$s</xliff:g> – to‘liq qo‘llab-quvvatlanadi"</string> @@ -305,7 +305,7 @@ <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="power_charging_duration_ac" msgid="3969186192576594254">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g>, o‘zgaruvchan tok orqali to‘lguncha"</string> <string name="power_charging_duration_ac_short" msgid="7895864687218765582">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_charging_duration_usb" msgid="182405645340976546">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g>, USB orqali to‘lguncha"</string> + <string name="power_charging_duration_usb" msgid="182405645340976546">"<xliff:g id="LEVEL">%1$s</xliff:g> – quvvati to‘lguncha <xliff:g id="TIME">%2$s</xliff:g> qoldi (USB orqali)"</string> <string name="power_charging_duration_usb_short" msgid="941854728040426399">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="power_charging_duration_wireless" msgid="1829295708243159464">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g>, simsiz quvvatlash orqali to‘lguncha"</string> <string name="power_charging_duration_wireless_short" msgid="1642664799869599476">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g>"</string> @@ -313,7 +313,7 @@ <string name="battery_info_status_charging" msgid="1705179948350365604">"Quvvat olmoqda"</string> <string name="battery_info_status_charging_ac" msgid="2909861890674399949">"Quvvat olmoqda (AC)"</string> <string name="battery_info_status_charging_ac_short" msgid="7431401092096415502">"Quvvat olmoqda"</string> - <string name="battery_info_status_charging_usb" msgid="2207489369680923929">"Quvvat olmoqda (USB)"</string> + <string name="battery_info_status_charging_usb" msgid="2207489369680923929">"USB orqali quvvat olmoqda"</string> <string name="battery_info_status_charging_usb_short" msgid="6733371990319101366">"Quvvat olmoqda"</string> <string name="battery_info_status_charging_wireless" msgid="3574032603735446573">"Simsiz quvvat olmoqda"</string> <string name="battery_info_status_charging_wireless_short" msgid="752569941028903610">"Quvvat olmoqda"</string> @@ -327,7 +327,7 @@ <string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> oldin"</string> <string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> qoldi"</string> <string name="screen_zoom_summary_small" msgid="5867245310241621570">"Kichkina"</string> - <string name="screen_zoom_summary_default" msgid="2247006805614056507">"Birlamchi"</string> + <string name="screen_zoom_summary_default" msgid="2247006805614056507">"Standart"</string> <string name="screen_zoom_summary_large" msgid="4835294730065424084">"Katta"</string> <string name="screen_zoom_summary_very_large" msgid="7108563375663670067">"Kattaroq"</string> <string name="screen_zoom_summary_extremely_large" msgid="7427320168263276227">"Eng katta"</string> diff --git a/packages/SettingsLib/res/values/strings.xml b/packages/SettingsLib/res/values/strings.xml index 7a8c6f29f20e..89c46d74e710 100644 --- a/packages/SettingsLib/res/values/strings.xml +++ b/packages/SettingsLib/res/values/strings.xml @@ -809,7 +809,8 @@ <!-- Option in navigation drawer that leads to Settings main screen [CHAR LIMIT=30] --> <string name="home">Settings Home</string> - <string-array name="battery_labels" translatable="false"> + <!-- Labels on the side of batter graph in Quick Settings and Settings [CHAR LIMIT=8] --> + <string-array name="battery_labels"> <item>0%</item> <item>50%</item> <item>100%</item> diff --git a/packages/SettingsProvider/res/values-az-rAZ/strings.xml b/packages/SettingsProvider/res/values-az-rAZ/strings.xml index a4d0d43fa514..e99e99bc82ef 100644 --- a/packages/SettingsProvider/res/values-az-rAZ/strings.xml +++ b/packages/SettingsProvider/res/values-az-rAZ/strings.xml @@ -19,5 +19,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_label" msgid="4567566098528588863">"Parametrlər Deposu"</string> + <string name="app_label" msgid="4567566098528588863">"Ayarlar Deposu"</string> </resources> diff --git a/packages/SettingsProvider/res/values-mk-rMK/strings.xml b/packages/SettingsProvider/res/values-mk-rMK/strings.xml index 088cfff9d4e2..f281baea384d 100644 --- a/packages/SettingsProvider/res/values-mk-rMK/strings.xml +++ b/packages/SettingsProvider/res/values-mk-rMK/strings.xml @@ -19,5 +19,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_label" msgid="4567566098528588863">"Меморирање подесувања"</string> + <string name="app_label" msgid="4567566098528588863">"Поставки за меморија"</string> </resources> diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsBackupAgent.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsBackupAgent.java index 029a1259cd1b..f8fb1e579446 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsBackupAgent.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsBackupAgent.java @@ -329,7 +329,8 @@ public class SettingsBackupAgent extends BackupAgentHelper { final HashSet<Network> mKnownNetworks = new HashSet<Network>(); final ArrayList<Network> mNetworks = new ArrayList<Network>(8); - public void readNetworks(BufferedReader in, List<WifiConfiguration> whitelist) { + public void readNetworks(BufferedReader in, List<WifiConfiguration> whitelist, + boolean acceptEapNetworks) { try { String line; while (in.ready()) { @@ -348,7 +349,7 @@ public class SettingsBackupAgent extends BackupAgentHelper { } } // Don't propagate EAP network definitions - if (net.isEap) { + if (net.isEap && !acceptEapNetworks) { if (DEBUG_BACKUP) { Log.v(TAG, "Skipping EAP network " + net.ssid + " / " + net.key_mgmt); } @@ -1176,7 +1177,7 @@ public class SettingsBackupAgent extends BackupAgentHelper { WifiNetworkSettings fromFile = new WifiNetworkSettings(); br = new BufferedReader(new FileReader(file)); - fromFile.readNetworks(br, configs); + fromFile.readNetworks(br, configs, false); // Write the parsed networks into a packed byte array if (fromFile.mKnownNetworks.size() > 0) { @@ -1204,7 +1205,7 @@ public class SettingsBackupAgent extends BackupAgentHelper { if (supplicantFile.exists()) { // Retain the existing APs; we'll append the restored ones to them BufferedReader in = new BufferedReader(new FileReader(FILE_WIFI_SUPPLICANT)); - supplicantImage.readNetworks(in, null); + supplicantImage.readNetworks(in, null, true); in.close(); supplicantFile.delete(); @@ -1215,7 +1216,7 @@ public class SettingsBackupAgent extends BackupAgentHelper { char[] restoredAsBytes = new char[size]; for (int i = 0; i < size; i++) restoredAsBytes[i] = (char) bytes[i]; BufferedReader in = new BufferedReader(new CharArrayReader(restoredAsBytes)); - supplicantImage.readNetworks(in, null); + supplicantImage.readNetworks(in, null, false); if (DEBUG_BACKUP) { Log.v(TAG, "Final AP list:"); @@ -1371,4 +1372,4 @@ public class SettingsBackupAgent extends BackupAgentHelper { } return WifiManager.WIFI_STATE_UNKNOWN; } -}
\ No newline at end of file +} diff --git a/packages/Shell/src/com/android/shell/BugreportProgressService.java b/packages/Shell/src/com/android/shell/BugreportProgressService.java index 474e3e64ad3d..6bc4df71fc5c 100644 --- a/packages/Shell/src/com/android/shell/BugreportProgressService.java +++ b/packages/Shell/src/com/android/shell/BugreportProgressService.java @@ -815,6 +815,14 @@ public class BugreportProgressService extends Service { */ private void onBugreportFinished(int id, Intent intent) { final File bugreportFile = getFileExtra(intent, EXTRA_BUGREPORT); + // Since BugreportProvider and BugreportProgressService aren't tightly coupled, + // we need to make sure they are explicitly tied to a single unique notification URI + // so that the service can alert the provider of changes it has done (ie. new bug + // reports) + // See { @link Cursor#setNotificationUri } and {@link ContentResolver#notifyChanges } + final Uri notificationUri = BugreportStorageProvider.getNotificationUri(); + mContext.getContentResolver().notifyChange(notificationUri, null, false); + if (bugreportFile == null) { // Should never happen, dumpstate always set the file. Log.wtf(TAG, "Missing " + EXTRA_BUGREPORT + " on intent " + intent); diff --git a/packages/Shell/src/com/android/shell/BugreportStorageProvider.java b/packages/Shell/src/com/android/shell/BugreportStorageProvider.java index 0f92fa6e8add..8b0759942df8 100644 --- a/packages/Shell/src/com/android/shell/BugreportStorageProvider.java +++ b/packages/Shell/src/com/android/shell/BugreportStorageProvider.java @@ -19,9 +19,11 @@ package com.android.shell; import android.database.Cursor; import android.database.MatrixCursor; import android.database.MatrixCursor.RowBuilder; +import android.net.Uri; import android.os.CancellationSignal; import android.os.FileUtils; import android.os.ParcelFileDescriptor; +import android.provider.DocumentsContract; import android.provider.DocumentsContract.Document; import android.provider.DocumentsContract.Root; import android.provider.DocumentsProvider; @@ -32,6 +34,7 @@ import java.io.File; import java.io.FileNotFoundException; public class BugreportStorageProvider extends DocumentsProvider { + private static final String AUTHORITY = "com.android.shell.documents"; private static final String DOC_ID_ROOT = "bugreport"; private static final String[] DEFAULT_ROOT_PROJECTION = new String[] { @@ -103,6 +106,7 @@ public class BugreportStorageProvider extends DocumentsProvider { for (File file : files) { addFileRow(result, file); } + result.setNotificationUri(getContext().getContentResolver(), getNotificationUri()); } } return result; @@ -130,6 +134,12 @@ public class BugreportStorageProvider extends DocumentsProvider { } } + // This is used by BugreportProgressService so that the notification uri shared by + // BugreportProgressService and BugreportStorageProvider are guaranteed the same and unique + protected static Uri getNotificationUri() { + return DocumentsContract.buildChildDocumentsUri(AUTHORITY, DOC_ID_ROOT); + } + private static String[] resolveRootProjection(String[] projection) { return projection != null ? projection : DEFAULT_ROOT_PROJECTION; } diff --git a/packages/SystemUI/res/layout-television/recents_tv_task_card_view.xml b/packages/SystemUI/res/layout-television/recents_tv_task_card_view.xml index 201f47d4348c..36df92454e7c 100644 --- a/packages/SystemUI/res/layout-television/recents_tv_task_card_view.xml +++ b/packages/SystemUI/res/layout-television/recents_tv_task_card_view.xml @@ -19,6 +19,7 @@ android:layout_height="wrap_content" android:focusable="true" android:focusableInTouchMode="true" + android:contentDescription="@string/status_bar_recent_inspect_item_title" android:layout_gravity="center" android:layout_centerInParent="true" android:clipToPadding="false" @@ -49,6 +50,7 @@ android:layout_gravity="center_horizontal" android:layout_marginTop="@dimen/recents_tv_dismiss_icon_top_margin" android:layout_marginBottom="@dimen/recents_tv_dismiss_icon_bottom_margin" + android:contentDescription="@string/status_bar_accessibility_dismiss_recents" android:alpha="@integer/dismiss_unselected_alpha" android:src="@drawable/recents_tv_dismiss_icon" /> <TextView diff --git a/packages/SystemUI/res/layout/navigation_bar.xml b/packages/SystemUI/res/layout/navigation_bar.xml index 36e937d4d3ef..8ba4c9c05ba6 100644 --- a/packages/SystemUI/res/layout/navigation_bar.xml +++ b/packages/SystemUI/res/layout/navigation_bar.xml @@ -27,12 +27,6 @@ <com.android.systemui.statusbar.phone.NavigationBarInflaterView android:id="@+id/navigation_inflater" android:layout_width="match_parent" - android:layout_height="match_parent"> - - <include android:id="@+id/rot0" layout="@layout/navigation_layout" /> - - <include android:id="@+id/rot90" layout="@layout/navigation_layout_rot90" /> - - </com.android.systemui.statusbar.phone.NavigationBarInflaterView> + android:layout_height="match_parent" /> </com.android.systemui.statusbar.phone.NavigationBarView> diff --git a/packages/SystemUI/res/layout/notification_children_divider.xml b/packages/SystemUI/res/layout/notification_children_divider.xml index dad7cea3d989..76315b8e765f 100644 --- a/packages/SystemUI/res/layout/notification_children_divider.xml +++ b/packages/SystemUI/res/layout/notification_children_divider.xml @@ -20,4 +20,4 @@ android:id="@+id/notification_more_divider" android:layout_width="match_parent" android:layout_height="@dimen/notification_divider_height" - android:background="#61000000" /> + android:background="#FF616161" /> diff --git a/packages/SystemUI/res/layout/qs_customize_panel_content.xml b/packages/SystemUI/res/layout/qs_customize_panel_content.xml index 64385649fe14..ca0248e066eb 100644 --- a/packages/SystemUI/res/layout/qs_customize_panel_content.xml +++ b/packages/SystemUI/res/layout/qs_customize_panel_content.xml @@ -35,6 +35,7 @@ android:importantForAccessibility="no" /> <View + android:id="@+id/nav_bar_background" android:layout_width="match_parent" android:layout_height="@dimen/navigation_bar_size" android:layout_gravity="bottom" diff --git a/packages/SystemUI/res/layout/status_bar_expanded.xml b/packages/SystemUI/res/layout/status_bar_expanded.xml index 658571e8674d..2c8a55955b4b 100644 --- a/packages/SystemUI/res/layout/status_bar_expanded.xml +++ b/packages/SystemUI/res/layout/status_bar_expanded.xml @@ -53,8 +53,7 @@ android:layout_width="@dimen/notification_panel_width" android:layout_height="match_parent" android:layout_gravity="@integer/notification_panel_layout_gravity" - android:layout_marginBottom="@dimen/close_handle_underlap" - android:importantForAccessibility="no" /> + android:layout_marginBottom="@dimen/close_handle_underlap" /> <ViewStub android:id="@+id/keyguard_user_switcher" diff --git a/packages/SystemUI/res/values-az-rAZ/strings.xml b/packages/SystemUI/res/values-az-rAZ/strings.xml index 59e9d9b743d9..683651dd9aca 100644 --- a/packages/SystemUI/res/values-az-rAZ/strings.xml +++ b/packages/SystemUI/res/values-az-rAZ/strings.xml @@ -44,7 +44,7 @@ <string name="battery_saver_start_action" msgid="5576697451677486320">"Enerjiyə qənaət rejimini aktivləşdirin"</string> <string name="status_bar_settings_settings_button" msgid="3023889916699270224">"Ayarlar"</string> <string name="status_bar_settings_wifi_button" msgid="1733928151698311923">"Wi-Fi"</string> - <string name="status_bar_settings_auto_rotation" msgid="3790482541357798421">"Ekranın avto-dönüşü"</string> + <string name="status_bar_settings_auto_rotation" msgid="3790482541357798421">"Ekran avtodönüşü"</string> <string name="status_bar_settings_mute_label" msgid="554682549917429396">"SUSDUR"</string> <string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"AVTO"</string> <string name="status_bar_settings_notifications" msgid="397146176280905137">"Bildirişlər"</string> @@ -145,7 +145,7 @@ <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string> <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string> <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string> - <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Rouminq"</string> + <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Rominq"</string> <string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string> <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string> <string name="accessibility_no_sim" msgid="8274017118472455155">"SIM yoxdur"</string> @@ -265,8 +265,8 @@ <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth bağlıdır"</string> <string name="quick_settings_bluetooth_detail_empty_text" msgid="4910015762433302860">"Heç bir cütlənmiş cihaz əlçatan deyil"</string> <string name="quick_settings_brightness_label" msgid="6968372297018755815">"Parlaqlıq"</string> - <string name="quick_settings_rotation_unlocked_label" msgid="7305323031808150099">"Avto-fırlanma"</string> - <string name="accessibility_quick_settings_rotation" msgid="4231661040698488779">"Ekranın avto-dönüşü"</string> + <string name="quick_settings_rotation_unlocked_label" msgid="7305323031808150099">"Avtodönüş"</string> + <string name="accessibility_quick_settings_rotation" msgid="4231661040698488779">"Ekran avtodönüşü"</string> <string name="accessibility_quick_settings_rotation_value" msgid="1428962304214992318">"<xliff:g id="ID_1">%s</xliff:g> ölçüsünə ayarlandı"</string> <string name="quick_settings_rotation_locked_label" msgid="6359205706154282377">"Fırlanma kilidlidir"</string> <string name="quick_settings_rotation_locked_portrait_label" msgid="5102691921442135053">"Portret"</string> @@ -276,7 +276,7 @@ <string name="quick_settings_location_off_label" msgid="7464544086507331459">"Yer Deaktiv"</string> <string name="quick_settings_media_device_label" msgid="1302906836372603762">"Media cihazı"</string> <string name="quick_settings_rssi_label" msgid="7725671335550695589">"RSSI"</string> - <string name="quick_settings_rssi_emergency_only" msgid="2713774041672886750">"Yalnız fövqəladə zənglər"</string> + <string name="quick_settings_rssi_emergency_only" msgid="2713774041672886750">"Yalnız təcili zənglər"</string> <string name="quick_settings_settings_label" msgid="5326556592578065401">"Nizamlar"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Vaxt"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Mən"</string> @@ -297,7 +297,7 @@ <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"AVTO"</string> <string name="quick_settings_inversion_label" msgid="8790919884718619648">"Rəngləri çevirin"</string> <string name="quick_settings_color_space_label" msgid="853443689745584770">"Rəng korreksiyası rejimi"</string> - <string name="quick_settings_more_settings" msgid="326112621462813682">"Daha çox ayar"</string> + <string name="quick_settings_more_settings" msgid="326112621462813682">"Digər ayarlar"</string> <string name="quick_settings_done" msgid="3402999958839153376">"Hazır"</string> <string name="quick_settings_connected" msgid="1722253542984847487">"Qoşulu"</string> <string name="quick_settings_connecting" msgid="47623027419264404">"Qoşulur..."</string> @@ -511,7 +511,7 @@ <string name="use_dark_theme" msgid="2900938704964299312">"Android OS üçün tünd tema istifadə edin"</string> <string name="adjust_tint" msgid="3398569573231409878">"Çaları nizamlayın"</string> <string name="adjust_brightness" msgid="980039329808178246">"Parlaqlığı nizamlayın"</string> - <string name="night_mode_disclaimer" msgid="598914896926759578">"Tünd tema Android OS sisteminin adətən işıqlı tema göstərilən Ayarlar kimi əsas sahələri üçün tətbiq edilir."</string> + <string name="night_mode_disclaimer" msgid="598914896926759578">"Tünd tema Android sisteminin adətən açıq tonda göstərilən əsas elementlərinə (məsələn, \"Ayarlar\") tətbiq edilir."</string> <string name="color_apply" msgid="9212602012641034283">"Tətbiq edin"</string> <string name="color_revert_title" msgid="4746666545480534663">"Ayarları təsdiq edin"</string> <string name="color_revert_message" msgid="9116001069397996691">"Bəzi renk ayarları bu cihazı yararsız edə bilər. Bu rənk ayarlarını təsdiq etmək üçün OK basın, əks halda bu ayarlar 10 saniyə sonra sıfırlanacaq."</string> diff --git a/packages/SystemUI/res/values-be-rBY/strings.xml b/packages/SystemUI/res/values-be-rBY/strings.xml index 42994cf27839..bc1259a3ddf8 100644 --- a/packages/SystemUI/res/values-be-rBY/strings.xml +++ b/packages/SystemUI/res/values-be-rBY/strings.xml @@ -317,7 +317,7 @@ <string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"Ліміт <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string> <string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"Папярэджанне: <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string> <string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Рэжым працы"</string> - <string name="recents_empty_message" msgid="808480104164008572">"Няма апошніх элементаў"</string> + <string name="recents_empty_message" msgid="808480104164008572">"Няма нядаўніх элементаў"</string> <string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Вы ачысцілі усё"</string> <string name="recents_app_info_button_label" msgid="2890317189376000030">"Звесткі аб праграме"</string> <string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"замацаванне экрана"</string> @@ -383,7 +383,7 @@ <string name="user_logout_notification_text" msgid="3350262809611876284">"Выканаць выхад бягучага карыстальніка"</string> <string name="user_logout_notification_action" msgid="1195428991423425062">"ВЫКАНАЦЬ ВЫХАД КАРЫСТАЛЬНІКА"</string> <string name="user_add_user_title" msgid="4553596395824132638">"Дадаць новага карыстальніка?"</string> - <string name="user_add_user_message_short" msgid="2161624834066214559">"Калі вы дадаяце новага карыстальніка, ён павінен наладзіць свой раздзел.\n\nЛюбы карыстальнік можа абнаўляць праграмы для ўсіх астатніх карыстальнікаў."</string> + <string name="user_add_user_message_short" msgid="2161624834066214559">"Пасля стварэння профіля яго трэба наладзіць.\n\nЛюбы карыстальнік прылады можа абнаўляць праграмы ўсіх іншых карыстальнікаў."</string> <string name="user_remove_user_title" msgid="4681256956076895559">"Выдаліць карыстальніка?"</string> <string name="user_remove_user_message" msgid="1453218013959498039">"Усе праграмы і даныя гэтага карыстальніка будуць выдалены."</string> <string name="user_remove_user_remove" msgid="7479275741742178297">"Выдаліць"</string> diff --git a/packages/SystemUI/res/values-bs-rBA/strings.xml b/packages/SystemUI/res/values-bs-rBA/strings.xml index 9a82b8f49907..ef9926f86bdd 100644 --- a/packages/SystemUI/res/values-bs-rBA/strings.xml +++ b/packages/SystemUI/res/values-bs-rBA/strings.xml @@ -599,7 +599,7 @@ <string name="keycode_description" msgid="1403795192716828949">"Dugmad za kodiranje tipki omogućavaju da se tipke sa tipkovnice dodaju u navigacionu traku. Kada se pritisnu, oni oponašaju izabranu tipku tastature. Kao prvo, tipka mora biti izabrana za dugme, a nakon toga se bira slika koja će biti prikazana na njemu."</string> <string name="select_keycode" msgid="7413765103381924584">"Odaberite dugme na tastaturi"</string> <string name="preview" msgid="9077832302472282938">"Pregledaj"</string> - <string name="drag_to_add_tiles" msgid="7058945779098711293">"Povucite da biste dodali polja"</string> + <string name="drag_to_add_tiles" msgid="7058945779098711293">"Povucite da dodate polja"</string> <string name="drag_to_remove_tiles" msgid="3361212377437088062">"Prevucite ovdje za uklanjanje"</string> <string name="qs_edit" msgid="2232596095725105230">"Uredi"</string> <string name="tuner_time" msgid="6572217313285536011">"Vrijeme"</string> diff --git a/packages/SystemUI/res/values-ca/strings.xml b/packages/SystemUI/res/values-ca/strings.xml index 166282a770b8..cb765fb1d0e9 100644 --- a/packages/SystemUI/res/values-ca/strings.xml +++ b/packages/SystemUI/res/values-ca/strings.xml @@ -48,7 +48,7 @@ <string name="status_bar_settings_mute_label" msgid="554682549917429396">"Silen."</string> <string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"AUTO."</string> <string name="status_bar_settings_notifications" msgid="397146176280905137">"Notificacions"</string> - <string name="bluetooth_tethered" msgid="7094101612161133267">"Bluetooth ancorat"</string> + <string name="bluetooth_tethered" msgid="7094101612161133267">"Xarxa compartida per Bluetooth"</string> <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Configura els mètodes d\'entrada"</string> <string name="status_bar_use_physical_keyboard" msgid="7551903084416057810">"Teclat físic"</string> <string name="usb_device_permission_prompt" msgid="834698001271562057">"Vols permetre que l\'aplicació <xliff:g id="APPLICATION">%1$s</xliff:g> accedeixi al dispositiu USB?"</string> @@ -152,7 +152,7 @@ <string name="accessibility_cell_data" msgid="7080312242791850520">"Dades mòbils"</string> <string name="accessibility_cell_data_on" msgid="4310018593519761767">"Les dades mòbils estan activades"</string> <string name="accessibility_cell_data_off" msgid="8000803571751407635">"Les dades mòbils estan desactivades"</string> - <string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Ancoratge de Bluetooth"</string> + <string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Compartició de xarxa per Bluetooth"</string> <string name="accessibility_airplane_mode" msgid="834748999790763092">"Mode d\'avió."</string> <string name="accessibility_no_sims" msgid="3957997018324995781">"No hi ha cap targeta SIM."</string> <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"S\'està canviant la xarxa de l\'operador de telefonia mòbil."</string> @@ -301,7 +301,7 @@ <string name="quick_settings_done" msgid="3402999958839153376">"Fet"</string> <string name="quick_settings_connected" msgid="1722253542984847487">"Connectat"</string> <string name="quick_settings_connecting" msgid="47623027419264404">"S\'està connectant..."</string> - <string name="quick_settings_tethering_label" msgid="7153452060448575549">"Ancoratge a xarxa"</string> + <string name="quick_settings_tethering_label" msgid="7153452060448575549">"Compartició de xarxa"</string> <string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Punt d\'accés Wi-Fi"</string> <string name="quick_settings_notifications_label" msgid="4818156442169154523">"Notificacions"</string> <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Llanterna"</string> diff --git a/packages/SystemUI/res/values-eu-rES/strings.xml b/packages/SystemUI/res/values-eu-rES/strings.xml index 6a7cc4f2e993..84a360657be0 100644 --- a/packages/SystemUI/res/values-eu-rES/strings.xml +++ b/packages/SystemUI/res/values-eu-rES/strings.xml @@ -52,7 +52,7 @@ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Konfiguratu idazketa-metodoak"</string> <string name="status_bar_use_physical_keyboard" msgid="7551903084416057810">"Teklatu fisikoa"</string> <string name="usb_device_permission_prompt" msgid="834698001271562057">"<xliff:g id="APPLICATION">%1$s</xliff:g> aplikazioari USB gailua atzitzeko baimena eman nahi diozu?"</string> - <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"USB osagarria atzitzeko baimena eman nahi diozu <xliff:g id="APPLICATION">%1$s</xliff:g> aplikazioari?"</string> + <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"<xliff:g id="APPLICATION">%1$s</xliff:g> aplikazioari USB osagarria atzitzeko baimena eman nahi diozu?"</string> <string name="usb_device_confirm_prompt" msgid="5161205258635253206">"USB gailu hau konektatuta dagoenean <xliff:g id="ACTIVITY">%1$s</xliff:g> ireki nahi duzu?"</string> <string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"USB osagarri hau konektatuta dagoenean <xliff:g id="ACTIVITY">%1$s</xliff:g> ireki nahi duzu?"</string> <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Instalatutako aplikazioek ez dute USB osagarri honekin funtzionatzen. Lortu informazio gehiago osagarriari buruz hemen: <xliff:g id="URL">%1$s</xliff:g>"</string> @@ -213,7 +213,7 @@ <string name="accessibility_quick_settings_location_on" msgid="5809937096590102036">"Kokapena hautemateko aukera aktibatuta dago."</string> <string name="accessibility_quick_settings_location_changed_off" msgid="8526845571503387376">"Kokapena hautemateko aukera desaktibatu egin da."</string> <string name="accessibility_quick_settings_location_changed_on" msgid="339403053079338468">"Kokapena hautemateko aukera aktibatu egin da."</string> - <string name="accessibility_quick_settings_alarm" msgid="3959908972897295660">"Alarmaren ordua: <xliff:g id="TIME">%s</xliff:g>."</string> + <string name="accessibility_quick_settings_alarm" msgid="3959908972897295660">"Alarma ordu honetarako ezarri da: <xliff:g id="TIME">%s</xliff:g>."</string> <string name="accessibility_quick_settings_close" msgid="3115847794692516306">"Itxi panela."</string> <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Denbora gehiago."</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Denbora gutxiago."</string> diff --git a/packages/SystemUI/res/values-fa/strings.xml b/packages/SystemUI/res/values-fa/strings.xml index 03285c53d082..52c45bbf7ba0 100644 --- a/packages/SystemUI/res/values-fa/strings.xml +++ b/packages/SystemUI/res/values-fa/strings.xml @@ -179,7 +179,7 @@ <string name="accessibility_notification_dismissed" msgid="854211387186306927">"اعلان ردشد."</string> <string name="accessibility_desc_notification_shade" msgid="4690274844447504208">"مجموعه اعلان."</string> <string name="accessibility_desc_quick_settings" msgid="6186378411582437046">"تنظیمات سریع."</string> - <string name="accessibility_desc_lock_screen" msgid="5625143713611759164">"صفحه در حالت قفل."</string> + <string name="accessibility_desc_lock_screen" msgid="5625143713611759164">"قفل صفحه."</string> <string name="accessibility_desc_settings" msgid="3417884241751434521">"تنظیمات"</string> <string name="accessibility_desc_recent_apps" msgid="4876900986661819788">"نمای کلی."</string> <string name="accessibility_desc_close" msgid="7479755364962766729">"بستن"</string> @@ -378,7 +378,7 @@ <string name="user_logout_notification_text" msgid="3350262809611876284">"خروج کاربر فعلی از سیستم"</string> <string name="user_logout_notification_action" msgid="1195428991423425062">"خروج کاربر از سیستم"</string> <string name="user_add_user_title" msgid="4553596395824132638">"کاربر جدیدی اضافه میکنید؟"</string> - <string name="user_add_user_message_short" msgid="2161624834066214559">"وقتی کاربر جدیدی را اضافه میکنید آن فرد باید فضای خودش را تنظیم کند.\n\nهر کاربری میتواند برنامهها را برای همه کاربران دیگر بهروزرسانی کند."</string> + <string name="user_add_user_message_short" msgid="2161624834066214559">"وقتی کاربر جدیدی اضافه میکنید آن فرد باید فضای خودش را تنظیم کند.\n\nهر کاربری میتواند برنامهها را برای همه کاربران دیگر بهروزرسانی کند."</string> <string name="user_remove_user_title" msgid="4681256956076895559">"کاربر حذف شود؟"</string> <string name="user_remove_user_message" msgid="1453218013959498039">"همه برنامهها و دادههای این کاربر حذف میشود."</string> <string name="user_remove_user_remove" msgid="7479275741742178297">"حذف"</string> @@ -482,7 +482,7 @@ <string name="tuner_full_importance_settings" msgid="3207312268609236827">"کنترلهای قدرتمند اعلان"</string> <string name="tuner_full_importance_settings_on" msgid="7545060756610299966">"روشن"</string> <string name="tuner_full_importance_settings_off" msgid="8208165412614935229">"خاموش"</string> - <string name="power_notification_controls_description" msgid="4372459941671353358">"با کنترلهای قدرتمند اعلان میتوانید سطح اهمیت اعلانهای هر برنامه را از ۰ تا ۵ تعیین کنید. \n\n"<b>"سطح ۵"</b>" \n- در صدر فهرست اعلانها نشان داده میشود \n- وقفه برای نمایش تمامصفحه مجاز است \n- همیشه اجمالی نشان داده میشود \n\n"<b>"سطح ۴"</b>" \n- وقفه برای نمایش تمامصفحه مجاز نیست \n- همیشه اجمالی نشان داده میشود \n\n"<b>"سطح ۳"</b>" \n- وقفه برای نمایش تمامصفحه مجاز نیست \n- هیچوقت اجمالی نشان داده نمیشود \n\n"<b>"سطح ۲"</b>" \n- وقفه برای نمایش تمامصفحه مجاز نیست \n- هیچوقت اجمالی نشان داده نمیشود \n- هیچوقت صدا و لرزش ایجاد نمیکند \n\n"<b>"سطح ۱"</b>" \n- نمایش تمام صفحه مجاز نیست \n- هیچوقت اجمالی نشان داده نمیشود \n- هیچوقت صدا یا لرزش ایجاد نمیکند \n- در صفحه درحالت قفل و نوار وضعیت پنهان است \n- در پایین فهرست اعلانها نشان داده میشود \n\n"<b>"سطح ۰"</b>" \n- همه اعلانهای این برنامه مسدود است"</string> + <string name="power_notification_controls_description" msgid="4372459941671353358">"با کنترلهای قدرتمند اعلان میتوانید سطح اهمیت اعلانهای هر برنامه را از ۰ تا ۵ تعیین کنید. \n\n"<b>"سطح ۵"</b>" \n- در صدر فهرست اعلانها نشان داده میشود \n- وقفه برای نمایش تمامصفحه مجاز است \n- همیشه اجمالی نشان داده میشود \n\n"<b>"سطح ۴"</b>" \n- وقفه برای نمایش تمامصفحه مجاز نیست \n- همیشه اجمالی نشان داده میشود \n\n"<b>"سطح ۳"</b>" \n- وقفه برای نمایش تمامصفحه مجاز نیست \n- هیچوقت اجمالی نشان داده نمیشود \n\n"<b>"سطح ۲"</b>" \n- وقفه برای نمایش تمامصفحه مجاز نیست \n- هیچوقت اجمالی نشان داده نمیشود \n- هیچوقت صدا و لرزش ایجاد نمیکند \n\n"<b>"سطح ۱"</b>" \n- نمایش تمام صفحه مجاز نیست \n- هیچوقت اجمالی نشان داده نمیشود \n- هیچوقت صدا یا لرزش ایجاد نمیکند \n- در قفل صفحه و نوار وضعیت پنهان است \n- در پایین فهرست اعلانها نشان داده میشود \n\n"<b>"سطح ۰"</b>" \n- همه اعلانهای این برنامه مسدود است"</string> <string name="user_unspecified_importance" msgid="361613856933432117">"اهمیت: خودکار"</string> <string name="blocked_importance" msgid="5035073235408414397">"اهمیت: سطح ۰"</string> <string name="min_importance" msgid="560779348928574878">"اهمیت: سطح ۱"</string> @@ -492,7 +492,7 @@ <string name="max_importance" msgid="4880179829869865275">"اهمیت: سطح ۵"</string> <string name="notification_importance_user_unspecified" msgid="2868359605125272874">"برنامه اهمیت هر اعلان را تعیین میکند."</string> <string name="notification_importance_blocked" msgid="4237497046867398057">"اعلانهای این برنامه هرگز نشان داده نمیشود."</string> - <string name="notification_importance_min" msgid="7844224511187027155">"بدون وقفه نمایش تمامصفحه، نمایش اجمالی، صدا یا لرزش. عدم نمایش در صفحه قفل و نوار وضعیت."</string> + <string name="notification_importance_min" msgid="7844224511187027155">"بدون وقفه نمایش تمامصفحه، نمایش اجمالی، صدا یا لرزش. عدم نمایش در قفل صفحه و نوار وضعیت."</string> <string name="notification_importance_low" msgid="7950291702044409847">"بدون وقفه نمایش تمامصفحه، نمایش اجمالی، صدا یا لرزش."</string> <string name="notification_importance_default" msgid="5924405820269074915">"بدون وقفه نمایش تمامصفحه یا نمایش اجمالی."</string> <string name="notification_importance_high" msgid="1729480727023990427">"همیشه نمایش اجمالی. بدون وقفه نمایش تمامصفحه."</string> @@ -595,7 +595,7 @@ <string name="keycode_description" msgid="1403795192716828949">"دکمه «کد دکمه» به کلیدهای صفحهکلید امکان میدهند به «نوار پیمایش» اضافه شوند. وقتی فشار داده میشوند رفتار کلید صفحهکلید انتخابشده را تقلید میکنند. ابتدا باید کلید را برای دکمه انتخاب کرد و به دنبال آن باید تصویری برای نشان داده شدن روی دکمه انتخاب شود."</string> <string name="select_keycode" msgid="7413765103381924584">"کلید صفحهکلید را انتخاب کنید"</string> <string name="preview" msgid="9077832302472282938">"پیشنمایش"</string> - <string name="drag_to_add_tiles" msgid="7058945779098711293">"کشیدن برای افزودن کاشیها"</string> + <string name="drag_to_add_tiles" msgid="7058945779098711293">"برای افزودن کاشی، بکشید"</string> <string name="drag_to_remove_tiles" msgid="3361212377437088062">"برای حذف، به اینجا بکشید"</string> <string name="qs_edit" msgid="2232596095725105230">"ویرایش"</string> <string name="tuner_time" msgid="6572217313285536011">"زمان"</string> diff --git a/packages/SystemUI/res/values-gl-rES/strings.xml b/packages/SystemUI/res/values-gl-rES/strings.xml index 8a4fb20a5b9b..ae4a850d9434 100644 --- a/packages/SystemUI/res/values-gl-rES/strings.xml +++ b/packages/SystemUI/res/values-gl-rES/strings.xml @@ -413,7 +413,7 @@ <string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"O dispositivo permanecerá bloqueado ata que o desbloquees manualmente"</string> <string name="hidden_notifications_title" msgid="7139628534207443290">"Recibir notificacións máis rápido"</string> <string name="hidden_notifications_text" msgid="2326409389088668981">"Consúltaas antes de desbloquear"</string> - <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Non grazas"</string> + <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Non, grazas"</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"Configurar"</string> <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string> <string name="volume_zen_end_now" msgid="3179845345429841822">"Finalizar agora"</string> @@ -475,7 +475,7 @@ <string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Activa o xesto de pasar o dedo cara arriba desde o botón Visión xeral para acceder ao modo de pantalla dividida"</string> <string name="experimental" msgid="6198182315536726162">"Experimental"</string> <string name="enable_bluetooth_title" msgid="5027037706500635269">"Queres activar o Bluetooth?"</string> - <string name="enable_bluetooth_message" msgid="9106595990708985385">"Para conectar o teu teclado co tablet, primeiro tes que activar o Bluetooth."</string> + <string name="enable_bluetooth_message" msgid="9106595990708985385">"Para conectar o teu teclado coa tableta, primeiro tes que activar o Bluetooth."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Activar"</string> <string name="show_silently" msgid="6841966539811264192">"Mostrar notificacións de forma silenciosa"</string> <string name="block" msgid="2734508760962682611">"Bloquear todas as notificacións"</string> @@ -597,7 +597,7 @@ <string name="keycode_description" msgid="1403795192716828949">"Os botóns de código de teclas permiten engadir teclas do teclado á barra de navegación. Ao premelos, emulan a tecla seleccionada. Primeiro, debes seleccionar unha tecla para o botón e escoller a imaxe que se mostrará nel."</string> <string name="select_keycode" msgid="7413765103381924584">"Selecciona o botón do teclado"</string> <string name="preview" msgid="9077832302472282938">"Vista previa"</string> - <string name="drag_to_add_tiles" msgid="7058945779098711293">"Arrastrar para engadir mosaicos"</string> + <string name="drag_to_add_tiles" msgid="7058945779098711293">"Arrastrar para engadir funcións"</string> <string name="drag_to_remove_tiles" msgid="3361212377437088062">"Arrastra o elemento ata aquí para eliminalo"</string> <string name="qs_edit" msgid="2232596095725105230">"Editar"</string> <string name="tuner_time" msgid="6572217313285536011">"Hora"</string> diff --git a/packages/SystemUI/res/values-gu-rIN/strings.xml b/packages/SystemUI/res/values-gu-rIN/strings.xml index e405db4d2bba..6743e83cacc7 100644 --- a/packages/SystemUI/res/values-gu-rIN/strings.xml +++ b/packages/SystemUI/res/values-gu-rIN/strings.xml @@ -24,7 +24,7 @@ <string name="status_bar_recent_remove_item_title" msgid="6026395868129852968">"સૂચિમાંથી દૂર કરો"</string> <string name="status_bar_recent_inspect_item_title" msgid="7793624864528818569">"ઍપ્લિકેશન માહિતી"</string> <string name="status_bar_no_recent_apps" msgid="7374907845131203189">"તમારી તાજેતરની સ્ક્રીન્સ અહીં દેખાય છે"</string> - <string name="status_bar_accessibility_dismiss_recents" msgid="4576076075226540105">"તાજેતરની એપ્લિકેશનો કાઢી નાખો."</string> + <string name="status_bar_accessibility_dismiss_recents" msgid="4576076075226540105">"તાજેતરની ઍપ્લિકેશનો કાઢી નાખો."</string> <plurals name="status_bar_accessibility_recent_apps" formatted="false" msgid="9138535907802238759"> <item quantity="one">વિહંગાવલોકનમાં %d સ્ક્રીન્સ</item> <item quantity="other">વિહંગાવલોકનમાં %d સ્ક્રીન્સ</item> @@ -55,7 +55,7 @@ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"<xliff:g id="APPLICATION">%1$s</xliff:g> એપ્લિકેશનને USB ઍક્સેસરી અૅક્સેસ કરવાની મંજૂરી આપીએ?"</string> <string name="usb_device_confirm_prompt" msgid="5161205258635253206">"જ્યારે આ USB ઉપકરણ કનેક્ટ હોય ત્યારે <xliff:g id="ACTIVITY">%1$s</xliff:g> ખોલીએ?"</string> <string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"જ્યારે આ USB ઍક્સેસરી કનેક્ટ હોય ત્યારે <xliff:g id="ACTIVITY">%1$s</xliff:g> ખોલીએ?"</string> - <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"કોઈપણ ઇન્સ્ટોલ કરેલી એપ્લિકેશનો આ USB ઍક્સેસરી સાથે કામ કરતી નથી. આ ઍક્સેસરી વિશે <xliff:g id="URL">%1$s</xliff:g> પર વધુ જાણો."</string> + <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"કોઈપણ ઇન્સ્ટોલ કરેલી ઍપ્લિકેશનો આ USB ઍક્સેસરી સાથે કામ કરતી નથી. આ ઍક્સેસરી વિશે <xliff:g id="URL">%1$s</xliff:g> પર વધુ જાણો."</string> <string name="title_usb_accessory" msgid="4966265263465181372">"USB ઍક્સેસરી"</string> <string name="label_view" msgid="6304565553218192990">"જુઓ"</string> <string name="always_use_device" msgid="1450287437017315906">"આ USB ઉપકરણ માટે ડિફોલ્ટ તરીકે ઉપયોગમાં લો"</string> @@ -172,7 +172,7 @@ <string name="accessibility_work_mode" msgid="2478631941714607225">"કાર્ય મોડ"</string> <string name="accessibility_recents_item_will_be_dismissed" msgid="395770242498031481">"<xliff:g id="APP">%s</xliff:g> કાઢી નાખો."</string> <string name="accessibility_recents_item_dismissed" msgid="6803574935084867070">"<xliff:g id="APP">%s</xliff:g> કાઢી નાખી."</string> - <string name="accessibility_recents_all_items_dismissed" msgid="4464697366179168836">"તમામ તાજેતરની એપ્લિકેશનો કાઢી નાખી."</string> + <string name="accessibility_recents_all_items_dismissed" msgid="4464697366179168836">"તમામ તાજેતરની ઍપ્લિકેશનો કાઢી નાખી."</string> <string name="accessibility_recents_item_open_app_info" msgid="5107479759905883540">"<xliff:g id="APP">%s</xliff:g> ઍપ્લિકેશન માહિતી ખોલો."</string> <string name="accessibility_recents_item_launched" msgid="7616039892382525203">"<xliff:g id="APP">%s</xliff:g> પ્રારંભ કરી રહ્યું છે."</string> <string name="accessibility_recents_task_header" msgid="1437183540924535457">"<xliff:g id="APP">%1$s</xliff:g> <xliff:g id="ACTIVITY_LABEL">%2$s</xliff:g>"</string> @@ -366,14 +366,14 @@ <string name="guest_new_guest" msgid="600537543078847803">"અતિથિ ઉમેરો"</string> <string name="guest_exit_guest" msgid="7187359342030096885">"અતિથિ દૂર કરો"</string> <string name="guest_exit_guest_dialog_title" msgid="8480693520521766688">"અતિથિ દૂર કરીએ?"</string> - <string name="guest_exit_guest_dialog_message" msgid="4155503224769676625">"આ સત્રમાંની તમામ એપ્લિકેશનો અને ડેટા કાઢી નાખવામાં આવશે."</string> + <string name="guest_exit_guest_dialog_message" msgid="4155503224769676625">"આ સત્રમાંની તમામ ઍપ્લિકેશનો અને ડેટા કાઢી નાખવામાં આવશે."</string> <string name="guest_exit_guest_dialog_remove" msgid="7402231963862520531">"દૂર કરો"</string> <string name="guest_wipe_session_title" msgid="6419439912885956132">"ફરી સ્વાગત છે, અતિથિ!"</string> <string name="guest_wipe_session_message" msgid="8476238178270112811">"શું તમે તમારું સત્ર ચાલુ કરવા માંગો છો?"</string> <string name="guest_wipe_session_wipe" msgid="5065558566939858884">"શરૂ કરો"</string> <string name="guest_wipe_session_dontwipe" msgid="1401113462524894716">"હા, ચાલુ રાખો"</string> <string name="guest_notification_title" msgid="1585278533840603063">"અતિથિ વપરાશકર્તા"</string> - <string name="guest_notification_text" msgid="335747957734796689">"એપ્લિકેશનો અને ડેટા કાઢી નાખવા, અતિથિ વપરાશકર્તાને દૂર કરો"</string> + <string name="guest_notification_text" msgid="335747957734796689">"ઍપ્લિકેશનો અને ડેટા કાઢી નાખવા, અતિથિ વપરાશકર્તાને દૂર કરો"</string> <string name="guest_notification_remove_action" msgid="8820670703892101990">"અતિથિ દૂર કરો"</string> <string name="user_logout_notification_title" msgid="1453960926437240727">"વપરાશકર્તાને લૉગઆઉટ કરો"</string> <string name="user_logout_notification_text" msgid="3350262809611876284">"વર્તમાન વપરાશકર્તાને લૉગઆઉટ કરો"</string> @@ -399,16 +399,16 @@ <string name="monitoring_title" msgid="169206259253048106">"નેટવર્ક મૉનિટરિંગ"</string> <string name="disable_vpn" msgid="4435534311510272506">"VPN અક્ષમ કરો"</string> <string name="disconnect_vpn" msgid="1324915059568548655">"VPN ડિસ્કનેક્ટ કરો"</string> - <string name="monitoring_description_device_owned" msgid="5780988291898461883">"તમારું ઉપકરણ <xliff:g id="ORGANIZATION">%1$s</xliff:g> દ્વારા સંચાલિત થાય છે.\n\nતમારા વ્યવસ્થાપક સેટિંગ્સ, કોર્પોરેટ ઍક્સેસ, એપ્લિકેશનો, તમારા ઉપકરણ સાથે સંકળાયેલ ડેટા અને તમારા ઉપકરણની સ્થાન માહિતી મોનિટર અને સંચાલિત કરી શકે છે. વધુ માહિતી માટે, તમારા વ્યવસ્થાપકનો સંપર્ક કરો."</string> + <string name="monitoring_description_device_owned" msgid="5780988291898461883">"તમારું ઉપકરણ <xliff:g id="ORGANIZATION">%1$s</xliff:g> દ્વારા સંચાલિત થાય છે.\n\nતમારા વ્યવસ્થાપક સેટિંગ્સ, કોર્પોરેટ ઍક્સેસ, ઍપ્લિકેશનો, તમારા ઉપકરણ સાથે સંકળાયેલ ડેટા અને તમારા ઉપકરણની સ્થાન માહિતી મોનિટર અને સંચાલિત કરી શકે છે. વધુ માહિતી માટે, તમારા વ્યવસ્થાપકનો સંપર્ક કરો."</string> <string name="monitoring_description_vpn" msgid="4445150119515393526">"તમે VPN કનેક્શન સેટ કરવા માટે ઍપ્લિકેશન પરવાનગી આપી.\n\nઆ ઍપ્લિકેશન ઇમેઇલ્સ, ઍપ્લિકેશનો અને વેબસાઇટ્સ સહિત તમારા ઉપકરણ અને નેટવર્ક પ્રવૃત્તિને મૉનિટર કરી શકે છે."</string> - <string name="monitoring_description_vpn_device_owned" msgid="3090670777499161246">"તમારું ઉપકરણ <xliff:g id="ORGANIZATION">%1$s</xliff:g> દ્વારા સંચાલિત થાય છે.\n\nતમારા વ્યવસ્થાપક સેટિંગ્સ, કોર્પોરેટ ઍક્સેસ, એપ્લિકેશનો, તમારા ઉપકરણ સાથે સંકળાયેલ ડેટા અને તમારા ઉપકરણની સ્થાન માહિતી મોનિટર અને સંચાલિત કરી શકે છે.\n\nતમે VPN સાથે કનેક્ટ થયેલા છો જે ઇમેઇલ્સ, એપ્લિકેશનો અને વેબસાઇટ્સ સહિતની, તમારી નેટવર્ક પ્રવૃત્તિ મોનિટર કરી શકે છે.\n\nવધુ માહિતી માટે, તમારા વ્યવસ્થાપકનો સંપર્ક કરો."</string> - <string name="monitoring_description_vpn_profile_owned" msgid="2054949132145039290">"તમારી કાર્ય પ્રોફાઇલ <xliff:g id="ORGANIZATION">%1$s</xliff:g> દ્વારા સંચાલિત થાય છે.\n\nતમારા વ્યવસ્થાપક ઇમેઇલ્સ, એપ્લિકેશનો અને વેબસાઇટ્સ સહિતની તમારી નેટવર્ક પ્રવૃત્તિને મૉનિટર કરવામાં સમર્થ છે.\n\nવધુ માહિતી માટે, તમારા વ્યવસ્થાપકનો સંપર્ક કરો.\n\nતમે VPN સાથે પણ કનેક્ટ છો, જે તમારી નેટવર્ક પ્રવૃત્તિને મૉનિટર કરી શકે છે."</string> + <string name="monitoring_description_vpn_device_owned" msgid="3090670777499161246">"તમારું ઉપકરણ <xliff:g id="ORGANIZATION">%1$s</xliff:g> દ્વારા સંચાલિત થાય છે.\n\nતમારા વ્યવસ્થાપક સેટિંગ્સ, કોર્પોરેટ ઍક્સેસ, ઍપ્લિકેશનો, તમારા ઉપકરણ સાથે સંકળાયેલ ડેટા અને તમારા ઉપકરણની સ્થાન માહિતી મોનિટર અને સંચાલિત કરી શકે છે.\n\nતમે VPN સાથે કનેક્ટ થયેલા છો જે ઇમેઇલ્સ, ઍપ્લિકેશનો અને વેબસાઇટ્સ સહિતની, તમારી નેટવર્ક પ્રવૃત્તિ મોનિટર કરી શકે છે.\n\nવધુ માહિતી માટે, તમારા વ્યવસ્થાપકનો સંપર્ક કરો."</string> + <string name="monitoring_description_vpn_profile_owned" msgid="2054949132145039290">"તમારી કાર્ય પ્રોફાઇલ <xliff:g id="ORGANIZATION">%1$s</xliff:g> દ્વારા સંચાલિત થાય છે.\n\nતમારા વ્યવસ્થાપક ઇમેઇલ્સ, ઍપ્લિકેશનો અને વેબસાઇટ્સ સહિતની તમારી નેટવર્ક પ્રવૃત્તિને મૉનિટર કરવામાં સમર્થ છે.\n\nવધુ માહિતી માટે, તમારા વ્યવસ્થાપકનો સંપર્ક કરો.\n\nતમે VPN સાથે પણ કનેક્ટ છો, જે તમારી નેટવર્ક પ્રવૃત્તિને મૉનિટર કરી શકે છે."</string> <string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string> - <string name="monitoring_description_app" msgid="6259179342284742878">"તમે <xliff:g id="APPLICATION">%1$s</xliff:g> સાથે કનેક્ટ થયાં છો, જે ઇમેઇલ્સ, એપ્લિકેશનો અને વેબસાઇટ્સ સહિતની તમારી નેટવર્ક પ્રવૃત્તિને મૉનિટર કરી શકે છે."</string> - <string name="monitoring_description_app_personal" msgid="484599052118316268">"તમે <xliff:g id="APPLICATION">%1$s</xliff:g> સાથે કનેક્ટ થયાં છો, જે ઇમેઇલ્સ, એપ્લિકેશનો અને વેબસાઇટ્સ સહિતની તમારી વ્યક્તિગત નેટવર્ક પ્રવૃત્તિને મૉનિટર કરી શકે છે."</string> - <string name="monitoring_description_app_work" msgid="1754325860918060897">"તમારી કાર્ય પ્રોફાઇલ <xliff:g id="ORGANIZATION">%1$s</xliff:g> દ્વારા સંચાલિત થાય છે. તે <xliff:g id="APPLICATION">%2$s</xliff:g> સાથે કનેક્ટ થયેલ છે, જે ઇમેઇલ્સ, એપ્લિકેશનો અને વેબસાઇટ્સ સહિતની તમારી કાર્ય નેટવર્ક પ્રવૃત્તિને મૉનિટર કરી શકે છે.\n\nવધુ માહિતી માટે, તમારા વ્યવસ્થાપકનો સંપર્ક કરો."</string> - <string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"તમારી કાર્ય પ્રોફાઇલ <xliff:g id="ORGANIZATION">%1$s</xliff:g> દ્વારા સંચાલિત થાય છે. તે <xliff:g id="APPLICATION_WORK">%2$s</xliff:g> સાથે કનેક્ટ થયેલ છે, જે ઇમેઇલ્સ, એપ્લિકેશનો અને વેબસાઇટ્સ સહિતની તમારી કાર્ય નેટવર્ક પ્રવૃત્તિને મૉનિટર કરી શકે છે.\n\nતમે <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g> સાથે પણ કનેક્ટ થયેલ છો, જે તમારી વ્યક્તિગત નેટવર્ક પ્રવૃત્તિને મૉનિટર કરી શકે છે."</string> - <string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"તમારું ઉપકરણ <xliff:g id="ORGANIZATION">%1$s</xliff:g> દ્વારા સંચાલિત થાય છે.\n\nતમારા વ્યવસ્થાપક, સેટિંગ્સ, કોર્પોરેટ ઍક્સેસ, એપ્લિકેશનો, તમારા ઉપકરણ સાથે સંકળાયેલ ડેટા અને તમારા ઉપકરણની સ્થાન માહિતીને મૉનિટર કરી અને સંચાલિત કરી શકે છે.\n\nતમે <xliff:g id="APPLICATION">%2$s</xliff:g> સાથે કનેક્ટ થયાં છો, જે ઇમેઇલ્સ, એપ્લિકેશનો અને વેબસાઇટ્સ સહિતની તમારી નેટવર્ક પ્રવૃત્તિને મૉનિટર કરી શકે છે.\n\nવધુ માહિતી માટે, તમારા વ્યવસ્થાપકનો સંપર્ક કરો."</string> + <string name="monitoring_description_app" msgid="6259179342284742878">"તમે <xliff:g id="APPLICATION">%1$s</xliff:g> સાથે કનેક્ટ થયાં છો, જે ઇમેઇલ્સ, ઍપ્લિકેશનો અને વેબસાઇટ્સ સહિતની તમારી નેટવર્ક પ્રવૃત્તિને મૉનિટર કરી શકે છે."</string> + <string name="monitoring_description_app_personal" msgid="484599052118316268">"તમે <xliff:g id="APPLICATION">%1$s</xliff:g> સાથે કનેક્ટ થયાં છો, જે ઇમેઇલ્સ, ઍપ્લિકેશનો અને વેબસાઇટ્સ સહિતની તમારી વ્યક્તિગત નેટવર્ક પ્રવૃત્તિને મૉનિટર કરી શકે છે."</string> + <string name="monitoring_description_app_work" msgid="1754325860918060897">"તમારી કાર્ય પ્રોફાઇલ <xliff:g id="ORGANIZATION">%1$s</xliff:g> દ્વારા સંચાલિત થાય છે. તે <xliff:g id="APPLICATION">%2$s</xliff:g> સાથે કનેક્ટ થયેલ છે, જે ઇમેઇલ્સ, ઍપ્લિકેશનો અને વેબસાઇટ્સ સહિતની તમારી કાર્ય નેટવર્ક પ્રવૃત્તિને મૉનિટર કરી શકે છે.\n\nવધુ માહિતી માટે, તમારા વ્યવસ્થાપકનો સંપર્ક કરો."</string> + <string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"તમારી કાર્ય પ્રોફાઇલ <xliff:g id="ORGANIZATION">%1$s</xliff:g> દ્વારા સંચાલિત થાય છે. તે <xliff:g id="APPLICATION_WORK">%2$s</xliff:g> સાથે કનેક્ટ થયેલ છે, જે ઇમેઇલ્સ, ઍપ્લિકેશનો અને વેબસાઇટ્સ સહિતની તમારી કાર્ય નેટવર્ક પ્રવૃત્તિને મૉનિટર કરી શકે છે.\n\nતમે <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g> સાથે પણ કનેક્ટ થયેલ છો, જે તમારી વ્યક્તિગત નેટવર્ક પ્રવૃત્તિને મૉનિટર કરી શકે છે."</string> + <string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"તમારું ઉપકરણ <xliff:g id="ORGANIZATION">%1$s</xliff:g> દ્વારા સંચાલિત થાય છે.\n\nતમારા વ્યવસ્થાપક, સેટિંગ્સ, કોર્પોરેટ ઍક્સેસ, ઍપ્લિકેશનો, તમારા ઉપકરણ સાથે સંકળાયેલ ડેટા અને તમારા ઉપકરણની સ્થાન માહિતીને મૉનિટર કરી અને સંચાલિત કરી શકે છે.\n\nતમે <xliff:g id="APPLICATION">%2$s</xliff:g> સાથે કનેક્ટ થયાં છો, જે ઇમેઇલ્સ, ઍપ્લિકેશનો અને વેબસાઇટ્સ સહિતની તમારી નેટવર્ક પ્રવૃત્તિને મૉનિટર કરી શકે છે.\n\nવધુ માહિતી માટે, તમારા વ્યવસ્થાપકનો સંપર્ક કરો."</string> <string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"તમે ઉપકરણને મેન્યુઅલી અનલૉક કરશો નહીં ત્યાં સુધી તે લૉક રહેશે"</string> <string name="hidden_notifications_title" msgid="7139628534207443290">"વધુ ઝડપથી સૂચનાઓ મેળવો"</string> <string name="hidden_notifications_text" msgid="2326409389088668981">"તમે અનલૉક કરો તે પહેલાં તેમને જુઓ"</string> diff --git a/packages/SystemUI/res/values-hu/strings.xml b/packages/SystemUI/res/values-hu/strings.xml index 27c7daf5c54f..022b76a868cc 100644 --- a/packages/SystemUI/res/values-hu/strings.xml +++ b/packages/SystemUI/res/values-hu/strings.xml @@ -154,7 +154,7 @@ <string name="accessibility_cell_data_off" msgid="8000803571751407635">"Mobiladat-kapcsolat kikapcsolva"</string> <string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth megosztása."</string> <string name="accessibility_airplane_mode" msgid="834748999790763092">"Repülőgép üzemmód."</string> - <string name="accessibility_no_sims" msgid="3957997018324995781">"Nincs SIM kártya."</string> + <string name="accessibility_no_sims" msgid="3957997018324995781">"Nincs SIM-kártya."</string> <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Szolgáltatói hálózat váltása."</string> <string name="accessibility_battery_details" msgid="7645516654955025422">"Az akkumulátorral kapcsolatos részletek megnyitása"</string> <string name="accessibility_battery_level" msgid="7451474187113371965">"Akkumulátor <xliff:g id="NUMBER">%d</xliff:g> százalék."</string> diff --git a/packages/SystemUI/res/values-in/strings.xml b/packages/SystemUI/res/values-in/strings.xml index 4e4eea05b4bb..b9aa766eb2da 100644 --- a/packages/SystemUI/res/values-in/strings.xml +++ b/packages/SystemUI/res/values-in/strings.xml @@ -276,7 +276,7 @@ <string name="quick_settings_location_off_label" msgid="7464544086507331459">"Lokasi Nonaktif"</string> <string name="quick_settings_media_device_label" msgid="1302906836372603762">"Perangkat media"</string> <string name="quick_settings_rssi_label" msgid="7725671335550695589">"RSSI"</string> - <string name="quick_settings_rssi_emergency_only" msgid="2713774041672886750">"Panggilan Darurat Saja"</string> + <string name="quick_settings_rssi_emergency_only" msgid="2713774041672886750">"Telepon urgen saja"</string> <string name="quick_settings_settings_label" msgid="5326556592578065401">"Setelan"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Waktu"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Saya"</string> diff --git a/packages/SystemUI/res/values-ky-rKG/strings.xml b/packages/SystemUI/res/values-ky-rKG/strings.xml index 67211a6c1bf1..1dd663649052 100644 --- a/packages/SystemUI/res/values-ky-rKG/strings.xml +++ b/packages/SystemUI/res/values-ky-rKG/strings.xml @@ -133,7 +133,7 @@ <string name="accessibility_two_bars" msgid="6437363648385206679">"Эки таякча."</string> <string name="accessibility_three_bars" msgid="2648241415119396648">"Үч таякча."</string> <string name="accessibility_signal_full" msgid="9122922886519676839">"Толук сигнал."</string> - <string name="accessibility_desc_on" msgid="2385254693624345265">"Жандырылган."</string> + <string name="accessibility_desc_on" msgid="2385254693624345265">"Күйүк."</string> <string name="accessibility_desc_off" msgid="6475508157786853157">"Өчүк."</string> <string name="accessibility_desc_connected" msgid="8366256693719499665">"Туташтып турат."</string> <string name="accessibility_desc_connecting" msgid="3812924520316280149">"Туташууда."</string> @@ -272,7 +272,7 @@ <string name="quick_settings_rotation_locked_portrait_label" msgid="5102691921442135053">"Тигинен"</string> <string name="quick_settings_rotation_locked_landscape_label" msgid="8553157770061178719">"Туурасынан"</string> <string name="quick_settings_ime_label" msgid="7073463064369468429">"Киргизүү ыкмасы"</string> - <string name="quick_settings_location_label" msgid="5011327048748762257">"Жайгаштыруу"</string> + <string name="quick_settings_location_label" msgid="5011327048748762257">"Жайгашкан жер"</string> <string name="quick_settings_location_off_label" msgid="7464544086507331459">"Жайгашытрууну өчүрүү"</string> <string name="quick_settings_media_device_label" msgid="1302906836372603762">"Медиа түзмөгү"</string> <string name="quick_settings_rssi_label" msgid="7725671335550695589">"RSSI"</string> @@ -298,22 +298,22 @@ <string name="quick_settings_inversion_label" msgid="8790919884718619648">"Түстөрдү аңтаруу"</string> <string name="quick_settings_color_space_label" msgid="853443689745584770">"Түстү тууралоо абалы"</string> <string name="quick_settings_more_settings" msgid="326112621462813682">"Дагы жөндөөлөр"</string> - <string name="quick_settings_done" msgid="3402999958839153376">"Аткарылды"</string> + <string name="quick_settings_done" msgid="3402999958839153376">"Бүттү"</string> <string name="quick_settings_connected" msgid="1722253542984847487">"Туташкан"</string> <string name="quick_settings_connecting" msgid="47623027419264404">"Туташууда…"</string> <string name="quick_settings_tethering_label" msgid="7153452060448575549">"Тетеринг"</string> <string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Туташуу чекити"</string> <string name="quick_settings_notifications_label" msgid="4818156442169154523">"Эскертмелер"</string> <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Кол чырак"</string> - <string name="quick_settings_cellular_detail_title" msgid="8575062783675171695">"Дайындарды өткөрүүчү уюктук тутум"</string> - <string name="quick_settings_cellular_detail_data_usage" msgid="1964260360259312002">"Дайындарды колдонуу"</string> + <string name="quick_settings_cellular_detail_title" msgid="8575062783675171695">"Дайындарды өткөрүү"</string> + <string name="quick_settings_cellular_detail_data_usage" msgid="1964260360259312002">"Дайындардын колдонулушу"</string> <string name="quick_settings_cellular_detail_remaining_data" msgid="722715415543541249">"Калган дайындар"</string> <string name="quick_settings_cellular_detail_over_limit" msgid="967669665390990427">"Чектен ашты"</string> <string name="quick_settings_cellular_detail_data_used" msgid="1476810587475761478">"<xliff:g id="DATA_USED">%s</xliff:g> колдонулду"</string> <string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"<xliff:g id="DATA_LIMIT">%s</xliff:g> чектөө"</string> <string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> эскертүү"</string> <string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Иштөө режими"</string> - <string name="recents_empty_message" msgid="808480104164008572">"Акыркы нерселер жок"</string> + <string name="recents_empty_message" msgid="808480104164008572">"Акыркы колдонмолор жок"</string> <string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Баарын тазаладыңыз"</string> <string name="recents_app_info_button_label" msgid="2890317189376000030">"Колдонмо жөнүндө маалымат"</string> <string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"экран кадоо"</string> @@ -498,7 +498,7 @@ <string name="notification_importance_high" msgid="1729480727023990427">"Калкып чыкма эскертме көрсөтүлүп, толук экранда көрсөтүлбөсүн."</string> <string name="notification_importance_max" msgid="2508384624461849111">"Калкып чыгуучу жана толук экранда көрсөтүлүүчү эскертмелерге уруксат берилсин."</string> <string name="notification_more_settings" msgid="816306283396553571">"Дагы жөндөөлөр"</string> - <string name="notification_done" msgid="5279426047273930175">"Аткарылды"</string> + <string name="notification_done" msgid="5279426047273930175">"Бүттү"</string> <string name="notification_gear_accessibility" msgid="94429150213089611">"<xliff:g id="APP_NAME">%1$s</xliff:g> эскертмесин башкаруу каражаттары"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Түсү жана көрүнүшү"</string> <string name="night_mode" msgid="3540405868248625488">"Түнкү режим"</string> diff --git a/packages/SystemUI/res/values-lt/strings.xml b/packages/SystemUI/res/values-lt/strings.xml index a44b54db270f..72af899d1ede 100644 --- a/packages/SystemUI/res/values-lt/strings.xml +++ b/packages/SystemUI/res/values-lt/strings.xml @@ -306,7 +306,7 @@ <string name="quick_settings_tethering_label" msgid="7153452060448575549">"Susiejimas"</string> <string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Viešosios interneto prieigos taškas"</string> <string name="quick_settings_notifications_label" msgid="4818156442169154523">"Pranešimai"</string> - <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Flashlight"</string> + <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Žibintuvėlis"</string> <string name="quick_settings_cellular_detail_title" msgid="8575062783675171695">"Mobiliojo ryšio duomenys"</string> <string name="quick_settings_cellular_detail_data_usage" msgid="1964260360259312002">"Duomenų naudojimas"</string> <string name="quick_settings_cellular_detail_remaining_data" msgid="722715415543541249">"Likę duomenys"</string> @@ -575,7 +575,7 @@ <string name="data_saver" msgid="5037565123367048522">"Duomenų taupymo priemonė"</string> <string name="accessibility_data_saver_on" msgid="8454111686783887148">"Duomenų taupymo priemonė įjungta"</string> <string name="accessibility_data_saver_off" msgid="8841582529453005337">"Duomenų taupymo priemonė išjungta"</string> - <string name="switch_bar_on" msgid="1142437840752794229">"Įjungti"</string> + <string name="switch_bar_on" msgid="1142437840752794229">"Įjungta"</string> <string name="switch_bar_off" msgid="8803270596930432874">"Išjungta"</string> <string name="nav_bar" msgid="1993221402773877607">"Naršymo juosta"</string> <string name="start" msgid="6873794757232879664">"Pradėti"</string> diff --git a/packages/SystemUI/res/values-mk-rMK/strings.xml b/packages/SystemUI/res/values-mk-rMK/strings.xml index d26a4ec6d57e..8f0e3ab6440c 100644 --- a/packages/SystemUI/res/values-mk-rMK/strings.xml +++ b/packages/SystemUI/res/values-mk-rMK/strings.xml @@ -178,7 +178,7 @@ <string name="accessibility_recents_task_header" msgid="1437183540924535457">"<xliff:g id="APP">%1$s</xliff:g> <xliff:g id="ACTIVITY_LABEL">%2$s</xliff:g>"</string> <string name="accessibility_notification_dismissed" msgid="854211387186306927">"Известувањето е отфрлено."</string> <string name="accessibility_desc_notification_shade" msgid="4690274844447504208">"Панел за известување"</string> - <string name="accessibility_desc_quick_settings" msgid="6186378411582437046">"Брзи подесувања."</string> + <string name="accessibility_desc_quick_settings" msgid="6186378411582437046">"Брзи поставки."</string> <string name="accessibility_desc_lock_screen" msgid="5625143713611759164">"Заклучи екран."</string> <string name="accessibility_desc_settings" msgid="3417884241751434521">"Поставки"</string> <string name="accessibility_desc_recent_apps" msgid="4876900986661819788">"Краток преглед."</string> @@ -306,7 +306,7 @@ <string name="quick_settings_notifications_label" msgid="4818156442169154523">"Известувања"</string> <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Светилка"</string> <string name="quick_settings_cellular_detail_title" msgid="8575062783675171695">"Мобилни податоци"</string> - <string name="quick_settings_cellular_detail_data_usage" msgid="1964260360259312002">"Користење податоци"</string> + <string name="quick_settings_cellular_detail_data_usage" msgid="1964260360259312002">"Потрошен интернет"</string> <string name="quick_settings_cellular_detail_remaining_data" msgid="722715415543541249">"Преостанати податоци"</string> <string name="quick_settings_cellular_detail_over_limit" msgid="967669665390990427">"Над лимитот"</string> <string name="quick_settings_cellular_detail_data_used" msgid="1476810587475761478">"Искористено: <xliff:g id="DATA_USED">%s</xliff:g>"</string> diff --git a/packages/SystemUI/res/values-ml-rIN/strings.xml b/packages/SystemUI/res/values-ml-rIN/strings.xml index af1bab183006..8631fd574b41 100644 --- a/packages/SystemUI/res/values-ml-rIN/strings.xml +++ b/packages/SystemUI/res/values-ml-rIN/strings.xml @@ -247,10 +247,10 @@ <string name="notification_group_overflow_indicator" msgid="1863231301642314183">"+ <xliff:g id="NUMBER">%s</xliff:g>"</string> <string name="status_bar_notification_inspect_item_title" msgid="5668348142410115323">"അറിയിപ്പ് ക്രമീകരണങ്ങൾ"</string> <string name="status_bar_notification_app_settings_title" msgid="5525260160341558869">"<xliff:g id="APP_NAME">%s</xliff:g> ക്രമീകരണം"</string> - <string name="accessibility_rotation_lock_off" msgid="4062780228931590069">"സ്ക്രീൻ യാന്ത്രികമായി തിരിയും."</string> + <string name="accessibility_rotation_lock_off" msgid="4062780228931590069">"സ്ക്രീൻ സ്വയമേവ തിരിയും."</string> <string name="accessibility_rotation_lock_on_landscape" msgid="6731197337665366273">"സ്ക്രീൻ ലാൻഡ്സ്കേപ്പ് ഓറിയന്റേഷനിൽ ലോക്കുചെയ്തു."</string> <string name="accessibility_rotation_lock_on_portrait" msgid="5809367521644012115">"സ്ക്രീൻ പോർട്രെയ്റ്റ് ഓറിയന്റേഷനിൽ ലോക്കുചെയ്തു."</string> - <string name="accessibility_rotation_lock_off_changed" msgid="8134601071026305153">"സ്ക്രീൻ ഇപ്പോൾ യാന്ത്രികമായി തിരിയും."</string> + <string name="accessibility_rotation_lock_off_changed" msgid="8134601071026305153">"സ്ക്രീൻ ഇപ്പോൾ സ്വയമേവ തിരിയും."</string> <string name="accessibility_rotation_lock_on_landscape_changed" msgid="3135965553707519743">"ലാൻഡ്സ്കേപ്പ് ഓറിയന്റേഷനിൽ ഇപ്പോൾ സ്ക്രീൻ ലോക്കുചെയ്തു."</string> <string name="accessibility_rotation_lock_on_portrait_changed" msgid="8922481981834012126">"പോർട്രെയ്റ്റ് ഓറിയന്റേഷനിൽ ഇപ്പോൾ സ്ക്രീൻ ലോക്കുചെയ്തു."</string> <string name="dessert_case" msgid="1295161776223959221">"ഡെസേർട്ട് കെയ്സ്"</string> @@ -295,7 +295,7 @@ <string name="quick_settings_cast_detail_empty_text" msgid="311785821261640623">"ഉപകരണങ്ങളൊന്നും ലഭ്യമല്ല"</string> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"തെളിച്ചം"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"യാന്ത്രികം"</string> - <string name="quick_settings_inversion_label" msgid="8790919884718619648">"വിപരീത വർണ്ണങ്ങൾ"</string> + <string name="quick_settings_inversion_label" msgid="8790919884718619648">"നിറം മാറ്റുക"</string> <string name="quick_settings_color_space_label" msgid="853443689745584770">"വർണ്ണം ശരിയാക്കൽ മോഡ്"</string> <string name="quick_settings_more_settings" msgid="326112621462813682">"കൂടുതൽ ക്രമീകരണങ്ങൾ"</string> <string name="quick_settings_done" msgid="3402999958839153376">"പൂർത്തിയാക്കി"</string> diff --git a/packages/SystemUI/res/values-my-rMM/strings.xml b/packages/SystemUI/res/values-my-rMM/strings.xml index 219f9f81a10f..15a5fbf49426 100644 --- a/packages/SystemUI/res/values-my-rMM/strings.xml +++ b/packages/SystemUI/res/values-my-rMM/strings.xml @@ -43,7 +43,7 @@ <string name="battery_saver_confirmation_ok" msgid="7507968430447930257">"ဖွင့်ရန်"</string> <string name="battery_saver_start_action" msgid="5576697451677486320">"ဘက်ထရီ ချွေတာမှုကို ဖွင့်ရန်"</string> <string name="status_bar_settings_settings_button" msgid="3023889916699270224">"အပြင်အဆင်များ"</string> - <string name="status_bar_settings_wifi_button" msgid="1733928151698311923">"ဝိုင်ဖိုင်"</string> + <string name="status_bar_settings_wifi_button" msgid="1733928151698311923">"Wi-Fi"</string> <string name="status_bar_settings_auto_rotation" msgid="3790482541357798421">"မျက်နှာပြင်အလိုအလျောက်လှည့်ရန်"</string> <string name="status_bar_settings_mute_label" msgid="554682549917429396">"MUTE"</string> <string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"AUTO"</string> @@ -147,7 +147,7 @@ <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string> <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"ကွန်ယက်ပြင်ပဒေတာအသုံးပြုခြင်း"</string> <string name="accessibility_data_connection_edge" msgid="4477457051631979278">"EDGE"</string> - <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"ဝိုင်ဖိုင်"</string> + <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string> <string name="accessibility_no_sim" msgid="8274017118472455155">"ဆင်းကဒ်မရှိပါ။"</string> <string name="accessibility_cell_data" msgid="7080312242791850520">"ဆဲလ်လူလာ ဒေတာ"</string> <string name="accessibility_cell_data_on" msgid="4310018593519761767">"ဆဲလ်လူလာ ဒေတာ ဖွင့်ထားသည်"</string> @@ -155,7 +155,7 @@ <string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"ဘလူးတုသ်မှတဆင့်ပြန်လည်ချိတ်ဆက်ခြင်း"</string> <string name="accessibility_airplane_mode" msgid="834748999790763092">"လေယာဥ်ပျံပေါ်အသုံးပြုသောစနစ်။"</string> <string name="accessibility_no_sims" msgid="3957997018324995781">"SIM ကဒ် မရှိပါ"</string> - <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"ဝန်ဆောင်မှုဌာန ကွန်ယက် ပြောင်းလဲနေစဉ်။"</string> + <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"ဝန်ဆောင်မှုဌာန ကွန်ရက် ပြောင်းလဲနေစဉ်။"</string> <string name="accessibility_battery_details" msgid="7645516654955025422">"ဘက်ထရီ အသေးစိတ် အချက်အလက်များကို ဖွင့်ပါ"</string> <string name="accessibility_battery_level" msgid="7451474187113371965">"ဘတ္တရီ <xliff:g id="NUMBER">%d</xliff:g> ရာခိုင်နှုန်း။"</string> <string name="accessibility_battery_level_charging" msgid="1147587904439319646">"ဘက်ထရီအားသွင်းနေသည်၊ <xliff:g id="BATTERY_PERCENTAGE">%d</xliff:g> ရာခိုင်နှုန်း။"</string> @@ -282,7 +282,7 @@ <string name="quick_settings_user_label" msgid="5238995632130897840">"ကျွန်ုပ်"</string> <string name="quick_settings_user_title" msgid="4467690427642392403">"အသုံးပြုသူ"</string> <string name="quick_settings_user_new_user" msgid="9030521362023479778">"အသုံးပြုသူ အသစ်"</string> - <string name="quick_settings_wifi_label" msgid="9135344704899546041">"ဝိုင်ဖိုင်"</string> + <string name="quick_settings_wifi_label" msgid="9135344704899546041">"Wi-Fi"</string> <string name="quick_settings_wifi_not_connected" msgid="7171904845345573431">"ချိတ်ဆက်မထားပါ"</string> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"ကွန်ရက်မရှိပါ"</string> <string name="quick_settings_wifi_off_label" msgid="7558778100843885864">"ဝိုင်ဖိုင်ပိတ်ရန်"</string> @@ -315,7 +315,7 @@ <string name="quick_settings_work_mode_label" msgid="6244915274350490429">"အလုပ် မုဒ်"</string> <string name="recents_empty_message" msgid="808480104164008572">"မကြာမီကဖွင့်ထားသည်များ မရှိပါ"</string> <string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"သင်အားလုံးကို ရှင်းလင်းပြီးပါပြီ"</string> - <string name="recents_app_info_button_label" msgid="2890317189376000030">"အပလီကေးရှင်း အင်ဖို"</string> + <string name="recents_app_info_button_label" msgid="2890317189376000030">"အက်ပ် အင်ဖို"</string> <string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"မျက်နှာပြင် ပင်ထိုးမှု"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"ရှာဖွေရန်"</string> <string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g> ကို မစနိုင်ပါ။"</string> @@ -365,7 +365,7 @@ <string name="guest_new_guest" msgid="600537543078847803">"ဧည့်သည့်ကို ထည့်ပေးရန်"</string> <string name="guest_exit_guest" msgid="7187359342030096885">"ဧည့်သည်ကို ဖယ်ထုတ်ရန်"</string> <string name="guest_exit_guest_dialog_title" msgid="8480693520521766688">"ဧည့်သည်ကို ဖယ်ထုတ်လိုက်ရမလား?"</string> - <string name="guest_exit_guest_dialog_message" msgid="4155503224769676625">"ဒီချိတ်ဆက်မှု ထဲက appများ အားလုံး နှင့် ဒေတာကို ဖျက်ပစ်မည်။"</string> + <string name="guest_exit_guest_dialog_message" msgid="4155503224769676625">"ဒီချိတ်ဆက်မှု ထဲက အက်ပ်များ အားလုံး နှင့် ဒေတာကို ဖျက်ပစ်မည်။"</string> <string name="guest_exit_guest_dialog_remove" msgid="7402231963862520531">"ဖယ်ထုတ်ပါ"</string> <string name="guest_wipe_session_title" msgid="6419439912885956132">"ပြန်လာတာ ကြိုဆိုပါသည်၊ ဧည့်သည်!"</string> <string name="guest_wipe_session_message" msgid="8476238178270112811">"သင်သည် သင်၏ ချိတ်ဆက်မှုကို ဆက်ပြုလုပ် လိုပါသလား?"</string> @@ -377,8 +377,8 @@ <string name="user_logout_notification_title" msgid="1453960926437240727">"အသုံးပြုသူ ထွက်လိုက်ပါ"</string> <string name="user_logout_notification_text" msgid="3350262809611876284">"လက်ရှိ အသုံးပြုသူကို ထုတ်ပစ်ရန်"</string> <string name="user_logout_notification_action" msgid="1195428991423425062">"အသုံးပြုသူ ထွက်လိုက်ပါ"</string> - <string name="user_add_user_title" msgid="4553596395824132638">"အသုံးပြုသူ အသစ်ကို ထည့်ရမလား?"</string> - <string name="user_add_user_message_short" msgid="2161624834066214559">"သင်က အသုံးပြုသူ အသစ် တစ်ဦးကို ထည့်ပေးလိုက်လျှင်၊ ထိုသူသည် ၎င်း၏ နေရာကို သတ်မှတ်စီစဉ်ရန် လိုအပ်မည်။\n\n အသုံးပြုသူ မည်သူမဆို ကျန်အသုံးပြုသူ အားလုံးတို့အတွက် appများကို မွမ်းမံပေးနိုင်သည်။"</string> + <string name="user_add_user_title" msgid="4553596395824132638">"အသုံးပြုသူအသစ်ကို ထည့်မလား။"</string> + <string name="user_add_user_message_short" msgid="2161624834066214559">"သင်ထည့်လိုက်သော အသုံးပြုသူအသစ်သည် ၎င်း၏နေရာကို သတ်မှတ်စီစဉ်ရန် လိုအပ်သည်။\n\nမည်သည့်အသုံးပြုသူမဆို ကျန်သူများအားလုံးအတွက် အက်ပ်များကို အပ်ဒိတ်လုပ်ပေးနိုင်သည်။"</string> <string name="user_remove_user_title" msgid="4681256956076895559">"သုံးစွဲသူကိုဖယ်ရှားမည်လား?"</string> <string name="user_remove_user_message" msgid="1453218013959498039">"ဤအသုံးပြုသူ၏ ဒေတာနှင့် အပ်ဖ်များအားလုံး ဖျက်လိုက်ပါမည်"</string> <string name="user_remove_user_remove" msgid="7479275741742178297">"ဖယ်ရှားရန်"</string> @@ -560,7 +560,7 @@ <string name="keyboard_shortcut_group_applications_im" msgid="1892749399083161405">"အမြန်စာတိုစနစ်"</string> <string name="keyboard_shortcut_group_applications_music" msgid="4775559515850922780">"Music"</string> <string name="keyboard_shortcut_group_applications_youtube" msgid="6555453761294723317">"YouTube"</string> - <string name="keyboard_shortcut_group_applications_calendar" msgid="9043614299194991263">"ပြက္ခဒိန်"</string> + <string name="keyboard_shortcut_group_applications_calendar" msgid="9043614299194991263">"Calendar"</string> <string name="tuner_full_zen_title" msgid="4540823317772234308">"အသံထိန်းချုပ်သည့်ခလုတ်များဖြင့် ပြပါ"</string> <string name="volume_and_do_not_disturb" msgid="3373784330208603030">"မနှောက်ယှက်ပါနှင့်"</string> <string name="volume_dnd_silent" msgid="4363882330723050727">"အသံထိန်းချုပ်သည့်ခလုတ် ဖြတ်လမ်း"</string> diff --git a/packages/SystemUI/res/values-ne-rNP/strings.xml b/packages/SystemUI/res/values-ne-rNP/strings.xml index 5b6621021fb3..f473d8e8b313 100644 --- a/packages/SystemUI/res/values-ne-rNP/strings.xml +++ b/packages/SystemUI/res/values-ne-rNP/strings.xml @@ -32,7 +32,7 @@ <string name="status_bar_no_notifications_title" msgid="4755261167193833213">"कुनै सूचनाहरू छैन"</string> <string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"चलिरहेको"</string> <string name="status_bar_latest_events_title" msgid="6594767438577593172">"सूचनाहरू"</string> - <string name="battery_low_title" msgid="6456385927409742437">"ब्याट्रि कम छ"</string> + <string name="battery_low_title" msgid="6456385927409742437">"ब्याट्री कम छ"</string> <string name="battery_low_percent_format" msgid="2900940511201380775">"<xliff:g id="PERCENTAGE">%s</xliff:g> बाँकी"</string> <string name="battery_low_percent_format_saver_started" msgid="6859235584035338833">"<xliff:g id="PERCENTAGE">%s</xliff:g> बाँकी। ब्याट्री बचत खुलै छ।"</string> <string name="invalid_charger" msgid="4549105996740522523">"USB चार्ज गर्न समर्थित छैन।\n आपूर्ति गरिएको चार्जर मात्र प्रयोग गर्नुहोस्।"</string> @@ -101,11 +101,11 @@ <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"स्क्रिनलाई सानोबाट ठूलो पार्नुहोस्।"</string> <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"ब्लुटुथ जडान भयो।"</string> <string name="accessibility_bluetooth_disconnected" msgid="7416648669976870175">"ब्लुटुथसँग विच्छेद गरियो।"</string> - <string name="accessibility_no_battery" msgid="358343022352820946">"कुनै ब्याट्रि छैन।"</string> - <string name="accessibility_battery_one_bar" msgid="7774887721891057523">"ब्याट्रि एउटा पट्टि।"</string> + <string name="accessibility_no_battery" msgid="358343022352820946">"कुनै ब्याट्री छैन।"</string> + <string name="accessibility_battery_one_bar" msgid="7774887721891057523">"ब्याट्री एउटा पट्टि।"</string> <string name="accessibility_battery_two_bars" msgid="8500650438735009973">"ब्याट्रिका दुईवटा पट्टिहरू"</string> <string name="accessibility_battery_three_bars" msgid="2302983330865040446">"ब्याट्रिका तिनवटा पट्टिहरू"</string> - <string name="accessibility_battery_full" msgid="8909122401720158582">"ब्याट्रि पूर्ण छ।"</string> + <string name="accessibility_battery_full" msgid="8909122401720158582">"ब्याट्री पूर्ण छ।"</string> <string name="accessibility_no_phone" msgid="4894708937052611281">"फोन छैन्।"</string> <string name="accessibility_phone_one_bar" msgid="687699278132664115">"फोन एउटा पट्टि।"</string> <string name="accessibility_phone_two_bars" msgid="8384905382804815201">"फोन दुई पट्टि।"</string> @@ -157,7 +157,7 @@ <string name="accessibility_no_sims" msgid="3957997018324995781">"SIM कार्ड छैन।"</string> <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"वाहक नेटवर्क परिवर्तन हुँदै।"</string> <string name="accessibility_battery_details" msgid="7645516654955025422">"ब्याट्री सम्बन्धी विवरणहरूलाई खोल्नुहोस्"</string> - <string name="accessibility_battery_level" msgid="7451474187113371965">"ब्याट्रि <xliff:g id="NUMBER">%d</xliff:g> प्रतिशत"</string> + <string name="accessibility_battery_level" msgid="7451474187113371965">"ब्याट्री <xliff:g id="NUMBER">%d</xliff:g> प्रतिशत"</string> <string name="accessibility_battery_level_charging" msgid="1147587904439319646">"ब्याट्री चार्ज हुँदैछ, <xliff:g id="BATTERY_PERCENTAGE">%d</xliff:g> प्रतिशत।"</string> <string name="accessibility_settings_button" msgid="799583911231893380">"प्रणाली सेटिङहरू"</string> <string name="accessibility_notifications_button" msgid="4498000369779421892">"सूचनाहरू।"</string> @@ -188,7 +188,7 @@ <string name="accessibility_quick_settings_wifi_changed_off" msgid="8716484460897819400">"वाइफाइ बन्द गरियो।"</string> <string name="accessibility_quick_settings_wifi_changed_on" msgid="6440117170789528622">"वाइफाइ खुला गरियो।"</string> <string name="accessibility_quick_settings_mobile" msgid="4876806564086241341">"मोवाइल <xliff:g id="SIGNAL">%1$s</xliff:g>। <xliff:g id="TYPE">%2$s</xliff:g>। <xliff:g id="NETWORK">%3$s</xliff:g>।"</string> - <string name="accessibility_quick_settings_battery" msgid="1480931583381408972">"ब्याट्रि <xliff:g id="STATE">%s</xliff:g>।"</string> + <string name="accessibility_quick_settings_battery" msgid="1480931583381408972">"ब्याट्री <xliff:g id="STATE">%s</xliff:g>।"</string> <string name="accessibility_quick_settings_airplane_off" msgid="7786329360056634412">"हवाइजहाज मोड बन्द।"</string> <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"हवाइजहाज मोड खुला।"</string> <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"हवाइजहाज मोड बन्द छ।"</string> @@ -276,7 +276,7 @@ <string name="quick_settings_location_off_label" msgid="7464544086507331459">"स्थान बन्द छ"</string> <string name="quick_settings_media_device_label" msgid="1302906836372603762">"मिडिया उपकरण"</string> <string name="quick_settings_rssi_label" msgid="7725671335550695589">"RSSI"</string> - <string name="quick_settings_rssi_emergency_only" msgid="2713774041672886750">"आकस्मिक कल मात्र"</string> + <string name="quick_settings_rssi_emergency_only" msgid="2713774041672886750">"आपतकालीन कल मात्र"</string> <string name="quick_settings_settings_label" msgid="5326556592578065401">"सेटिङहरू"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"समय"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"मलाई"</string> @@ -377,12 +377,12 @@ <string name="user_logout_notification_title" msgid="1453960926437240727">"प्रयोगकर्ता लगआउट गर्नुहोस्"</string> <string name="user_logout_notification_text" msgid="3350262809611876284">"वर्तमान प्रयोगकर्ता लगआउट गर्नुहोस्"</string> <string name="user_logout_notification_action" msgid="1195428991423425062">"प्रयोगकर्ता लगआउट गर्नुहोस्"</string> - <string name="user_add_user_title" msgid="4553596395824132638">"नयाँ प्रयोगकर्ता थप्नुहुन्छ?"</string> + <string name="user_add_user_title" msgid="4553596395824132638">"नयाँ प्रयोगकर्ता थप्ने हो?"</string> <string name="user_add_user_message_short" msgid="2161624834066214559">"जब तपाईँले नयाँ प्रयोगकर्ता थप्नुहुन्छ, त्यस प्रयोगकर्ताले आफ्नो स्थान स्थापना गर्न पर्ने छ।\n\nकुनै पनि प्रयोगकर्ताले सबै अन्य प्रयोगकर्ताहरूका लागि अनुप्रयोगहरू अद्यावधिक गर्न सक्छन्।"</string> <string name="user_remove_user_title" msgid="4681256956076895559">"प्रयोगकर्ता हटाउन चाहनुहुन्छ?"</string> <string name="user_remove_user_message" msgid="1453218013959498039">"यस प्रयोगकर्ताको सबै अनुप्रयोगहरू तथा डेटा हटाइनेछ।"</string> <string name="user_remove_user_remove" msgid="7479275741742178297">"हटाउनुहोस्"</string> - <string name="battery_saver_notification_title" msgid="237918726750955859">"ब्याट्रि सेभर चालु छ"</string> + <string name="battery_saver_notification_title" msgid="237918726750955859">"ब्याट्री सेभर चालु छ"</string> <string name="battery_saver_notification_text" msgid="820318788126672692">"प्रदर्शन र पृष्ठभूमि डेटा घटाउँनुहोस्"</string> <string name="battery_saver_notification_action_text" msgid="109158658238110382">"ब्याट्री बचत बन्द गर्नुहोस्"</string> <string name="media_projection_dialog_text" msgid="3071431025448218928">"<xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g> ले आफ्नो स्क्रीनमा प्रदर्शित हुने सबै खिच्न शुरू गर्नेछ।"</string> diff --git a/packages/SystemUI/res/values-nl/strings.xml b/packages/SystemUI/res/values-nl/strings.xml index e22625425bb9..727285eb631c 100644 --- a/packages/SystemUI/res/values-nl/strings.xml +++ b/packages/SystemUI/res/values-nl/strings.xml @@ -254,7 +254,7 @@ <string name="accessibility_rotation_lock_on_landscape_changed" msgid="3135965553707519743">"Het scherm is nu vergrendeld in liggende stand."</string> <string name="accessibility_rotation_lock_on_portrait_changed" msgid="8922481981834012126">"Het scherm is nu vergrendeld in staande stand."</string> <string name="dessert_case" msgid="1295161776223959221">"Dessertshowcase"</string> - <string name="start_dreams" msgid="5640361424498338327">"Schermbeveiliging"</string> + <string name="start_dreams" msgid="5640361424498338327">"Screensaver"</string> <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string> <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Niet storen"</string> <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Alleen prioriteit"</string> @@ -378,7 +378,7 @@ <string name="user_logout_notification_text" msgid="3350262809611876284">"Huidige gebruiker uitloggen"</string> <string name="user_logout_notification_action" msgid="1195428991423425062">"GEBRUIKER UITLOGGEN"</string> <string name="user_add_user_title" msgid="4553596395824132638">"Nieuwe gebruiker toevoegen?"</string> - <string name="user_add_user_message_short" msgid="2161624834066214559">"Wanneer u een nieuwe gebruiker toevoegt, moet die persoon zijn eigen profiel instellen.\n\n1Elke gebruiker kan apps updaten voor alle andere gebruikers."</string> + <string name="user_add_user_message_short" msgid="2161624834066214559">"Wanneer u een nieuwe gebruiker toevoegt, moet die persoon zijn eigen profiel instellen.\n\nElke gebruiker kan apps updaten voor alle andere gebruikers."</string> <string name="user_remove_user_title" msgid="4681256956076895559">"Gebruiker verwijderen?"</string> <string name="user_remove_user_message" msgid="1453218013959498039">"Alle apps en gegevens van deze gebruiker worden verwijderd."</string> <string name="user_remove_user_remove" msgid="7479275741742178297">"Verwijderen"</string> diff --git a/packages/SystemUI/res/values-pa-rIN/strings.xml b/packages/SystemUI/res/values-pa-rIN/strings.xml index 9ca2df0cb304..e124fa2cdb64 100644 --- a/packages/SystemUI/res/values-pa-rIN/strings.xml +++ b/packages/SystemUI/res/values-pa-rIN/strings.xml @@ -50,7 +50,7 @@ <string name="status_bar_settings_notifications" msgid="397146176280905137">"ਸੂਚਨਾਵਾਂ"</string> <string name="bluetooth_tethered" msgid="7094101612161133267">"Bluetooth ਟੀਥਰ ਕੀਤੀ"</string> <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"ਇਨਪੁਟ ਵਿਧੀਆਂ ਸੈਟ ਅਪ ਕਰੋ"</string> - <string name="status_bar_use_physical_keyboard" msgid="7551903084416057810">"ਫਿਜੀਕਲ ਕੀਬੋਰਡ"</string> + <string name="status_bar_use_physical_keyboard" msgid="7551903084416057810">"ਫਿਜੀਕਲ ਕੀ-ਬੋਰਡ"</string> <string name="usb_device_permission_prompt" msgid="834698001271562057">"ਕੀ ਐਪ <xliff:g id="APPLICATION">%1$s</xliff:g> ਨੂੰ USB ਡੀਵਾਈਸ ਤੱਕ ਪਹੁੰਚ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string> <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"ਕੀ ਐਪ <xliff:g id="APPLICATION">%1$s</xliff:g> ਨੂੰ USB ਐਕਸੈਸਰੀ ਤੱਕ ਪਹੁੰਚ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string> <string name="usb_device_confirm_prompt" msgid="5161205258635253206">"ਕੀ ਜਦੋਂ ਇਹ USB ਡੀਵਾਈਸ ਕਨੈਕਟ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਤਾਂ <xliff:g id="ACTIVITY">%1$s</xliff:g> ਨੂੰ ਖੋਲ੍ਹਂਣਾ ਹੈ?"</string> @@ -183,7 +183,7 @@ <string name="accessibility_desc_settings" msgid="3417884241751434521">"ਸੈਟਿੰਗਾਂ"</string> <string name="accessibility_desc_recent_apps" msgid="4876900986661819788">"ਰੂਪ-ਰੇਖਾ।"</string> <string name="accessibility_desc_close" msgid="7479755364962766729">"ਬੰਦ ਕਰੋ"</string> - <string name="accessibility_quick_settings_user" msgid="1104846699869476855">"ਉਪਭੋਗਤਾ <xliff:g id="USER">%s</xliff:g>।"</string> + <string name="accessibility_quick_settings_user" msgid="1104846699869476855">"ਵਰਤੋਂਕਾਰ <xliff:g id="USER">%s</xliff:g>।"</string> <string name="accessibility_quick_settings_wifi" msgid="5518210213118181692">"<xliff:g id="SIGNAL">%1$s</xliff:g>।"</string> <string name="accessibility_quick_settings_wifi_changed_off" msgid="8716484460897819400">"Wifi ਬੰਦ ਕੀਤਾ।"</string> <string name="accessibility_quick_settings_wifi_changed_on" msgid="6440117170789528622">"Wifi ਚਾਲੂ ਕੀਤਾ।"</string> @@ -280,7 +280,7 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"ਸੈਟਿੰਗਾਂ"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"ਸਮਾਂ"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"ਮੈਂ"</string> - <string name="quick_settings_user_title" msgid="4467690427642392403">"ਉਪਭੋਗਤਾ"</string> + <string name="quick_settings_user_title" msgid="4467690427642392403">"ਵਰਤੋਂਕਾਰ"</string> <string name="quick_settings_user_new_user" msgid="9030521362023479778">"ਨਵਾਂ ਉਪਭੋਗਤਾ"</string> <string name="quick_settings_wifi_label" msgid="9135344704899546041">"Wi-Fi"</string> <string name="quick_settings_wifi_not_connected" msgid="7171904845345573431">"ਕਨੈਕਟ ਨਹੀਂ ਕੀਤਾ"</string> @@ -288,7 +288,7 @@ <string name="quick_settings_wifi_off_label" msgid="7558778100843885864">"Wi-Fi ਬੰਦ"</string> <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi ਚਾਲੂ"</string> <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"ਕੋਈ Wi-Fi ਨੈੱਟਵਰਕ ਉਪਲਬਧ ਨਹੀਂ"</string> - <string name="quick_settings_cast_title" msgid="7709016546426454729">"ਜੋੜੋ"</string> + <string name="quick_settings_cast_title" msgid="7709016546426454729">"ਪ੍ਰਸਾਰਿਤ ਕਰੋ"</string> <string name="quick_settings_casting" msgid="6601710681033353316">"ਕਾਸਟਿੰਗ"</string> <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"ਬਿਨਾਂ ਨਾਮ ਦਿੱਤੀ ਡੀਵਾਈਸ"</string> <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"ਜੋੜਨ ਲਈ ਤਿਆਰ"</string> @@ -360,7 +360,7 @@ <string name="accessibility_multi_user_switch_switcher_with_current" msgid="8434880595284601601">"ਉਪਭੋਗਤਾ, ਵਰਤਮਾਨ ਉਪਭੋਗਤਾ ਸਵਿਚ ਕਰੋ<xliff:g id="CURRENT_USER_NAME">%s</xliff:g>"</string> <string name="accessibility_multi_user_switch_inactive" msgid="1424081831468083402">"ਮੌਜੂਦਾ ਉਪਭੋਗਤਾ <xliff:g id="CURRENT_USER_NAME">%s</xliff:g>"</string> <string name="accessibility_multi_user_switch_quick_contact" msgid="3020367729287990475">"ਪ੍ਰੋਫਾਈਲ ਦਿਖਾਓ"</string> - <string name="user_add_user" msgid="5110251524486079492">"ਉਪਭੋਗਤਾ ਜੋੜੋ"</string> + <string name="user_add_user" msgid="5110251524486079492">"ਵਰਤੋਂਕਾਰ ਸ਼ਾਮਲ ਕਰੋ"</string> <string name="user_new_user_name" msgid="426540612051178753">"ਨਵਾਂ ਉਪਭੋਗਤਾ"</string> <string name="guest_nickname" msgid="8059989128963789678">"ਮਹਿਮਾਨ"</string> <string name="guest_new_guest" msgid="600537543078847803">"ਮਹਿਮਾਨ ਜੋੜੋ"</string> @@ -378,8 +378,8 @@ <string name="user_logout_notification_title" msgid="1453960926437240727">"ਉਪਭੋਗਤਾ ਨੂੰ ਲੌਗ ਆਉਟ ਕਰੋ"</string> <string name="user_logout_notification_text" msgid="3350262809611876284">"ਵਰਤਮਾਨ ਉਪਭੋਗਤਾ ਨੂੰ ਲੌਗਆਉਟ ਕਰੋ"</string> <string name="user_logout_notification_action" msgid="1195428991423425062">"ਉਪਭੋਗਤਾ ਨੂੰ ਲੌਗ ਆਉਟ ਕਰੋ"</string> - <string name="user_add_user_title" msgid="4553596395824132638">"ਕੀ ਨਵਾਂ ਉਪਭੋਗਤਾ ਜੋੜਨਾ ਹੈ?"</string> - <string name="user_add_user_message_short" msgid="2161624834066214559">"ਜਦੋਂ ਤੁਸੀਂ ਇੱਕ ਨਵਾਂ ਉਪਭੋਗਤਾ ਜੋੜਦੇ ਹੋ, ਉਸ ਵਿਅਕਤੀ ਨੂੰ ਆਪਣਾ ਸਪੇਸ ਸੈਟ ਅਪ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।\n\nਕੋਈ ਵੀ ਉਪਭੋਗਤਾ ਹੋਰ ਸਾਰੇ ਉਪਭੋਗਤਾਵਾਂ ਦੇ ਐਪਸ ਨੂੰ ਅਪਡੇਟ ਕਰ ਸਕਦਾ ਹੈ।"</string> + <string name="user_add_user_title" msgid="4553596395824132638">"ਕੀ ਨਵਾਂ ਵਰਤੋਂਕਾਰ ਸ਼ਾਮਲ ਕਰਨਾ ਹੈ?"</string> + <string name="user_add_user_message_short" msgid="2161624834066214559">"ਜਦੋਂ ਤੁਸੀਂ ਇੱਕ ਨਵਾਂ ਵਰਤੋਂਕਾਰ ਸ਼ਾਮਲ ਕਰਦੇ ਹੋ, ਉਸ ਵਿਅਕਤੀ ਨੂੰ ਆਪਣੀ ਜਗ੍ਹਾ ਸਥਾਪਤ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।\n\nਕੋਈ ਵੀ ਵਰਤੋਂਕਾਰ ਹੋਰ ਸਾਰੇ ਵਰਤੋਂਕਾਰਾਂ ਦੀਆਂ ਐਪਾਂ ਨੂੰ ਅੱਪਡੇਟ ਕਰ ਸਕਦਾ ਹੈ।"</string> <string name="user_remove_user_title" msgid="4681256956076895559">"ਕੀ ਉਪਭੋਗਤਾ ਹਟਾਉਣਾ ਹੈ?"</string> <string name="user_remove_user_message" msgid="1453218013959498039">"ਇਸ ਉਪਭੋਗਤਾ ਦੇ ਸਾਰੇ ਐਪਸ ਅਤੇ ਡੈਟਾ ਮਿਟਾ ਦਿੱਤਾ ਜਾਏਗਾ।"</string> <string name="user_remove_user_remove" msgid="7479275741742178297">"ਹਟਾਓ"</string> @@ -413,14 +413,14 @@ <string name="hidden_notifications_title" msgid="7139628534207443290">"ਤੇਜ਼ੀ ਨਾਲ ਸੂਚਨਾਵਾਂ ਪ੍ਰਾਪਤ ਕਰੋ"</string> <string name="hidden_notifications_text" msgid="2326409389088668981">"ਅਨਲੌਕ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਉਹਨਾਂ ਨੂੰ ਦੇਖੋ"</string> <string name="hidden_notifications_cancel" msgid="3690709735122344913">"ਨਹੀਂ ਧੰਨਵਾਦ"</string> - <string name="hidden_notifications_setup" msgid="41079514801976810">"ਸੈਟ ਅਪ"</string> + <string name="hidden_notifications_setup" msgid="41079514801976810">"ਸਥਾਪਤ ਕਰੋ"</string> <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string> <string name="volume_zen_end_now" msgid="3179845345429841822">"ਹੁਣੇ ਸਮਾਪਤ ਕਰੋ"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"ਵਿਸਤਾਰ ਕਰੋ"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"ਨਸ਼ਟ ਕਰੋ"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"ਸਕ੍ਰੀਨ ਪਿੰਨ ਕੀਤੀ"</string> <string name="screen_pinning_description" msgid="7238941806855968768">"ਇਹ ਇਸ ਨੂੰ ਤੁਹਾਡੇ ਵੱਲੋਂ ਅਨਪਿੰਨ ਨਾ ਕੀਤੇ ਜਾਣ ਤੱਕ ਦ੍ਰਿਸ਼ ਵਿੱਚ ਰੱਖਦਾ ਹੈ। ਅਨਪਿੰਨ ਕਰਨ ਲਈ ਵਾਪਸ ਜਾਓ ਨੂੰ ਸਪਰਸ਼ ਕਰਕੇ ਦਬਾਈ ਰੱਖੋ।"</string> - <string name="screen_pinning_positive" msgid="3783985798366751226">"ਸਮਝ ਗਿਆ"</string> + <string name="screen_pinning_positive" msgid="3783985798366751226">"ਸਮਝ ਲਿਆ"</string> <string name="screen_pinning_negative" msgid="3741602308343880268">"ਨਹੀਂ ਧੰਨਵਾਦ"</string> <string name="quick_settings_reset_confirmation_title" msgid="748792586749897883">"ਕੀ <xliff:g id="TILE_LABEL">%1$s</xliff:g> ਨੂੰ ਲੁਕਾਉਣਾ ਹੈ?"</string> <string name="quick_settings_reset_confirmation_message" msgid="2235970126803317374">"ਇਹ ਅਗਲੀ ਵਾਰ ਮੁੜ ਪ੍ਰਗਟ ਹੋਵੇਗਾ ਜਦੋਂ ਤੁਸੀਂ ਇਸਨੂੰ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਚਾਲੂ ਕਰਦੇ ਹੋ।"</string> @@ -461,7 +461,7 @@ <string name="tuner_warning_title" msgid="7094689930793031682">"ਕੁਝ ਵਾਸਤੇ ਤਾਂ ਮਜ਼ੇਦਾਰ ਹੈ ਲੇਕਿਨ ਸਾਰਿਆਂ ਵਾਸਤੇ ਨਹੀਂ"</string> <string name="tuner_warning" msgid="8730648121973575701">"ਸਿਸਟਮ UI ਟਿਊਨਰ ਤੁਹਾਨੂੰ Android ਉਪਭੋਗਤਾ ਇੰਟਰਫੇਸ ਤਬਦੀਲ ਕਰਨ ਅਤੇ ਅਨੁਕੂਲਿਤ ਕਰਨ ਲਈ ਵਾਧੂ ਤਰੀਕੇ ਦਿੰਦਾ ਹੈ। ਇਹ ਪ੍ਰਯੋਗਾਤਮਿਕ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਭਵਿੱਖ ਦੀ ਰੀਲੀਜ਼ ਵਿੱਚ ਬਦਲ ਸਕਦੀਆਂ ਹਨ, ਟੁੱਟ ਸਕਦੀਆਂ ਹਨ, ਜਾਂ ਅਲੋਪ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਸਾਵਧਾਨੀ ਨਾਲ ਅੱਗੇ ਵੱਧੋ।"</string> <string name="tuner_persistent_warning" msgid="8597333795565621795">"ਇਹ ਪ੍ਰਯੋਗਾਤਮਿਕ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਭਵਿੱਖ ਦੀ ਰੀਲੀਜ਼ ਵਿੱਚ ਬਦਲ ਸਕਦੀਆਂ ਹਨ, ਟੁੱਟ ਸਕਦੀਆਂ ਹਨ, ਜਾਂ ਅਲੋਪ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਸਾਵਧਾਨੀ ਨਾਲ ਅੱਗੇ ਵੱਧੋ।"</string> - <string name="got_it" msgid="2239653834387972602">"ਸਮਝ ਗਿਆ"</string> + <string name="got_it" msgid="2239653834387972602">"ਸਮਝ ਲਿਆ"</string> <string name="tuner_toast" msgid="603429811084428439">"ਵਧਾਈਆਂ! ਸਿਸਟਮ UI ਟਿਊਨਰ ਨੂੰ ਸੈਟਿੰਗਜ਼ ਵਿੱਚ ਜੋੜਿਆ ਗਿਆ ਹੈ"</string> <string name="remove_from_settings" msgid="8389591916603406378">"ਸੈਟਿੰਗਜ਼ ਤੋਂ ਹਟਾਓ"</string> <string name="remove_from_settings_prompt" msgid="6069085993355887748">"ਕੀ ਸੈਟਿੰਗਜ਼ ਤੋਂ ਸਿਸਟਮ UI ਟਿਊਨਰ ਨੂੰ ਹਟਾਉਣਾ ਹੈ ਅਤੇ ਇਸਦੀਆਂ ਸਾਰੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਉਪਯੋਗ ਕਰਨ ਤੋਂ ਰੋਕਣਾ ਹੈ?"</string> diff --git a/packages/SystemUI/res/values-ro/strings.xml b/packages/SystemUI/res/values-ro/strings.xml index 44642a0da826..9b52ffd7d6f2 100644 --- a/packages/SystemUI/res/values-ro/strings.xml +++ b/packages/SystemUI/res/values-ro/strings.xml @@ -155,7 +155,7 @@ <string name="accessibility_cell_data_off" msgid="8000803571751407635">"Datele mobile sunt dezactivate"</string> <string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Conectarea ca modem prin Bluetooth."</string> <string name="accessibility_airplane_mode" msgid="834748999790763092">"Mod Avion."</string> - <string name="accessibility_no_sims" msgid="3957997018324995781">"Niciun card SIM."</string> + <string name="accessibility_no_sims" msgid="3957997018324995781">"Fără SIM."</string> <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Se schimbă rețeaua operatorului."</string> <string name="accessibility_battery_details" msgid="7645516654955025422">"Deschideți detaliile privind bateria"</string> <string name="accessibility_battery_level" msgid="7451474187113371965">"Baterie: <xliff:g id="NUMBER">%d</xliff:g> la sută."</string> @@ -298,7 +298,7 @@ <string name="quick_settings_cast_detail_empty_text" msgid="311785821261640623">"Niciun dispozitiv disponibil"</string> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Luminozitate"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"AUTOMAT"</string> - <string name="quick_settings_inversion_label" msgid="8790919884718619648">"Inversați culori"</string> + <string name="quick_settings_inversion_label" msgid="8790919884718619648">"Inversați culorile"</string> <string name="quick_settings_color_space_label" msgid="853443689745584770">"Mod de corectare a culorilor"</string> <string name="quick_settings_more_settings" msgid="326112621462813682">"Mai multe setări"</string> <string name="quick_settings_done" msgid="3402999958839153376">"Terminat"</string> @@ -323,13 +323,13 @@ <string name="recents_search_bar_label" msgid="8074997400187836677">"căutare"</string> <string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g> nu a putut porni."</string> <string name="recents_launch_disabled_message" msgid="1624523193008871793">"Aplicația <xliff:g id="APP">%s</xliff:g> este dezactivată în modul sigur."</string> - <string name="recents_stack_action_button_label" msgid="6593727103310426253">"Ștergeți-le pe toate"</string> + <string name="recents_stack_action_button_label" msgid="6593727103310426253">"Ștergeți tot"</string> <string name="recents_incompatible_app_message" msgid="5075812958564082451">"Aplicația nu acceptă ecranul împărțit"</string> <string name="recents_drag_hint_message" msgid="2649739267073203985">"Trageți aici pentru a folosi ecranul împărțit"</string> <string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Divizare pe orizontală"</string> <string name="recents_multistack_add_stack_dialog_split_vertical" msgid="9075292233696180813">"Divizare pe verticală"</string> <string name="recents_multistack_add_stack_dialog_split_custom" msgid="4177837597513701943">"Divizare personalizată"</string> - <string name="expanded_header_battery_charged" msgid="5945855970267657951">"S-a încărcat"</string> + <string name="expanded_header_battery_charged" msgid="5945855970267657951">"Încărcată"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"Se încarcă"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> până la încărcare completă"</string> <string name="expanded_header_battery_not_charging" msgid="4798147152367049732">"Nu se încarcă"</string> @@ -380,7 +380,7 @@ <string name="user_logout_notification_title" msgid="1453960926437240727">"Deconectați utilizatorul"</string> <string name="user_logout_notification_text" msgid="3350262809611876284">"Deconectați utilizatorul actual"</string> <string name="user_logout_notification_action" msgid="1195428991423425062">"DECONECTAȚI UTILIZATORUL"</string> - <string name="user_add_user_title" msgid="4553596395824132638">"Adăugați utilizator nou?"</string> + <string name="user_add_user_title" msgid="4553596395824132638">"Adăugați un utilizator nou?"</string> <string name="user_add_user_message_short" msgid="2161624834066214559">"Când adăugați un utilizator nou, acesta trebuie să-și configureze spațiul.\n\nOrice utilizator poate actualiza aplicațiile pentru toți ceilalți utilizatori."</string> <string name="user_remove_user_title" msgid="4681256956076895559">"Eliminați utilizatorul?"</string> <string name="user_remove_user_message" msgid="1453218013959498039">"Toate aplicațiile și datele acestui utilizator vor fi șterse."</string> diff --git a/packages/SystemUI/res/values-ru/strings.xml b/packages/SystemUI/res/values-ru/strings.xml index f6088bfaecf9..978684ee4337 100644 --- a/packages/SystemUI/res/values-ru/strings.xml +++ b/packages/SystemUI/res/values-ru/strings.xml @@ -299,7 +299,7 @@ <string name="quick_settings_cast_detail_empty_text" msgid="311785821261640623">"Нет доступных устройств"</string> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Яркость"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"АВТОНАСТРОЙКА"</string> - <string name="quick_settings_inversion_label" msgid="8790919884718619648">"Инвертировать"</string> + <string name="quick_settings_inversion_label" msgid="8790919884718619648">"Обратные цвета"</string> <string name="quick_settings_color_space_label" msgid="853443689745584770">"Коррекция цвета"</string> <string name="quick_settings_more_settings" msgid="326112621462813682">"Настройки"</string> <string name="quick_settings_done" msgid="3402999958839153376">"Готово"</string> diff --git a/packages/SystemUI/res/values-ta-rIN/strings.xml b/packages/SystemUI/res/values-ta-rIN/strings.xml index e150e64d1f9f..d385ce007dc8 100644 --- a/packages/SystemUI/res/values-ta-rIN/strings.xml +++ b/packages/SystemUI/res/values-ta-rIN/strings.xml @@ -288,10 +288,10 @@ <string name="quick_settings_wifi_off_label" msgid="7558778100843885864">"வைஃபையை முடக்கு"</string> <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"வைஃபை இயக்கத்தில்"</string> <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"வைஃபை நெட்வொர்க்குகள் இல்லை"</string> - <string name="quick_settings_cast_title" msgid="7709016546426454729">"அனுப்பு"</string> + <string name="quick_settings_cast_title" msgid="7709016546426454729">"திரையிடு"</string> <string name="quick_settings_casting" msgid="6601710681033353316">"அனுப்புகிறது"</string> <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"பெயரிடப்படாத சாதனம்"</string> - <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"அனுப்பத் தயார்"</string> + <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"திரையிடத் தயார்"</string> <string name="quick_settings_cast_detail_empty_text" msgid="311785821261640623">"சாதனங்கள் இல்லை"</string> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"ஒளிர்வு"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"தானியங்கு"</string> diff --git a/packages/SystemUI/res/values-tl/strings_car.xml b/packages/SystemUI/res/values-tl/strings_car.xml index 6bb04abf0069..c6926ed6ab83 100644 --- a/packages/SystemUI/res/values-tl/strings_car.xml +++ b/packages/SystemUI/res/values-tl/strings_car.xml @@ -20,5 +20,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="car_lockscreen_disclaimer_title" msgid="7997539137376896441">"Magmaneho nang ligtas"</string> - <string name="car_lockscreen_disclaimer_text" msgid="3061224684092952864">"Manatiling lubos na nakakaalam sa mga kundisyon sa pagmamaneho at palaging sumunod sa mga naaangkop na batas. Ang mga direksyon ay maaaring hindi tumpak, hindi kumpleto, mapanganib, hindi naaangkop, ipinagbabawal o kinasasangkutan ng pagtawid sa mga administratibong lugar. Maaari ding hindi tumpak o hindi kumpleto ang impormasyon ng negosyo. Hindi real-time ang data at hindi magagarantiya ang katumpakan ng lokasyon. Huwag gamitin ang iyong mobile device o gumamit ng mga app na hindi ginawa para sa Android Auto habang nagmamaneho."</string> + <string name="car_lockscreen_disclaimer_text" msgid="3061224684092952864">"Manatiling lubos na nakakaalam sa mga kondisyon sa pagmamaneho at palaging sumunod sa mga naaangkop na batas. Ang mga direksyon ay maaaring hindi tumpak, hindi kumpleto, mapanganib, hindi naaangkop, ipinagbabawal o kinasasangkutan ng pagtawid sa mga administratibong lugar. Maaari ding hindi tumpak o hindi kumpleto ang impormasyon ng negosyo. Hindi real-time ang data at hindi magagarantiya ang katumpakan ng lokasyon. Huwag gamitin ang iyong mobile device o gumamit ng mga app na hindi ginawa para sa Android Auto habang nagmamaneho."</string> </resources> diff --git a/packages/SystemUI/res/values-tr/strings.xml b/packages/SystemUI/res/values-tr/strings.xml index 373b20978d13..2763468ee89e 100644 --- a/packages/SystemUI/res/values-tr/strings.xml +++ b/packages/SystemUI/res/values-tr/strings.xml @@ -340,7 +340,7 @@ <string name="zen_silence_introduction" msgid="3137882381093271568">"Bu seçenek TÜM sesleri ve titreşimleri engeller. Buna alarmlar, müzik, videolar ve oyunlar dahildir."</string> <string name="keyguard_more_overflow_text" msgid="9195222469041601365">"+<xliff:g id="NUMBER_OF_NOTIFICATIONS">%d</xliff:g>"</string> <string name="speed_bump_explanation" msgid="1288875699658819755">"Daha az acil bildirimler aşağıdadır"</string> - <string name="notification_tap_again" msgid="7590196980943943842">"Açmak için tekrar hafifçe vurun"</string> + <string name="notification_tap_again" msgid="7590196980943943842">"Açmak için tekrar dokunun"</string> <string name="keyguard_unlock" msgid="8043466894212841998">"Kilidi açmak için hızlıca yukarı kaydırın"</string> <string name="phone_hint" msgid="4872890986869209950">"Telefon için, simgeden hızlıca kaydırın"</string> <string name="voice_hint" msgid="8939888732119726665">"Sesli yardım için, simgeden hızlıca kaydırın"</string> @@ -388,7 +388,7 @@ <string name="media_projection_dialog_text" msgid="3071431025448218928">"<xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g>, ekranınızda görüntülenen her şeyi kaydetmeye başlayacak."</string> <string name="media_projection_remember_text" msgid="3103510882172746752">"Bir daha gösterme"</string> <string name="clear_all_notifications_text" msgid="814192889771462828">"Tümü temizle"</string> - <string name="media_projection_action_text" msgid="8470872969457985954">"Şimdi başla"</string> + <string name="media_projection_action_text" msgid="8470872969457985954">"Şimdi başlat"</string> <string name="empty_shade_text" msgid="708135716272867002">"Bildirim yok"</string> <string name="device_owned_footer" msgid="3802752663326030053">"Cihaz izlenebilir"</string> <string name="profile_owned_footer" msgid="8021888108553696069">"Profil izlenebilir"</string> diff --git a/packages/SystemUI/res/values-uz-rUZ/strings.xml b/packages/SystemUI/res/values-uz-rUZ/strings.xml index f9815d933b3a..d5156e4c6ce4 100644 --- a/packages/SystemUI/res/values-uz-rUZ/strings.xml +++ b/packages/SystemUI/res/values-uz-rUZ/strings.xml @@ -154,7 +154,7 @@ <string name="accessibility_cell_data_off" msgid="8000803571751407635">"Mobil internet o‘chiq"</string> <string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth modem"</string> <string name="accessibility_airplane_mode" msgid="834748999790763092">"Parvoz rejimi"</string> - <string name="accessibility_no_sims" msgid="3957997018324995781">"Hech qanday SIM karta yo‘q."</string> + <string name="accessibility_no_sims" msgid="3957997018324995781">"SIM karta yo‘q."</string> <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Mobil tarmoqni o‘zgartirish"</string> <string name="accessibility_battery_details" msgid="7645516654955025422">"Batareya quvvati sarfi haqida ma’lumot"</string> <string name="accessibility_battery_level" msgid="7451474187113371965">"Batareya <xliff:g id="NUMBER">%d</xliff:g> foiz."</string> @@ -271,14 +271,14 @@ <string name="accessibility_quick_settings_rotation" msgid="4231661040698488779">"Ekranni avtomatik burish"</string> <string name="accessibility_quick_settings_rotation_value" msgid="1428962304214992318">"Tanlandi: <xliff:g id="ID_1">%s</xliff:g>"</string> <string name="quick_settings_rotation_locked_label" msgid="6359205706154282377">"Aylanmaydigan qilingan"</string> - <string name="quick_settings_rotation_locked_portrait_label" msgid="5102691921442135053">"Bo‘yiga"</string> + <string name="quick_settings_rotation_locked_portrait_label" msgid="5102691921442135053">"Tik holat"</string> <string name="quick_settings_rotation_locked_landscape_label" msgid="8553157770061178719">"Eniga"</string> <string name="quick_settings_ime_label" msgid="7073463064369468429">"Kiritish usuli"</string> <string name="quick_settings_location_label" msgid="5011327048748762257">"Joylashuv"</string> <string name="quick_settings_location_off_label" msgid="7464544086507331459">"Joylashuv xizmati o‘chiq"</string> <string name="quick_settings_media_device_label" msgid="1302906836372603762">"Media qurilma"</string> <string name="quick_settings_rssi_label" msgid="7725671335550695589">"RSSI"</string> - <string name="quick_settings_rssi_emergency_only" msgid="2713774041672886750">"Faqat favqulodda qo‘ng‘iroqlar"</string> + <string name="quick_settings_rssi_emergency_only" msgid="2713774041672886750">"Favqulodda qo‘ng‘iroqlar"</string> <string name="quick_settings_settings_label" msgid="5326556592578065401">"Sozlamalar"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Vaqt"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Men"</string> @@ -290,21 +290,21 @@ <string name="quick_settings_wifi_off_label" msgid="7558778100843885864">"Wi-Fi o‘chiq"</string> <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi yoqilgan"</string> <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Hech qanday Wi-Fi tarmog‘i mavjud emas"</string> - <string name="quick_settings_cast_title" msgid="7709016546426454729">"Wi-Fi monitor"</string> + <string name="quick_settings_cast_title" msgid="7709016546426454729">"Translatsiya"</string> <string name="quick_settings_casting" msgid="6601710681033353316">"Translatsiya qilinmoqda"</string> <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Nomsiz qurilma"</string> <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Tarqatish uchun tayyor"</string> <string name="quick_settings_cast_detail_empty_text" msgid="311785821261640623">"Qurilmalar topilmadi"</string> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Yorqinlik"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"AVTOMATIC"</string> - <string name="quick_settings_inversion_label" msgid="8790919884718619648">"Ranglarni almashtirish"</string> + <string name="quick_settings_inversion_label" msgid="8790919884718619648">"Teskari ranglar"</string> <string name="quick_settings_color_space_label" msgid="853443689745584770">"Rangni to‘g‘rilash usuli"</string> <string name="quick_settings_more_settings" msgid="326112621462813682">"Boshqa sozlamalar"</string> <string name="quick_settings_done" msgid="3402999958839153376">"Tayyor"</string> <string name="quick_settings_connected" msgid="1722253542984847487">"Ulangan"</string> <string name="quick_settings_connecting" msgid="47623027419264404">"Ulanmoqda…"</string> <string name="quick_settings_tethering_label" msgid="7153452060448575549">"Modem rejimi"</string> - <string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Ulanish nuqtasi"</string> + <string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Hotspot"</string> <string name="quick_settings_notifications_label" msgid="4818156442169154523">"Bildirishnomalar"</string> <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Fonar"</string> <string name="quick_settings_cellular_detail_title" msgid="8575062783675171695">"Mobil internet"</string> @@ -364,7 +364,7 @@ <string name="user_add_user" msgid="5110251524486079492">"Foydalanuvchi qo‘shish"</string> <string name="user_new_user_name" msgid="426540612051178753">"Yangi foydalanuvchi"</string> <string name="guest_nickname" msgid="8059989128963789678">"Mehmon"</string> - <string name="guest_new_guest" msgid="600537543078847803">"Yangi mehmon qo‘shish"</string> + <string name="guest_new_guest" msgid="600537543078847803">"Mehmon qo‘shish"</string> <string name="guest_exit_guest" msgid="7187359342030096885">"Mehmon rejimini o‘chirish"</string> <string name="guest_exit_guest_dialog_title" msgid="8480693520521766688">"Mehmon hisobi o‘chirib tashlansinmi?"</string> <string name="guest_exit_guest_dialog_message" msgid="4155503224769676625">"Ushbu seansdagi barcha ilovalar va ma’lumotlar o‘chirib tashlanadi."</string> @@ -379,8 +379,8 @@ <string name="user_logout_notification_title" msgid="1453960926437240727">"Foydalanuvchi nomidan chiqish"</string> <string name="user_logout_notification_text" msgid="3350262809611876284">"Joriy foydalanuvchini tizimdan chiqaring"</string> <string name="user_logout_notification_action" msgid="1195428991423425062">"FOYDALANUVCHI NOMIDAN CHIQISH"</string> - <string name="user_add_user_title" msgid="4553596395824132638">"Yangi foyd-chi qo‘shilsinmi?"</string> - <string name="user_add_user_message_short" msgid="2161624834066214559">"Yangi foydalanuvchi qo‘shilgach, o‘sha shaxs o‘z hududini sozlashi lozim bo‘ladi.\n\nHar qanday foydalanuvchi ilovalarni barcha foydalanuvchilar uchun yangilashi mumkin."</string> + <string name="user_add_user_title" msgid="4553596395824132638">"Foydalanuvchi qo‘shilsinmi?"</string> + <string name="user_add_user_message_short" msgid="2161624834066214559">"Yangi profil qo‘shilgach, uni sozlash lozim.\n\nQurilmaning istalgan foydalanuvchisi ilovalarni barcha hisoblar uchun yangilashi mumkin."</string> <string name="user_remove_user_title" msgid="4681256956076895559">"Foydalanuvchi olib tashlansinmi?"</string> <string name="user_remove_user_message" msgid="1453218013959498039">"Ushbu foydalanuvchining barcha ilovalari va ma’lumotlari o‘chirib tashlanadi."</string> <string name="user_remove_user_remove" msgid="7479275741742178297">"Olib tashlash"</string> @@ -389,7 +389,7 @@ <string name="battery_saver_notification_action_text" msgid="109158658238110382">"Quvvat tejash rejimidan chiqish"</string> <string name="media_projection_dialog_text" msgid="3071431025448218928">"<xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g> ilovasi qurilma ekranidagi har qanday tasvirni ko‘rishni boshlaydi."</string> <string name="media_projection_remember_text" msgid="3103510882172746752">"Boshqa ko‘rsatilmasin"</string> - <string name="clear_all_notifications_text" msgid="814192889771462828">"Barchasini tozalash"</string> + <string name="clear_all_notifications_text" msgid="814192889771462828">"Hammasini tozalash"</string> <string name="media_projection_action_text" msgid="8470872969457985954">"Boshlash"</string> <string name="empty_shade_text" msgid="708135716272867002">"Bildirishnomalar yo‘q"</string> <string name="device_owned_footer" msgid="3802752663326030053">"Qurilma kuzatilishi mumkin"</string> @@ -457,7 +457,7 @@ <string name="alarm_template" msgid="3980063409350522735">"<xliff:g id="WHEN">%1$s</xliff:g>"</string> <string name="alarm_template_far" msgid="4242179982586714810">"<xliff:g id="WHEN">%1$s</xliff:g>"</string> <string name="accessibility_quick_settings_detail" msgid="2579369091672902101">"Tezkor sozlamalar, <xliff:g id="TITLE">%s</xliff:g>."</string> - <string name="accessibility_status_bar_hotspot" msgid="4099381329956402865">"Ulanish nuqtasi"</string> + <string name="accessibility_status_bar_hotspot" msgid="4099381329956402865">"Hotspot"</string> <string name="accessibility_managed_profile" msgid="6613641363112584120">"Ishchi profil"</string> <string name="tuner_warning_title" msgid="7094689930793031682">"Diqqat!"</string> <string name="tuner_warning" msgid="8730648121973575701">"System UI Tuner yordamida siz Android foydalanuvchi interfeysini tuzatish va o‘zingizga moslashtirishingiz mumkin. Ushbu tajribaviy funksiyalar o‘zgarishi, buzilishi yoki keyingi versiyalarda olib tashlanishi mumkin. Ehtiyot bo‘lib davom eting."</string> @@ -586,7 +586,7 @@ <string name="select_button" msgid="1597989540662710653">"Qo‘shish uchun tugmani tanlang"</string> <string name="add_button" msgid="4134946063432258161">"Tugma qo‘shish"</string> <string name="save" msgid="2311877285724540644">"Saqlash"</string> - <string name="reset" msgid="2448168080964209908">"Tiklash"</string> + <string name="reset" msgid="2448168080964209908">"Asliga qaytarish"</string> <string name="no_home_title" msgid="1563808595146071549">"“Bosh ekran” tugmasi topilmadi"</string> <string name="no_home_message" msgid="5408485011659260911">"Qurilma bo‘ylab o‘tish uchun “Bosh ekran” tugmasi kerak. Saqlashdan oldin mazkur tugmani qo‘shing."</string> <string name="adjust_button_width" msgid="6138616087197632947">"Tugma enini moslashtiring"</string> @@ -597,7 +597,7 @@ <string name="keycode_description" msgid="1403795192716828949">"Tugmalar kodi yordamida klaviatura tugmalarini navigatsiya paneliga qo‘shish mumkin. Ular bosilganda tanlangan klaviatura tugmasining bosilishini taqlid qiladi. Tugmalar kodi uchun klaviatura tugmasi va rasm tanlanishi kerak."</string> <string name="select_keycode" msgid="7413765103381924584">"Klaviatura tugmasini tanlang"</string> <string name="preview" msgid="9077832302472282938">"Oldindan ko‘rish"</string> - <string name="drag_to_add_tiles" msgid="7058945779098711293">"Fragmentlar qo‘shish uchun torting"</string> + <string name="drag_to_add_tiles" msgid="7058945779098711293">"Kerakli elementni tortib qo‘shing"</string> <string name="drag_to_remove_tiles" msgid="3361212377437088062">"O‘chirish uchun bu yerga torting"</string> <string name="qs_edit" msgid="2232596095725105230">"Tahrirlash"</string> <string name="tuner_time" msgid="6572217313285536011">"Vaqt"</string> @@ -639,7 +639,7 @@ <string name="accessibility_quick_settings_expand" msgid="2375165227880477530">"Tezkor sozlamalarni ochish."</string> <string name="accessibility_quick_settings_collapse" msgid="1792625797142648105">"Tezkor sozlamalarni yopish."</string> <string name="accessibility_quick_settings_alarm_set" msgid="1863000242431528676">"Uyg‘otkich o‘rnatildi."</string> - <string name="accessibility_quick_settings_user" msgid="1567445362870421770">"Siz <xliff:g id="ID_1">%s</xliff:g> sifatida kirgansiz"</string> + <string name="accessibility_quick_settings_user" msgid="1567445362870421770">"<xliff:g id="ID_1">%s</xliff:g> sifatida kirgansiz"</string> <string name="accessibility_quick_settings_no_internet" msgid="31890692343084075">"Internet yo‘q."</string> <string name="accessibility_quick_settings_open_details" msgid="4230931801728005194">"Tafsilotlarini ko‘rsatish."</string> <string name="accessibility_quick_settings_open_settings" msgid="7806613775728380737">"<xliff:g id="ID_1">%s</xliff:g> sozlamalarini ochish."</string> diff --git a/packages/SystemUI/res/values-zh-rCN/strings.xml b/packages/SystemUI/res/values-zh-rCN/strings.xml index d4d028825fd0..a11dc0eabd3d 100644 --- a/packages/SystemUI/res/values-zh-rCN/strings.xml +++ b/packages/SystemUI/res/values-zh-rCN/strings.xml @@ -471,7 +471,7 @@ <string name="show_brightness" msgid="6613930842805942519">"在快捷设置中显示亮度栏"</string> <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"启用分屏上滑手势"</string> <string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"启用通过从“概览”按钮向上滑动的手势进入分屏模式"</string> - <string name="experimental" msgid="6198182315536726162">"实验性"</string> + <string name="experimental" msgid="6198182315536726162">"实验性功能"</string> <string name="enable_bluetooth_title" msgid="5027037706500635269">"要开启蓝牙吗?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"要将您的键盘连接到平板电脑,您必须先开启蓝牙。"</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"开启"</string> diff --git a/packages/SystemUI/res/values-zh-rHK/strings.xml b/packages/SystemUI/res/values-zh-rHK/strings.xml index c17d02c03ce1..dd7db867a2ba 100644 --- a/packages/SystemUI/res/values-zh-rHK/strings.xml +++ b/packages/SystemUI/res/values-zh-rHK/strings.xml @@ -356,7 +356,7 @@ <string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"僅限\n鬧鐘"</string> <string name="keyguard_indication_charging_time" msgid="1757251776872835768">"充電中 (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>後完成充電)"</string> <string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"正在快速充電 (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>後完成充電)"</string> - <string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"正在緩慢充電 (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>後完成充電)"</string> + <string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"正在慢速充電 (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>後完成)"</string> <string name="accessibility_multi_user_switch_switcher" msgid="7305948938141024937">"切換使用者"</string> <string name="accessibility_multi_user_switch_switcher_with_current" msgid="8434880595284601601">"切換使用者,目前使用者是<xliff:g id="CURRENT_USER_NAME">%s</xliff:g>"</string> <string name="accessibility_multi_user_switch_inactive" msgid="1424081831468083402">"目前的使用者是 <xliff:g id="CURRENT_USER_NAME">%s</xliff:g>"</string> diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml index b8f576b0d366..cbb3c0ab52c7 100644 --- a/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml @@ -248,6 +248,9 @@ <!-- The height of the divider between the individual notifications. --> <dimen name="notification_divider_height">0.5dp</dimen> + <!-- The height of a notification header --> + <dimen name="notification_header_height">53dp</dimen> + <!-- The height of the divider between the individual notifications when the notification wants it to be increased. This is currently the case for notification groups --> <dimen name="notification_divider_height_increased">6dp</dimen> diff --git a/packages/SystemUI/res/values/values_tv.xml b/packages/SystemUI/res/values/values_tv.xml index dc0483f4c988..925941560c83 100644 --- a/packages/SystemUI/res/values/values_tv.xml +++ b/packages/SystemUI/res/values/values_tv.xml @@ -16,5 +16,5 @@ limitations under the License. <resources xmlns:android="http://schemas.android.com/apk/res/android"> <item format="float" type="integer" name="unselected_scale">1.0</item> <item format="float" type="integer" name="selected_scale">1.259</item> - <item format="float" type="integer" name="dismiss_unselected_alpha">0.1</item> + <item format="float" type="integer" name="dismiss_unselected_alpha">0.3</item> </resources> diff --git a/packages/SystemUI/src/com/android/systemui/ExpandHelper.java b/packages/SystemUI/src/com/android/systemui/ExpandHelper.java index b6d8095d6c83..7a5e32227db1 100644 --- a/packages/SystemUI/src/com/android/systemui/ExpandHelper.java +++ b/packages/SystemUI/src/com/android/systemui/ExpandHelper.java @@ -45,6 +45,7 @@ public class ExpandHelper implements Gefingerpoken { void setUserLockedChild(View v, boolean userLocked); void expansionStateChanged(boolean isExpanding); int getMaxExpandHeight(ExpandableView view); + void setExpansionCancelled(View view); } private static final String TAG = "ExpandHelper"; @@ -558,6 +559,8 @@ public class ExpandHelper implements Gefingerpoken { public void onAnimationEnd(Animator animation) { if (!mCancelled) { mCallback.setUserExpandedChild(scaledView, expand); + } else { + mCallback.setExpansionCancelled(scaledView); } mCallback.setUserLockedChild(scaledView, false); mScaleAnimation.removeListener(this); diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSAnimator.java b/packages/SystemUI/src/com/android/systemui/qs/QSAnimator.java index af81c196e4f3..f92c51f034cf 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSAnimator.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSAnimator.java @@ -252,8 +252,12 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha private void getRelativePositionInt(int[] loc1, View view, View parent) { if(view == parent || view == null) return; - loc1[0] += view.getX(); - loc1[1] += view.getTop(); + // Ignore tile pages as they can have some offset we don't want to take into account in + // RTL. + if (!(view instanceof PagedTileLayout.TilePage)) { + loc1[0] += view.getLeft(); + loc1[1] += view.getTop(); + } getRelativePositionInt(loc1, (View) view.getParent(), parent); } diff --git a/packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizer.java b/packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizer.java index 61933b44aeeb..4bf85c7a336f 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizer.java +++ b/packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizer.java @@ -19,6 +19,7 @@ import android.animation.Animator; import android.animation.Animator.AnimatorListener; import android.animation.AnimatorListenerAdapter; import android.content.Context; +import android.content.res.Configuration; import android.support.v7.widget.DefaultItemAnimator; import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.RecyclerView; @@ -103,6 +104,17 @@ public class QSCustomizer extends LinearLayout implements OnMenuItemClickListene mRecyclerView.setItemAnimator(animator); } + @Override + protected void onConfigurationChanged(Configuration newConfig) { + super.onConfigurationChanged(newConfig); + View navBackdrop = findViewById(R.id.nav_bar_background); + if (navBackdrop != null) { + boolean shouldShow = newConfig.smallestScreenWidthDp >= 600 + || newConfig.orientation != Configuration.ORIENTATION_LANDSCAPE; + navBackdrop.setVisibility(shouldShow ? View.VISIBLE : View.GONE); + } + } + public void setHost(QSTileHost host) { mHost = host; mPhoneStatusBar = host.getPhoneStatusBar(); diff --git a/packages/SystemUI/src/com/android/systemui/qs/customize/TileAdapter.java b/packages/SystemUI/src/com/android/systemui/qs/customize/TileAdapter.java index eaf375eefdb0..60c24d095aa7 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/customize/TileAdapter.java +++ b/packages/SystemUI/src/com/android/systemui/qs/customize/TileAdapter.java @@ -142,11 +142,9 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta } } mTileDividerIndex = mTiles.size(); - if (mOtherTiles.size() != 0) { - mTiles.add(null); - } + mTiles.add(null); mTiles.addAll(mOtherTiles); - mEditIndex = mTiles.indexOf(null); + updateDividerLocations(); notifyDataSetChanged(); } @@ -203,6 +201,8 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta @Override public void onBindViewHolder(final Holder holder, int position) { if (holder.getItemViewType() == TYPE_DIVIDER) { + holder.itemView.setVisibility(mTileDividerIndex < mTiles.size() - 1 ? View.VISIBLE + : View.INVISIBLE); return; } if (holder.getItemViewType() == TYPE_EDIT) { @@ -286,10 +286,11 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta private void selectPosition(int position, View v) { // Remove the placeholder. mAccessibilityMoving = false; - move(mAccessibilityFromIndex, position, v); - mTiles.remove(mEditIndex); + mTiles.remove(mEditIndex--); notifyItemRemoved(mEditIndex - 1); + move(mAccessibilityFromIndex, position, v); updateDividerLocations(); + notifyDataSetChanged(); saveSpecs(mHost); } @@ -340,9 +341,8 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta to = mTileDividerIndex; } } else { - if (mTileDividerIndex == mTiles.size()) { - notifyItemInserted(mTiles.size()); - mTiles.add(null); + if (mTileDividerIndex == mTiles.size() - 1) { + notifyItemChanged(mTileDividerIndex); } if (to <= mTileDividerIndex) { to = mTileDividerIndex; @@ -351,7 +351,7 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta } else { if (to > mEditIndex) { // Don't allow tiles to be dragged around when they aren't added. - return false; + to = from; } // Allow the case where to == mEditIndex to fall through and swap which // side the tile is currently on. @@ -362,6 +362,9 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta CharSequence fromLabel = mTiles.get(from).state.label; move(from, to, mTiles); updateDividerLocations(); + if (to == from) { + return true; + } CharSequence announcement; if (to >= mEditIndex) { MetricsLogger.action(mContext, MetricsProto.MetricsEvent.ACTION_QS_EDIT_REMOVE_SPEC, @@ -405,12 +408,11 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta } } if (mTiles.size() - 1 == mTileDividerIndex) { - mTiles.remove(mTiles.size() - 1); - notifyItemRemoved(mTiles.size()); + notifyItemChanged(mTileDividerIndex); } } - private String strip(TileInfo tileInfo) { + private static String strip(TileInfo tileInfo) { String spec = tileInfo.spec; if (spec.startsWith(CustomTile.PREFIX)) { ComponentName component = CustomTile.getComponentFromSpec(spec); @@ -420,8 +422,7 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta } private <T> void move(int from, int to, List<T> list) { - list.add(from > to ? to : to + 1, list.get(from)); - list.remove(from > to ? from + 1 : from); + list.add(to, list.remove(from)); notifyItemMoved(from, to); notifyItemChanged(to); } diff --git a/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java b/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java index 212f1790fd2d..16b11580a176 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java +++ b/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java @@ -81,6 +81,8 @@ public class TileLifecycleManager extends BroadcastReceiver implements private IQSService mService; private boolean mUnbindImmediate; private TileChangeListener mChangeListener; + // Return value from bindServiceAsUser, determines whether safe to call unbind. + private boolean mIsBound; public TileLifecycleManager(Handler handler, Context context, Intent intent, UserHandle user) { mContext = context; @@ -132,7 +134,7 @@ public class TileLifecycleManager extends BroadcastReceiver implements } if (DEBUG) Log.d(TAG, "Binding service " + mIntent + " " + mUser); mBindTryCount++; - mContext.bindServiceAsUser(mIntent, this, + mIsBound = mContext.bindServiceAsUser(mIntent, this, Context.BIND_AUTO_CREATE | Context.BIND_FOREGROUND_SERVICE_WHILE_AWAKE, mUser); } else { @@ -140,7 +142,10 @@ public class TileLifecycleManager extends BroadcastReceiver implements // Give it another chance next time it needs to be bound, out of kindness. mBindTryCount = 0; mWrapper = null; - mContext.unbindService(this); + if (mIsBound) { + mContext.unbindService(this); + mIsBound = false; + } } } diff --git a/packages/SystemUI/src/com/android/systemui/recents/misc/SystemServicesProxy.java b/packages/SystemUI/src/com/android/systemui/recents/misc/SystemServicesProxy.java index 64f83a938928..1a944ce71796 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/misc/SystemServicesProxy.java +++ b/packages/SystemUI/src/com/android/systemui/recents/misc/SystemServicesProxy.java @@ -417,8 +417,8 @@ public class SystemServicesProxy { options.setLaunchStackId(DOCKED_STACK_ID); mIam.startActivityFromRecents(taskId, options.toBundle()); return true; - } catch (RemoteException | IllegalArgumentException e) { - e.printStackTrace(); + } catch (Exception e) { + Log.e(TAG, "Failed to dock task: " + taskId + " with createMode: " + createMode, e); } return false; } diff --git a/packages/SystemUI/src/com/android/systemui/recents/tv/RecentsTvActivity.java b/packages/SystemUI/src/com/android/systemui/recents/tv/RecentsTvActivity.java index 4341ab9cd869..ecb64f626650 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/tv/RecentsTvActivity.java +++ b/packages/SystemUI/src/com/android/systemui/recents/tv/RecentsTvActivity.java @@ -54,9 +54,9 @@ import com.android.systemui.recents.model.Task; import com.android.systemui.recents.model.TaskStack; import com.android.systemui.recents.tv.animations.HomeRecentsEnterExitAnimationHolder; import com.android.systemui.recents.tv.views.RecentsTvView; +import com.android.systemui.recents.tv.views.TaskCardView; import com.android.systemui.recents.tv.views.TaskStackHorizontalGridView; import com.android.systemui.recents.tv.views.TaskStackHorizontalViewAdapter; -import com.android.systemui.recents.views.AnimationProps; import com.android.systemui.statusbar.BaseStatusBar; import com.android.systemui.tv.pip.PipManager; import com.android.systemui.tv.pip.PipRecentsOverlayManager; @@ -184,12 +184,14 @@ public class RecentsTvActivity extends Activity implements OnPreDrawListener { if (!plan.hasTasks()) { loader.preloadTasks(plan, -1, !launchState.launchedFromHome); } + + int numVisibleTasks = TaskCardView.getNumberOfVisibleTasks(getApplicationContext()); mLaunchedFromHome = launchState.launchedFromHome; TaskStack stack = plan.getTaskStack(); RecentsTaskLoadPlan.Options loadOpts = new RecentsTaskLoadPlan.Options(); loadOpts.runningTaskId = launchState.launchedToTaskId; - loadOpts.numVisibleTasks = stack.getStackTaskCount(); - loadOpts.numVisibleTaskThumbnails = stack.getStackTaskCount(); + loadOpts.numVisibleTasks = numVisibleTasks; + loadOpts.numVisibleTaskThumbnails = numVisibleTasks; loader.loadTasks(this, plan, loadOpts); diff --git a/packages/SystemUI/src/com/android/systemui/recents/tv/animations/ViewFocusAnimator.java b/packages/SystemUI/src/com/android/systemui/recents/tv/animations/ViewFocusAnimator.java index c3efe64207ea..82185990c828 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/tv/animations/ViewFocusAnimator.java +++ b/packages/SystemUI/src/com/android/systemui/recents/tv/animations/ViewFocusAnimator.java @@ -104,6 +104,7 @@ public class ViewFocusAnimator implements View.OnFocusChangeListener { mTargetView.getDismissIconView().setAlpha(mDismissIconAlpha * level); mTargetView.getThumbnailView().setZ(z); + mTargetView.getDismissIconView().setZ(z); } public float getFocusProgress() { diff --git a/packages/SystemUI/src/com/android/systemui/recents/tv/views/TaskCardView.java b/packages/SystemUI/src/com/android/systemui/recents/tv/views/TaskCardView.java index 85fb50ebbb78..bd857481e8ff 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/tv/views/TaskCardView.java +++ b/packages/SystemUI/src/com/android/systemui/recents/tv/views/TaskCardView.java @@ -38,6 +38,8 @@ import android.widget.LinearLayout; import android.widget.TextView; import com.android.systemui.R; +import com.android.systemui.recents.Recents; +import com.android.systemui.recents.misc.SystemServicesProxy; import com.android.systemui.recents.tv.animations.DismissAnimationsHolder; import com.android.systemui.recents.tv.animations.RecentsRowFocusAnimationHolder; import com.android.systemui.recents.tv.animations.ViewFocusAnimator; @@ -85,6 +87,24 @@ public class TaskCardView extends LinearLayout { mCornerRadius = getResources().getDimensionPixelSize( R.dimen.recents_task_view_rounded_corners_radius); mRecentsRowFocusAnimationHolder = new RecentsRowFocusAnimationHolder(this, title); + SystemServicesProxy ssp = Recents.getSystemServices(); + if (ssp.isTouchExplorationEnabled()) { + mDismissIconView.setFocusable(true); + mDismissIconView.setFocusableInTouchMode(true); + mDismissIconView.setOnFocusChangeListener(new OnFocusChangeListener() { + @Override + public void onFocusChange(View v, boolean hasFocus) { + if (hasFocus) { + setDismissState(true); + } else { + setDismissState(false); + } + } + }); + } else { + mDismissIconView.setFocusable(false); + mDismissIconView.setFocusableInTouchMode(false); + } mViewFocusAnimator = new ViewFocusAnimator(this); } @@ -288,7 +308,6 @@ public class TaskCardView extends LinearLayout { lp.height = LayoutParams.MATCH_PARENT; screenshotView.setLayoutParams(lp); - screenshotView.setImageBitmap(screenshot); screenshotView.setClipToOutline(true); screenshotView.setOutlineProvider(new ViewOutlineProvider() { @Override @@ -296,6 +315,7 @@ public class TaskCardView extends LinearLayout { outline.setRoundRect(0, 0, view.getWidth(), view.getHeight(), mCornerRadius); } }); + screenshotView.setImageBitmap(screenshot); } private void setAsBannerView(Drawable banner, ImageView bannerView) { @@ -304,7 +324,6 @@ public class TaskCardView extends LinearLayout { .getDimensionPixelSize(R.dimen.recents_tv_banner_width); lp.height = getResources() .getDimensionPixelSize(R.dimen.recents_tv_banner_height); - bannerView.setLayoutParams(lp); bannerView.setImageDrawable(banner); } @@ -327,4 +346,16 @@ public class TaskCardView extends LinearLayout { public View getDismissIconView() { return mDismissIconView; } + + public static int getNumberOfVisibleTasks(Context context) { + Resources res = context.getResources(); + WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); + Display display = wm.getDefaultDisplay(); + Point size = new Point(); + display.getSize(size); + int screenWidth = size.x; + int cardWidth = res.getDimensionPixelSize(R.dimen.recents_tv_card_width); + int spacing = res.getDimensionPixelSize(R.dimen.recents_tv_gird_card_spacing); + return (int) (1.0 + Math.ceil(screenWidth / (cardWidth + spacing * 2.0))); + } } diff --git a/packages/SystemUI/src/com/android/systemui/recents/tv/views/TaskStackHorizontalViewAdapter.java b/packages/SystemUI/src/com/android/systemui/recents/tv/views/TaskStackHorizontalViewAdapter.java index 0a6d1ed1a294..b6b86b409948 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/tv/views/TaskStackHorizontalViewAdapter.java +++ b/packages/SystemUI/src/com/android/systemui/recents/tv/views/TaskStackHorizontalViewAdapter.java @@ -23,9 +23,11 @@ import android.view.View; import android.view.ViewGroup; import com.android.systemui.R; +import com.android.systemui.recents.Recents; import com.android.systemui.recents.events.EventBus; import com.android.systemui.recents.events.activity.LaunchTvTaskEvent; import com.android.systemui.recents.events.ui.DeleteTaskDataEvent; +import com.android.systemui.recents.model.RecentsTaskLoader; import com.android.systemui.recents.model.Task; import com.android.systemui.recents.views.AnimationProps; @@ -122,7 +124,10 @@ public class TaskStackHorizontalViewAdapter extends @Override public void onBindViewHolder(ViewHolder holder, int position) { - holder.init(mTaskList.get(position)); + Task task = mTaskList.get(position); + // Retrives from caches, loading only if necessary + Recents.getTaskLoader().loadTaskData(task); + holder.init(task); } @Override diff --git a/packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java b/packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java index 64eaeec98948..f728aa438aa5 100644 --- a/packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java +++ b/packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java @@ -1065,9 +1065,6 @@ public class DividerView extends FrameLayout implements OnTouchListener, mEntranceAnimationRunning = true; resizeStack(position, mSnapAlgorithm.getMiddleTarget().position, mSnapAlgorithm.getMiddleTarget()); - - // Vibrate after docking - performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY); } public final void onBusEvent(RecentsDrawnEvent drawnEvent) { @@ -1105,9 +1102,6 @@ public class DividerView extends FrameLayout implements OnTouchListener, mExitStartPosition = getCurrentPosition(); stopDragging(mExitStartPosition, target, 336 /* duration */, 100 /* startDelay */, 0 /* endDelay */, Interpolators.FAST_OUT_SLOW_IN); - - // Vibrate after undocking - performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY); } } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java index e66dc74c7958..63933d412400 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java @@ -189,6 +189,7 @@ public abstract class BaseStatusBar extends SystemUI implements protected boolean mVisible; protected ArraySet<Entry> mHeadsUpEntriesToRemoveOnSwitch = new ArraySet<>(); + protected ArraySet<Entry> mRemoteInputEntriesToRemoveOnCollapse = new ArraySet<>(); /** * Notifications with keys in this set are not actually around anymore. We kept them around @@ -968,7 +969,7 @@ public abstract class BaseStatusBar extends SystemUI implements return vetoButton; } - private void performRemoveNotification(StatusBarNotification n, boolean removeView) { + protected void performRemoveNotification(StatusBarNotification n, boolean removeView) { final String pkg = n.getPackageName(); final String tag = n.getTag(); final int id = n.getId(); @@ -980,6 +981,9 @@ public abstract class BaseStatusBar extends SystemUI implements mKeysKeptForRemoteInput.remove(n.getKey()); removeView = true; } + if (mRemoteInputEntriesToRemoveOnCollapse.remove(mNotificationData.get(n.getKey()))) { + removeView = true; + } if (removeView) { removeNotification(n.getKey(), null); } @@ -2085,8 +2089,7 @@ public abstract class BaseStatusBar extends SystemUI implements /** * The LEDs are turned off when the notification panel is shown, even just a little bit. - * See also NotificationStackScrollLayout.setIsExpanded() for another place where we - * attempt to do this. + * See also PhoneStatusBar.setPanelExpanded for another place where we attempt to do this. */ protected void handleVisibleToUserChanged(boolean visibleToUser) { try { @@ -2326,8 +2329,9 @@ public abstract class BaseStatusBar extends SystemUI implements Entry entry = mNotificationData.get(key); if (entry == null) { return; - } else if (mHeadsUpEntriesToRemoveOnSwitch.contains(entry)) { + } else { mHeadsUpEntriesToRemoveOnSwitch.remove(entry); + mRemoteInputEntriesToRemoveOnCollapse.remove(entry); } Notification n = notification.getNotification(); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java index b4ce9cda3624..c53ab5902dec 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java @@ -22,7 +22,6 @@ import android.animation.AnimatorSet; import android.animation.ObjectAnimator; import android.animation.ValueAnimator; import android.animation.ValueAnimator.AnimatorUpdateListener; -import android.app.Notification; import android.content.Context; import android.graphics.drawable.AnimatedVectorDrawable; import android.graphics.drawable.AnimationDrawable; @@ -31,6 +30,8 @@ import android.graphics.drawable.Drawable; import android.os.Build; import android.service.notification.StatusBarNotification; import android.util.AttributeSet; +import android.util.FloatProperty; +import android.util.Property; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.NotificationHeaderView; @@ -39,13 +40,11 @@ import android.view.ViewStub; import android.view.accessibility.AccessibilityEvent; import android.widget.Chronometer; import android.widget.ImageView; -import android.widget.RemoteViews; import com.android.internal.util.NotificationColorUtil; import com.android.systemui.R; import com.android.systemui.classifier.FalsingManager; import com.android.systemui.statusbar.notification.HybridNotificationView; -import com.android.systemui.statusbar.notification.NotificationViewWrapper; import com.android.systemui.statusbar.phone.NotificationGroupManager; import com.android.systemui.statusbar.policy.HeadsUpManager; import com.android.systemui.statusbar.stack.NotificationChildrenContainer; @@ -65,6 +64,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { private int mMaxHeadsUpHeight; private int mNotificationMinHeight; private int mNotificationMaxHeight; + private int mIncreasedPaddingBetweenElements; /** Does this row contain layouts that can adapt to row expansion */ private boolean mExpandable; @@ -97,7 +97,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { */ private boolean mOnKeyguard; - private AnimatorSet mTranslateAnim; + private Animator mTranslateAnim; private ArrayList<View> mTranslateableViews; private NotificationContentView mPublicLayout; private NotificationContentView mPrivateLayout; @@ -115,8 +115,6 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { private String mAppName; private boolean mIsHeadsUp; private boolean mLastChronometerRunning = true; - private NotificationHeaderView mNotificationHeader; - private NotificationViewWrapper mNotificationHeaderWrapper; private ViewStub mChildrenContainerStub; private NotificationGroupManager mGroupManager; private boolean mChildrenExpanded; @@ -128,13 +126,14 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { private boolean mIsPinned; private FalsingManager mFalsingManager; private HeadsUpManager mHeadsUpManager; - private NotificationHeaderUtil mHeaderUtil = new NotificationHeaderUtil(this); private boolean mJustClicked; private boolean mIconAnimationRunning; private boolean mShowNoBackground; private ExpandableNotificationRow mNotificationParent; private OnExpandClickListener mOnExpandClickListener; + private boolean mGroupExpansionChanging; + private OnClickListener mExpandClickListener = new OnClickListener() { @Override public void onClick(View v) { @@ -142,6 +141,8 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { mGroupManager.toggleGroupExpansion(mStatusBarNotification); mOnExpandClickListener.onExpandClicked(mEntry, mGroupManager.isGroupExpanded(mStatusBarNotification)); + mGroupExpansionChanging = true; + updateBackgroundForGroupState(); } else { boolean nowExpanded; if (isPinned()) { @@ -160,6 +161,29 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { private boolean mDismissed; private boolean mKeepInParent; private boolean mRemoved; + private static final Property<ExpandableNotificationRow, Float> TRANSLATE_CONTENT = + new FloatProperty<ExpandableNotificationRow>("translate") { + @Override + public void setValue(ExpandableNotificationRow object, float value) { + object.setTranslation(value); + } + + @Override + public Float get(ExpandableNotificationRow object) { + return object.getTranslation(); + } + }; + + public boolean isGroupExpansionChanging() { + if (isChildInGroup()) { + return mNotificationParent.isGroupExpansionChanging(); + } + return mGroupExpansionChanging; + } + + public void setGroupExpansionChanging(boolean changing) { + mGroupExpansionChanging = changing; + } public NotificationContentView getPrivateLayout() { return mPrivateLayout; @@ -172,8 +196,8 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { public void setIconAnimationRunning(boolean running) { setIconAnimationRunning(running, mPublicLayout); setIconAnimationRunning(running, mPrivateLayout); - setIconAnimationRunningForChild(running, mNotificationHeader); if (mIsSummaryWithChildren) { + setIconAnimationRunningForChild(running, mChildrenContainer.getHeaderView()); List<ExpandableNotificationRow> notificationChildren = mChildrenContainer.getNotificationChildren(); for (int i = 0; i < notificationChildren.size(); i++) { @@ -235,7 +259,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { updateNotificationColor(); updateClearability(); if (mIsSummaryWithChildren) { - recreateNotificationHeader(); + mChildrenContainer.recreateNotificationHeader(mExpandClickListener, mEntry.notification); mChildrenContainer.onNotificationUpdated(); } if (mIconAnimationRunning) { @@ -329,9 +353,6 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { if (mChildrenContainer != null) { mChildrenContainer.removeNotification(row); } - if (!row.isRemoved()) { - mHeaderUtil.restoreNotificationHeader(row); - } onChildrenCountChanged(); row.setIsChildInGroup(false, null); } @@ -352,7 +373,10 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { boolean childInGroup = BaseStatusBar.ENABLE_CHILD_NOTIFICATIONS && isChildInGroup; mNotificationParent = childInGroup ? parent : null; mPrivateLayout.setIsChildInGroup(childInGroup); - updateNoBackgroundState(); + updateBackgroundForGroupState(); + if (mNotificationParent != null) { + mNotificationParent.updateBackgroundForGroupState(); + } } @Override @@ -544,15 +568,15 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { } public NotificationHeaderView getNotificationHeader() { - if (mNotificationHeader != null) { - return mNotificationHeader; + if (mIsSummaryWithChildren) { + return mChildrenContainer.getHeaderView(); } return mPrivateLayout.getNotificationHeader(); } private NotificationHeaderView getVisibleNotificationHeader() { - if (mNotificationHeader != null) { - return mNotificationHeader; + if (mIsSummaryWithChildren) { + return mChildrenContainer.getHeaderView(); } return getShowingLayout().getVisibleNotificationHeader(); } @@ -568,11 +592,8 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { public void reInflateViews() { initDimens(); if (mIsSummaryWithChildren) { - removeView(mNotificationHeader); - mNotificationHeader = null; - recreateNotificationHeader(); if (mChildrenContainer != null) { - mChildrenContainer.reInflateViews(); + mChildrenContainer.reInflateViews(mExpandClickListener, mEntry.notification); } } if (mGuts != null) { @@ -646,9 +667,6 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { continue; } mChildrenContainer.removeNotification(row); - if (!row.isRemoved()) { - mHeaderUtil.restoreNotificationHeader(row); - } row.setIsChildInGroup(false, null); } onChildrenCountChanged(); @@ -684,8 +702,13 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { return mRemoved; } - public void setRemoved(boolean removed) { - mRemoved = removed; + public void setRemoved() { + mRemoved = true; + + mPrivateLayout.setRemoved(); + if (mChildrenContainer != null) { + mChildrenContainer.setRemoved(); + } } public NotificationChildrenContainer getChildrenContainer() { @@ -709,6 +732,8 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { mMaxHeadsUpHeightLegacy = getFontScaledHeight( R.dimen.notification_max_heads_up_height_legacy); mMaxHeadsUpHeight = getFontScaledHeight(R.dimen.notification_max_heads_up_height); + mIncreasedPaddingBetweenElements = getResources() + .getDimensionPixelSize(R.dimen.notification_divider_height_increased); } /** @@ -804,17 +829,13 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { mTranslateableViews.remove(mGutsStub); } - private void setTranslationForOutline(float translationX) { - setOutlineRect(false, translationX, getTop(), getRight() + translationX, getBottom()); - } - public void resetTranslation() { if (mTranslateableViews != null) { for (int i = 0; i < mTranslateableViews.size(); i++) { mTranslateableViews.get(i).setTranslationX(0); } - setTranslationForOutline(0); } + invalidateOutline(); if (mSettingsIconRow != null) { mSettingsIconRow.resetState(); } @@ -824,8 +845,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { if (mTranslateAnim != null) { mTranslateAnim.cancel(); } - mTranslateAnim = (AnimatorSet) getTranslateViewAnimator(leftTarget, - null /* updateListener */); + mTranslateAnim = getTranslateViewAnimator(leftTarget, null /* updateListener */); if (mTranslateAnim != null) { mTranslateAnim.start(); } @@ -843,7 +863,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { mTranslateableViews.get(i).setTranslationX(translationX); } } - setTranslationForOutline(translationX); + invalidateOutline(); if (mSettingsIconRow != null) { mSettingsIconRow.updateSettingsIcons(translationX, getMeasuredWidth()); } @@ -867,48 +887,29 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { // No translation if guts are exposed. return null; } - AnimatorSet set = new AnimatorSet(); - if (mTranslateableViews != null) { - for (int i = 0; i < mTranslateableViews.size(); i++) { - final View animView = mTranslateableViews.get(i); - final ObjectAnimator translateAnim = ObjectAnimator.ofFloat( - animView, "translationX", leftTarget); - if (i == 0) { - translateAnim.addUpdateListener(new AnimatorUpdateListener() { - @Override - public void onAnimationUpdate(ValueAnimator animation) { - setTranslationForOutline((float) animation.getAnimatedValue()); - if (mSettingsIconRow != null) { - mSettingsIconRow.updateSettingsIcons( - (float) animation.getAnimatedValue(), getMeasuredWidth()); - } - } - }); - if (listener != null) { - translateAnim.addUpdateListener(listener); - } - translateAnim.addListener(new AnimatorListenerAdapter() { - boolean cancelled = false; + final ObjectAnimator translateAnim = ObjectAnimator.ofFloat(this, TRANSLATE_CONTENT, + leftTarget); + if (listener != null) { + translateAnim.addUpdateListener(listener); + } + translateAnim.addListener(new AnimatorListenerAdapter() { + boolean cancelled = false; - @Override - public void onAnimationCancel(Animator anim) { - cancelled = true; - } + @Override + public void onAnimationCancel(Animator anim) { + cancelled = true; + } - @Override - public void onAnimationEnd(Animator anim) { - if (!cancelled && mSettingsIconRow != null && leftTarget == 0) { - mSettingsIconRow.resetState(); - mTranslateAnim = null; - } - } - }); + @Override + public void onAnimationEnd(Animator anim) { + if (!cancelled && mSettingsIconRow != null && leftTarget == 0) { + mSettingsIconRow.resetState(); + mTranslateAnim = null; } - set.play(translateAnim); } - } - mTranslateAnim = set; - return set; + }); + mTranslateAnim = translateAnim; + return translateAnim; } public float getSpaceForGear() { @@ -937,9 +938,8 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { if (mChildrenContainer != null) { mChildrenContainer.setVisibility(!mShowingPublic && mIsSummaryWithChildren ? VISIBLE : INVISIBLE); - } - if (mNotificationHeader != null) { - mNotificationHeader.setVisibility(!mShowingPublic && mIsSummaryWithChildren ? VISIBLE + mChildrenContainer.updateHeaderVisibility(!mShowingPublic && mIsSummaryWithChildren + ? VISIBLE : INVISIBLE); } // The limits might have changed if the view suddenly became a group or vice versa @@ -969,7 +969,6 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { } if (mIsSummaryWithChildren) { mChildrenContainer.setDark(dark, fade, delay); - mNotificationHeaderWrapper.setDark(dark, fade, delay); } } @@ -1044,6 +1043,9 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { mPrivateLayout.setUserExpanding(userLocked); if (mIsSummaryWithChildren) { mChildrenContainer.setUserLocked(userLocked); + if (userLocked) { + updateBackgroundForGroupState(); + } } } @@ -1123,30 +1125,28 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { } } - private boolean isGroupExpanded() { + public boolean isGroupExpanded() { return mGroupManager.isGroupExpanded(mStatusBarNotification); } - /** - * @return whether this view has a header on the top of the content - */ - private boolean hasNotificationHeader() { - return mIsSummaryWithChildren; - } - private void onChildrenCountChanged() { mIsSummaryWithChildren = BaseStatusBar.ENABLE_CHILD_NOTIFICATIONS - && mChildrenContainer != null && mChildrenContainer.getChildCount() > 0; - if (mIsSummaryWithChildren) { - if (mNotificationHeader == null) { - recreateNotificationHeader(); - } + && mChildrenContainer != null && mChildrenContainer.getNotificationChildCount() > 0; + if (mIsSummaryWithChildren && mChildrenContainer.getHeaderView() == null) { + mChildrenContainer.recreateNotificationHeader(mExpandClickListener, + mEntry.notification); } mPrivateLayout.updateExpandButtons(isExpandable()); updateChildrenHeaderAppearance(); updateChildrenVisibility(); } + public void updateChildrenHeaderAppearance() { + if (mChildrenContainer != null) { + mChildrenContainer.updateChildrenHeaderAppearance(); + } + } + /** * Check whether the view state is currently expanded. This is given by the system in {@link * #setSystemExpanded(boolean)} and can be overridden by user expansion or @@ -1251,8 +1251,8 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { } private void animateShowingPublic(long delay, long duration) { - View[] privateViews = mIsSummaryWithChildren ? - new View[] {mChildrenContainer, mNotificationHeader} + View[] privateViews = mIsSummaryWithChildren + ? new View[] {mChildrenContainer} : new View[] {mPrivateLayout}; View[] publicViews = new View[] {mPublicLayout}; View[] hiddenChildren = mShowingPublic ? privateViews : publicViews; @@ -1302,9 +1302,6 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { public void setChildrenExpanded(boolean expanded, boolean animate) { mChildrenExpanded = expanded; - if (mNotificationHeader != null) { - mNotificationHeader.setExpanded(expanded); - } if (mChildrenContainer != null) { mChildrenContainer.setChildrenExpanded(expanded); } @@ -1349,6 +1346,14 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { } @Override + public int getExtraBottomPadding() { + if (mIsSummaryWithChildren && isGroupExpanded()) { + return mIncreasedPaddingBetweenElements; + } + return 0; + } + + @Override public void setActualHeight(int height, boolean notifyListeners) { super.setActualHeight(height, notifyListeners); if (mGuts != null && mGuts.areGutsExposed()) { @@ -1406,33 +1411,6 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { } } - private void recreateNotificationHeader() { - final Notification.Builder builder = Notification.Builder.recoverBuilder(getContext(), - getStatusBarNotification().getNotification()); - final RemoteViews header = builder.makeNotificationHeader(); - if (mNotificationHeader == null) { - mNotificationHeader = (NotificationHeaderView) header.apply(getContext(), this); - final View expandButton = mNotificationHeader.findViewById( - com.android.internal.R.id.expand_button); - expandButton.setVisibility(VISIBLE); - mNotificationHeader.setOnClickListener(mExpandClickListener); - mNotificationHeaderWrapper = NotificationViewWrapper.wrap(getContext(), - mNotificationHeader, this); - addView(mNotificationHeader, indexOfChild(mChildrenContainer) + 1); - mTranslateableViews.add(mNotificationHeader); - } else { - header.reapply(getContext(), mNotificationHeader); - mNotificationHeaderWrapper.notifyContentUpdated(mEntry.notification); - } - updateChildrenHeaderAppearance(); - } - - public void updateChildrenHeaderAppearance() { - if (mIsSummaryWithChildren) { - mHeaderUtil.updateChildrenHeaderAppearance(); - } - } - public boolean isMaxExpandHeightInitialized() { return mMaxExpandHeight != 0; } @@ -1451,19 +1429,50 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { @Override protected void updateBackgroundTint() { super.updateBackgroundTint(); - updateNoBackgroundState(); + updateBackgroundForGroupState(); if (mIsSummaryWithChildren) { List<ExpandableNotificationRow> notificationChildren = mChildrenContainer.getNotificationChildren(); for (int i = 0; i < notificationChildren.size(); i++) { ExpandableNotificationRow child = notificationChildren.get(i); - child.updateNoBackgroundState(); + child.updateBackgroundForGroupState(); } } } - private void updateNoBackgroundState() { - mShowNoBackground = isChildInGroup() && hasSameBgColor(mNotificationParent); + /** + * Called when a group has finished animating from collapsed or expanded state. + */ + public void onFinishedExpansionChange() { + mGroupExpansionChanging = false; + updateBackgroundForGroupState(); + } + + /** + * Updates the parent and children backgrounds in a group based on the expansion state. + */ + public void updateBackgroundForGroupState() { + if (mIsSummaryWithChildren) { + // Only when the group has finished expanding do we hide its background. + mShowNoBackground = isGroupExpanded() && !isGroupExpansionChanging() && !isUserLocked(); + mChildrenContainer.updateHeaderForExpansion(mShowNoBackground); + List<ExpandableNotificationRow> children = mChildrenContainer.getNotificationChildren(); + for (int i = 0; i < children.size(); i++) { + children.get(i).updateBackgroundForGroupState(); + } + } else if (isChildInGroup()) { + final int childColor = getShowingLayout().getBackgroundColorForExpansionState(); + // Only show a background if the group is expanded OR if it is expanding / collapsing + // and has a custom background color + final boolean showBackground = isGroupExpanded() + || ((mNotificationParent.isGroupExpansionChanging() + || mNotificationParent.isUserLocked()) && childColor != 0); + mShowNoBackground = !showBackground; + } else { + // Only children or parents ever need no background. + mShowNoBackground = false; + } + updateOutline(); updateBackground(); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableOutlineView.java b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableOutlineView.java index f98e87d4848c..9d9f3b9640c4 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableOutlineView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableOutlineView.java @@ -33,22 +33,25 @@ public abstract class ExpandableOutlineView extends ExpandableView { private boolean mCustomOutline; private float mOutlineAlpha = -1f; + ViewOutlineProvider mProvider = new ViewOutlineProvider() { + @Override + public void getOutline(View view, Outline outline) { + int translation = (int) getTranslation(); + if (!mCustomOutline) { + outline.setRect(translation, + mClipTopAmount, + getWidth() + translation, + Math.max(getActualHeight(), mClipTopAmount)); + } else { + outline.setRect(mOutlineRect); + } + outline.setAlpha(mOutlineAlpha); + } + }; + public ExpandableOutlineView(Context context, AttributeSet attrs) { super(context, attrs); - setOutlineProvider(new ViewOutlineProvider() { - @Override - public void getOutline(View view, Outline outline) { - if (!mCustomOutline) { - outline.setRect(0, - mClipTopAmount, - getWidth(), - Math.max(getActualHeight(), mClipTopAmount)); - } else { - outline.setRect(mOutlineRect); - } - outline.setAlpha(mOutlineAlpha); - } - }); + setOutlineProvider(mProvider); } @Override @@ -87,17 +90,30 @@ public abstract class ExpandableOutlineView extends ExpandableView { @Override public int getOutlineTranslation() { - return mCustomOutline ? mOutlineRect.left : 0; + return mCustomOutline ? mOutlineRect.left : (int) getTranslation(); } - protected void setOutlineRect(float left, float top, float right, float bottom) { - setOutlineRect(true, left, top, right, bottom); + public void updateOutline() { + if (mCustomOutline) { + return; + } + boolean hasOutline = true; + if (isChildInGroup()) { + hasOutline = isGroupExpanded() && !isGroupExpansionChanging(); + } else if (isSummaryWithChildren()) { + hasOutline = !isGroupExpanded() || isGroupExpansionChanging(); + } + setOutlineProvider(hasOutline ? mProvider : null); } - protected void setOutlineRect(boolean clipToOutline, float left, float top, float right, - float bottom) { + public boolean isOutlineShowing() { + ViewOutlineProvider op = getOutlineProvider(); + return op != null; + } + + protected void setOutlineRect(float left, float top, float right, float bottom) { mCustomOutline = true; - setClipToOutline(clipToOutline); + setClipToOutline(true); mOutlineRect.set((int) left, (int) top, (int) right, (int) bottom); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableView.java b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableView.java index 280663bf6c35..2c302ed1af4e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableView.java @@ -323,7 +323,7 @@ public abstract class ExpandableView extends FrameLayout { if (top >= getActualHeight()) { top = getActualHeight() - 1; } - mClipRect.set(0, top, getWidth(), getActualHeight()); + mClipRect.set(0, top, getWidth(), getActualHeight() + getExtraBottomPadding()); setClipBounds(mClipRect); } else { setClipBounds(null); @@ -411,6 +411,28 @@ public abstract class ExpandableView extends FrameLayout { } /** + * @return padding used to alter how much of the view is clipped. + */ + public int getExtraBottomPadding() { + return 0; + } + + /** + * @return true if the group's expansion state is changing, false otherwise. + */ + public boolean isGroupExpansionChanging() { + return false; + } + + public boolean isGroupExpanded() { + return false; + } + + public boolean isChildInGroup() { + return false; + } + + /** * A listener notifying when {@link #getActualHeight} changes. */ public interface OnHeightChangedListener { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java index 5a8d4b357719..f3c666f90e40 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java @@ -71,7 +71,6 @@ public class NotificationContentView extends FrameLayout { private HybridGroupManager mHybridGroupManager; private int mClipTopAmount; private int mContentHeight; - private int mUnrestrictedContentHeight; private int mVisibleType = VISIBLE_TYPE_CONTRACTED; private boolean mDark; private boolean mAnimate; @@ -264,6 +263,7 @@ public class NotificationContentView extends FrameLayout { invalidateOutline(); selectLayout(false /* animate */, mForceSelectNextLayout /* force */); mForceSelectNextLayout = false; + updateExpandButtons(mExpandable); } @Override @@ -371,8 +371,7 @@ public class NotificationContentView extends FrameLayout { } public void setContentHeight(int contentHeight) { - mContentHeight = Math.max(Math.min(contentHeight, getHeight()), getMinHeight());; - mUnrestrictedContentHeight = Math.max(contentHeight, getMinHeight()); + mContentHeight = Math.max(Math.min(contentHeight, getHeight()), getMinHeight()); selectLayout(mAnimate /* animate */, false /* force */); int minHeightHint = getMinContentHeightHint(); @@ -591,7 +590,21 @@ public class NotificationContentView extends FrameLayout { mContainingNotification.setContentBackground(customBackgroundColor, animate, this); } - private int getBackgroundColor(int visibleType) { + public int getVisibleType() { + return mVisibleType; + } + + public int getBackgroundColorForExpansionState() { + // When expanding or user locked we want the new type, when collapsing we want + // the original type + final int visibleType = (mContainingNotification.isGroupExpanded() + || mContainingNotification.isUserLocked()) + ? calculateVisibleType() + : getVisibleType(); + return getBackgroundColor(visibleType); + } + + public int getBackgroundColor(int visibleType) { NotificationViewWrapper currentVisibleWrapper = getVisibleWrapper(visibleType); int customBackgroundColor = 0; if (currentVisibleWrapper != null) { @@ -699,7 +712,7 @@ public class NotificationContentView extends FrameLayout { /** * @return one of the static enum types in this view, calculated form the current state */ - private int calculateVisibleType() { + public int calculateVisibleType() { if (mUserExpanding) { int height = !mIsChildInGroup || isGroupExpanded() || mContainingNotification.isExpanded(true /* allowOnKeyguard */) @@ -1041,4 +1054,13 @@ public class NotificationContentView extends FrameLayout { public HybridNotificationView getSingleLineView() { return mSingleLineView; } + + public void setRemoved() { + if (mExpandedRemoteInput != null) { + mExpandedRemoteInput.setRemoved(); + } + if (mHeadsUpRemoteInput != null) { + mHeadsUpRemoteInput.setRemoved(); + } + } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationHeaderUtil.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationHeaderUtil.java index 7575dc8157b6..7f95d48f36d4 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationHeaderUtil.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationHeaderUtil.java @@ -90,7 +90,7 @@ public class NotificationHeaderUtil { private final ArrayList<HeaderProcessor> mComparators = new ArrayList<>(); private final HashSet<Integer> mDividers = new HashSet<>(); - NotificationHeaderUtil(ExpandableNotificationRow row) { + public NotificationHeaderUtil(ExpandableNotificationRow row) { mRow = row; // To hide the icons if they are the same and the color is the same mComparators.add(new HeaderProcessor(mRow, diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarInflaterView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarInflaterView.java index 4ec36f608111..2bee816b0539 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarInflaterView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarInflaterView.java @@ -24,7 +24,6 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.FrameLayout; -import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.Space; import com.android.systemui.R; @@ -90,6 +89,7 @@ public class NavigationBarInflaterView extends FrameLayout implements TunerServi if (mDensity != newConfig.densityDpi) { mDensity = newConfig.densityDpi; createInflaters(); + inflateChildren(); clearViews(); inflateLayout(mCurrentLayout); } @@ -98,12 +98,25 @@ public class NavigationBarInflaterView extends FrameLayout implements TunerServi @Override protected void onFinishInflate() { super.onFinishInflate(); - mRot0 = (FrameLayout) findViewById(R.id.rot0); - mRot90 = (FrameLayout) findViewById(R.id.rot90); + inflateChildren(); clearViews(); inflateLayout(getDefaultLayout()); } + private void inflateChildren() { + removeAllViews(); + mRot0 = (FrameLayout) mLayoutInflater.inflate(R.layout.navigation_layout, this, false); + mRot0.setId(R.id.rot0); + addView(mRot0); + mRot90 = (FrameLayout) mLayoutInflater.inflate(R.layout.navigation_layout_rot90, this, + false); + mRot90.setId(R.id.rot90); + addView(mRot90); + if (getParent() instanceof NavigationBarView) { + ((NavigationBarView) getParent()).updateRotatedViews(); + } + } + protected String getDefaultLayout() { return mContext.getString(R.string.config_navBarLayout); } @@ -123,9 +136,6 @@ public class NavigationBarInflaterView extends FrameLayout implements TunerServi @Override public void onTuningChanged(String key, String newValue) { if (NAV_BAR_VIEWS.equals(key)) { - if (newValue == null) { - newValue = getDefaultLayout(); - } if (!Objects.equals(mCurrentLayout, newValue)) { clearViews(); inflateLayout(newValue); @@ -162,6 +172,9 @@ public class NavigationBarInflaterView extends FrameLayout implements TunerServi protected void inflateLayout(String newLayout) { mCurrentLayout = newLayout; + if (newLayout == null) { + newLayout = getDefaultLayout(); + } String[] sets = newLayout.split(GRAVITY_SEPARATOR, 3); String[] start = sets[0].split(BUTTON_SEPARATOR); String[] center = sets[1].split(BUTTON_SEPARATOR); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java index 4b7d56b27169..5fab79692135 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java @@ -492,17 +492,7 @@ public class NavigationBarView extends LinearLayout { @Override public void onFinishInflate() { - mRotatedViews[Surface.ROTATION_0] = - mRotatedViews[Surface.ROTATION_180] = findViewById(R.id.rot0); - - mRotatedViews[Surface.ROTATION_90] = findViewById(R.id.rot90); - - mRotatedViews[Surface.ROTATION_270] = mRotatedViews[Surface.ROTATION_90]; - - mCurrentView = mRotatedViews[Surface.ROTATION_0]; - for (int i = 0; i < mButtonDisatchers.size(); i++) { - mButtonDisatchers.valueAt(i).setCurrentView(mCurrentView); - } + updateRotatedViews(); ((NavigationBarInflaterView) findViewById(R.id.navigation_inflater)).setButtonDispatchers( mButtonDisatchers); @@ -544,15 +534,16 @@ public class NavigationBarView extends LinearLayout { } } - private void updateRecentsIcon() { - getRecentsButton().setImageDrawable(mDockedStackExists ? mDockedIcon : mRecentIcon); - } + void updateRotatedViews() { + mRotatedViews[Surface.ROTATION_0] = + mRotatedViews[Surface.ROTATION_180] = findViewById(R.id.rot0); + mRotatedViews[Surface.ROTATION_270] = + mRotatedViews[Surface.ROTATION_90] = findViewById(R.id.rot90); - public boolean isVertical() { - return mVertical; + updateCurrentView(); } - public void reorient() { + private void updateCurrentView() { final int rot = mDisplay.getRotation(); for (int i=0; i<4; i++) { mRotatedViews[i].setVisibility(View.GONE); @@ -563,6 +554,18 @@ public class NavigationBarView extends LinearLayout { mButtonDisatchers.valueAt(i).setCurrentView(mCurrentView); } updateLayoutTransitionsEnabled(); + } + + private void updateRecentsIcon() { + getRecentsButton().setImageDrawable(mDockedStackExists ? mDockedIcon : mRecentIcon); + } + + public boolean isVertical() { + return mVertical; + } + + public void reorient() { + updateCurrentView(); getImeSwitchButton().setOnClickListener(mImeSwitcherClickListener); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java index 182075f15186..0df12044c46e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java @@ -215,17 +215,23 @@ public class NotificationGroupManager implements HeadsUpManager.OnHeadsUpChanged public boolean isOnlyChildInSuppressedGroup(StatusBarNotification sbn) { return isGroupSuppressed(sbn.getGroupKey()) - && isOnlyChildInGroup(sbn); + && isOnlyChild(sbn); } - public boolean isOnlyChildInGroup(StatusBarNotification sbn) { + private boolean isOnlyChild(StatusBarNotification sbn) { return !sbn.getNotification().isGroupSummary() && getTotalNumberOfChildren(sbn) == 1; } + public boolean isOnlyChildInGroup(StatusBarNotification sbn) { + return isOnlyChild(sbn) && getLogicalGroupSummary(sbn) != null; + } + private int getTotalNumberOfChildren(StatusBarNotification sbn) { - return getNumberOfIsolatedChildren(sbn.getGroupKey()) - + mGroupMap.get(sbn.getGroupKey()).children.size(); + int isolatedChildren = getNumberOfIsolatedChildren(sbn.getGroupKey()); + NotificationGroup group = mGroupMap.get(sbn.getGroupKey()); + int realChildren = group != null ? group.children.size() : 0; + return isolatedChildren + realChildren; } private boolean isGroupSuppressed(String groupKey) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java index 9dbec6da2bc2..522f2502e256 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java @@ -39,6 +39,7 @@ import android.view.WindowInsets; import android.view.accessibility.AccessibilityEvent; import android.widget.FrameLayout; import android.widget.TextView; + import com.android.internal.logging.MetricsLogger; import com.android.keyguard.KeyguardStatusView; import com.android.systemui.AutoReinflateContainer; @@ -219,18 +220,8 @@ public class NotificationPanelView extends PanelView implements super.onFinishInflate(); mKeyguardStatusBar = (KeyguardStatusBarView) findViewById(R.id.keyguard_header); mKeyguardStatusView = (KeyguardStatusView) findViewById(R.id.keyguard_status_view); - mQsAutoReinflateContainer = - (AutoReinflateContainer) findViewById(R.id.qs_auto_reinflate_container); - mQsAutoReinflateContainer.addInflateListener(new InflateListener() { - @Override - public void onInflated(View v) { - mQsContainer = (QSContainer) v.findViewById(R.id.quick_settings_container); - mQsContainer.setPanelView(NotificationPanelView.this); - mQsContainer.getHeader().findViewById(R.id.expand_indicator) - .setOnClickListener(NotificationPanelView.this); - } - }); mClockView = (TextView) findViewById(R.id.clock_view); + mNotificationContainerParent = (NotificationsQuickSettingsContainer) findViewById(R.id.notification_container_parent); mNotificationStackScroller = (NotificationStackScrollLayout) @@ -238,22 +229,34 @@ public class NotificationPanelView extends PanelView implements mNotificationStackScroller.setOnHeightChangedListener(this); mNotificationStackScroller.setOverscrollTopChangedListener(this); mNotificationStackScroller.setOnEmptySpaceClickListener(this); - mNotificationStackScroller.setQsContainer(mQsContainer); mKeyguardBottomArea = (KeyguardBottomAreaView) findViewById(R.id.keyguard_bottom_area); mQsNavbarScrim = findViewById(R.id.qs_navbar_scrim); mAfforanceHelper = new KeyguardAffordanceHelper(this, getContext()); mLastOrientation = getResources().getConfiguration().orientation; - // recompute internal state when qspanel height changes - mQsContainer.addOnLayoutChangeListener(new OnLayoutChangeListener() { + mQsAutoReinflateContainer = + (AutoReinflateContainer) findViewById(R.id.qs_auto_reinflate_container); + mQsAutoReinflateContainer.addInflateListener(new InflateListener() { @Override - public void onLayoutChange(View v, int left, int top, int right, int bottom, - int oldLeft, int oldTop, int oldRight, int oldBottom) { - final int height = bottom - top; - final int oldHeight = oldBottom - oldTop; - if (height != oldHeight) { - onQsHeightChanged(); - } + public void onInflated(View v) { + mQsContainer = (QSContainer) v.findViewById(R.id.quick_settings_container); + mQsContainer.setPanelView(NotificationPanelView.this); + mQsContainer.getHeader().findViewById(R.id.expand_indicator) + .setOnClickListener(NotificationPanelView.this); + + // recompute internal state when qspanel height changes + mQsContainer.addOnLayoutChangeListener(new OnLayoutChangeListener() { + @Override + public void onLayoutChange(View v, int left, int top, int right, int bottom, + int oldLeft, int oldTop, int oldRight, int oldBottom) { + final int height = bottom - top; + final int oldHeight = oldBottom - oldTop; + if (height != oldHeight) { + onQsHeightChanged(); + } + } + }); + mNotificationStackScroller.setQsContainer(mQsContainer); } }); } @@ -2291,6 +2294,12 @@ public class NotificationPanelView extends PanelView implements setLaunchingAffordance(false); } + @Override + public void setAlpha(float alpha) { + super.setAlpha(alpha); + mNotificationStackScroller.setParentFadingOut(alpha != 1.0f); + } + /** * Set whether we are currently launching an affordance. This is currently only set when * launched via a camera gesture. diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java index e3ce1e27f3e6..31fa3bf92ade 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -263,6 +263,14 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, * This affects the status bar UI. */ private static final boolean FREEFORM_WINDOW_MANAGEMENT; + /** + * How long to wait before auto-dismissing a notification that was kept for remote input, and + * has now sent a remote input. We auto-dismiss, because the app may not see a reason to cancel + * these given that they technically don't exist anymore. We wait a bit in case the app issues + * an update. + */ + private static final int REMOTE_INPUT_KEPT_ENTRY_AUTO_CANCEL_DELAY = 200; + static { boolean onlyCoreApps; boolean freeformWindowManagement; @@ -1181,16 +1189,24 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, mIconPolicy.setStatusBarKeyguardViewManager(mStatusBarKeyguardViewManager); mRemoteInputController.addCallback(mStatusBarKeyguardViewManager); - if (FORCE_REMOTE_INPUT_HISTORY) { - mRemoteInputController.addCallback(new RemoteInputController.Callback() { - @Override - public void onRemoteInputSent(Entry entry) { - if (mKeysKeptForRemoteInput.contains(entry.key)) { - removeNotification(entry.key, null); - } + mRemoteInputController.addCallback(new RemoteInputController.Callback() { + @Override + public void onRemoteInputSent(Entry entry) { + if (FORCE_REMOTE_INPUT_HISTORY && mKeysKeptForRemoteInput.contains(entry.key)) { + removeNotification(entry.key, null); + } else if (mRemoteInputEntriesToRemoveOnCollapse.contains(entry)) { + // We're currently holding onto this notification, but from the apps point of + // view it is already canceled, so we'll need to cancel it on the apps behalf + // after sending - unless the app posts an update in the mean time, so wait a + // bit. + mHandler.postDelayed(() -> { + if (mRemoteInputEntriesToRemoveOnCollapse.remove(entry)) { + removeNotification(entry.key, null); + } + }, REMOTE_INPUT_KEPT_ENTRY_AUTO_CANCEL_DELAY); } - }); - } + } + }); mKeyguardViewMediatorCallback = keyguardViewMediator.getViewMediatorCallback(); mLightStatusBarController.setFingerprintUnlockController(mFingerprintUnlockController); @@ -1507,8 +1523,15 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, return; } Entry entry = mNotificationData.get(key); + + if (entry != null && mRemoteInputController.isRemoteInputActive(entry)) { + mLatestRankingMap = ranking; + mRemoteInputEntriesToRemoveOnCollapse.add(entry); + return; + } + if (entry != null && entry.row != null) { - entry.row.setRemoved(true); + entry.row.setRemoved(); } // Let's remove the children if this was a summary handleGroupSummaryRemoved(key, ranking); @@ -1556,7 +1579,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, toRemove.get(i).setKeepInParent(true); // we need to set this state earlier as otherwise we might generate some weird // animations - toRemove.get(i).setRemoved(true); + toRemove.get(i).setRemoved(); } for (int i = 0; i < toRemove.size(); i++) { removeNotification(toRemove.get(i).getStatusBarNotification().getKey(), ranking); @@ -1568,6 +1591,15 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, } @Override + protected void performRemoveNotification(StatusBarNotification n, boolean removeView) { + Entry entry = mNotificationData.get(n.getKey()); + if (mRemoteInputController.isRemoteInputActive(entry)) { + mRemoteInputController.removeRemoteInput(entry); + } + super.performRemoveNotification(n, removeView); + } + + @Override protected void refreshLayout(int layoutDirection) { if (mNavigationBarView != null) { mNavigationBarView.setLayoutDirection(layoutDirection); @@ -2464,6 +2496,26 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, public void setPanelExpanded(boolean isExpanded) { mStatusBarWindowManager.setPanelExpanded(isExpanded); + + if (isExpanded && getBarState() != StatusBarState.KEYGUARD) { + if (DEBUG) { + Log.v(TAG, "clearing notification effects from setPanelExpanded"); + } + clearNotificationEffects(); + } + + if (!isExpanded) { + removeRemoteInputEntriesKeptUntilCollapsed(); + } + } + + private void removeRemoteInputEntriesKeptUntilCollapsed() { + for (int i = 0; i < mRemoteInputEntriesToRemoveOnCollapse.size(); i++) { + Entry entry = mRemoteInputEntriesToRemoveOnCollapse.valueAt(i); + mRemoteInputController.removeRemoteInput(entry); + removeNotification(entry.key, mLatestRankingMap); + } + mRemoteInputEntriesToRemoveOnCollapse.clear(); } public void onScreenTurnedOff() { @@ -3865,6 +3917,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, mScrimController.forceHideScrims(true /* hide */); updateMediaMetaData(false, true); mNotificationPanel.setAlpha(1); + mStackScroller.setParentFadingOut(true); mNotificationPanel.animate() .alpha(0) .setStartDelay(FADE_KEYGUARD_START_DELAY) @@ -4206,6 +4259,9 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, || (state == StatusBarState.SHADE && isGoingToNotificationShade()))) { clearNotificationEffects(); } + if (state == StatusBarState.KEYGUARD) { + removeRemoteInputEntriesKeptUntilCollapsed(); + } mState = state; mGroupManager.setStatusBarState(state); mFalsingManager.setStatusBarState(state); @@ -4334,6 +4390,9 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, if (expandView instanceof ExpandableNotificationRow) { row = (ExpandableNotificationRow) expandView; row.setUserExpanded(true /* userExpanded */, true /* allowChildExpansion */); + // Indicate that the group expansion is changing at this time -- this way the group + // and children backgrounds / divider animations will look correct. + row.setGroupExpansionChanging(true); } boolean fullShadeNeedsBouncer = !userAllowsPrivateNotificationsInPublic(mCurrentUserId) || !mShowLockscreenNotifications || mFalsingManager.shouldEnforceBouncer(); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QSTileHost.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QSTileHost.java index 493b23f7a258..29b4db174375 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QSTileHost.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QSTileHost.java @@ -211,7 +211,7 @@ public class QSTileHost implements QSTile.Host, Tunable { public void animateToggleQSExpansion() { // TODO: Better path to animated panel expansion. - mHeader.performClick(); + mHeader.callOnClick(); } @Override diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java index eae0b8e47614..9c4480e60efa 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java @@ -322,6 +322,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, if (scrim instanceof ScrimView) { float alpha2 = getDozeAlpha(scrim); float alpha = 1 - (1 - alpha1) * (1 - alpha2); + alpha = Math.max(0, Math.min(1.0f, alpha)); ((ScrimView) scrim).setScrimColor(Color.argb((int) (alpha * 255), 0, 0, 0)); } else { scrim.setAlpha(alpha1); @@ -468,6 +469,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, PropertyValuesHolder[] values = previousAnimator.getValues(); float relativeDiff = alpha - previousEndValue; float newStartValue = previousStartValue + relativeDiff; + newStartValue = Math.max(0, Math.min(1.0f, newStartValue)); values[0].setFloatValues(newStartValue, alpha); scrim.setTag(TAG_START_ALPHA, newStartValue); scrim.setTag(TAG_END_ALPHA, alpha); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BrightnessMirrorController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BrightnessMirrorController.java index ddded49d2e36..21d03fd8443a 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BrightnessMirrorController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BrightnessMirrorController.java @@ -53,7 +53,7 @@ public class BrightnessMirrorController { public void showMirror() { mBrightnessMirror.setVisibility(View.VISIBLE); - mStackScroller.setFadedOut(true); + mStackScroller.setFadingOut(true); mScrimBehind.animateViewAlpha(0.0f, TRANSITION_DURATION_OUT, Interpolators.ALPHA_OUT); outAnimation(mNotificationPanel.animate()) .withLayer(); @@ -67,7 +67,7 @@ public class BrightnessMirrorController { @Override public void run() { mBrightnessMirror.setVisibility(View.INVISIBLE); - mStackScroller.setFadedOut(false); + mStackScroller.setFadingOut(false); } }); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java index 095265a0f329..2f522f08a614 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java @@ -73,6 +73,7 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene private ScrollContainer mScrollContainer; private View mScrollContainerChild; + private boolean mRemoved; public RemoteInputView(Context context, AttributeSet attrs) { super(context, attrs); @@ -171,7 +172,12 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene public void onDefocus() { mController.removeRemoteInput(mEntry); mEntry.remoteInputText = mEditText.getText(); - setVisibility(INVISIBLE); + + // During removal, we get reattached and lose focus. Not hiding in that + // case to prevent flicker. + if (!mRemoved) { + setVisibility(INVISIBLE); + } MetricsLogger.action(mContext, MetricsProto.MetricsEvent.ACTION_REMOTE_INPUT_CLOSE, mEntry.notification.getPackageName()); } @@ -347,6 +353,10 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene return mPendingIntent; } + public void setRemoved() { + mRemoved = true; + } + /** * An EditText that changes appearance based on whether it's focusable and becomes * un-focusable whenever the user navigates away from it or it becomes invisible. @@ -416,6 +426,15 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene } @Override + public boolean onCheckIsTextEditor() { + // Stop being editable while we're being removed. During removal, we get reattached, + // and editable views get their spellchecking state re-evaluated which is too costly + // during the removal animation. + boolean flyingOut = mRemoteInputView != null && mRemoteInputView.mRemoved; + return !flyingOut && super.onCheckIsTextEditor(); + } + + @Override public InputConnection onCreateInputConnection(EditorInfo outAttrs) { final InputConnection inputConnection = super.onCreateInputConnection(outAttrs); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationChildrenContainer.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationChildrenContainer.java index e919d5c48d3d..cb0b84827f78 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationChildrenContainer.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationChildrenContainer.java @@ -16,21 +16,28 @@ package com.android.systemui.statusbar.stack; +import android.app.Notification; import android.content.Context; import android.content.res.Configuration; +import android.graphics.drawable.ColorDrawable; +import android.service.notification.StatusBarNotification; import android.util.AttributeSet; import android.view.LayoutInflater; +import android.view.NotificationHeaderView; import android.view.View; import android.view.ViewGroup; +import android.widget.RemoteViews; import android.widget.TextView; import com.android.systemui.R; import com.android.systemui.ViewInvertHelper; import com.android.systemui.statusbar.CrossFadeHelper; import com.android.systemui.statusbar.ExpandableNotificationRow; +import com.android.systemui.statusbar.NotificationHeaderUtil; import com.android.systemui.statusbar.notification.HybridGroupManager; import com.android.systemui.statusbar.notification.HybridNotificationView; import com.android.systemui.statusbar.notification.NotificationUtils; +import com.android.systemui.statusbar.notification.NotificationViewWrapper; import com.android.systemui.statusbar.phone.NotificationPanelView; import java.util.ArrayList; @@ -51,7 +58,7 @@ public class NotificationChildrenContainer extends ViewGroup { private int mChildPadding; private int mDividerHeight; private int mMaxNotificationHeight; - private int mNotificationHeaderHeight; + private int mNotificationHeaderMargin; private int mNotificatonTopPadding; private float mCollapsedBottompadding; private ViewInvertHelper mOverflowInvertHelper; @@ -63,6 +70,12 @@ public class NotificationChildrenContainer extends ViewGroup { private boolean mUserLocked; private int mActualHeight; private boolean mNeverAppliedGroupState; + private int mHeaderHeight; + + private NotificationHeaderView mNotificationHeader; + private NotificationViewWrapper mNotificationHeaderWrapper; + private NotificationHeaderUtil mHeaderUtil; + private ViewState mHeaderViewState; public NotificationChildrenContainer(Context context) { this(context, null); @@ -88,9 +101,10 @@ public class NotificationChildrenContainer extends ViewGroup { R.dimen.notification_children_padding); mDividerHeight = Math.max(1, getResources().getDimensionPixelSize( R.dimen.notification_divider_height)); + mHeaderHeight = getResources().getDimensionPixelSize(R.dimen.notification_header_height); mMaxNotificationHeight = getResources().getDimensionPixelSize( R.dimen.notification_max_height); - mNotificationHeaderHeight = getResources().getDimensionPixelSize( + mNotificationHeaderMargin = getResources().getDimensionPixelSize( com.android.internal.R.dimen.notification_content_margin_top); mNotificatonTopPadding = getResources().getDimensionPixelSize( R.dimen.notification_children_container_top_padding); @@ -112,6 +126,10 @@ public class NotificationChildrenContainer extends ViewGroup { mOverflowNumber.layout(getWidth() - mOverflowNumber.getMeasuredWidth(), 0, getWidth(), mOverflowNumber.getMeasuredHeight()); } + if (mNotificationHeader != null) { + mNotificationHeader.layout(0, 0, mNotificationHeader.getMeasuredWidth(), + mNotificationHeader.getMeasuredHeight()); + } } @Override @@ -131,7 +149,7 @@ public class NotificationChildrenContainer extends ViewGroup { newHeightSpec); } int dividerHeightSpec = MeasureSpec.makeMeasureSpec(mDividerHeight, MeasureSpec.EXACTLY); - int height = mNotificationHeaderHeight + mNotificatonTopPadding; + int height = mNotificationHeaderMargin + mNotificatonTopPadding; int childCount = Math.min(mChildren.size(), NUMBER_OF_CHILDREN_WHEN_CHILDREN_EXPANDED); int collapsedChildren = getMaxAllowedVisibleChildren(true /* likeCollapsed */); int overflowIndex = childCount > collapsedChildren ? collapsedChildren - 1 : -1; @@ -155,6 +173,12 @@ public class NotificationChildrenContainer extends ViewGroup { if (heightMode != MeasureSpec.UNSPECIFIED) { height = Math.min(height, size); } + + if (mNotificationHeader != null) { + int headerHeightSpec = MeasureSpec.makeMeasureSpec(mHeaderHeight, MeasureSpec.EXACTLY); + mNotificationHeader.measure(widthMeasureSpec, headerHeightSpec); + } + setMeasuredDimension(width, height); } @@ -201,6 +225,41 @@ public class NotificationChildrenContainer extends ViewGroup { row.setSystemChildExpanded(false); row.setUserLocked(false); updateGroupOverflow(); + if (!row.isRemoved()) { + mHeaderUtil.restoreNotificationHeader(row); + } + } + + /** + * @return The number of notification children in the container. + */ + public int getNotificationChildCount() { + return mChildren.size(); + } + + public void recreateNotificationHeader(OnClickListener listener, StatusBarNotification notification) { + final Notification.Builder builder = Notification.Builder.recoverBuilder(getContext(), + mNotificationParent.getStatusBarNotification().getNotification()); + final RemoteViews header = builder.makeNotificationHeader(); + if (mNotificationHeader == null) { + mNotificationHeader = (NotificationHeaderView) header.apply(getContext(), this); + final View expandButton = mNotificationHeader.findViewById( + com.android.internal.R.id.expand_button); + expandButton.setVisibility(VISIBLE); + mNotificationHeader.setOnClickListener(listener); + mNotificationHeaderWrapper = NotificationViewWrapper.wrap(getContext(), + mNotificationHeader, mNotificationParent); + addView(mNotificationHeader, 0); + invalidate(); + } else { + header.reapply(getContext(), mNotificationHeader); + mNotificationHeaderWrapper.notifyContentUpdated(notification); + } + updateChildrenHeaderAppearance(); + } + + public void updateChildrenHeaderAppearance() { + mHeaderUtil.updateChildrenHeaderAppearance(); } public void updateGroupOverflow() { @@ -210,7 +269,7 @@ public class NotificationChildrenContainer extends ViewGroup { mOverflowNumber = mHybridGroupManager.bindOverflowNumber( mOverflowNumber, childCount - maxAllowedVisibleChildren); if (mOverflowInvertHelper == null) { - mOverflowInvertHelper= new ViewInvertHelper(mOverflowNumber, + mOverflowInvertHelper = new ViewInvertHelper(mOverflowNumber, NotificationPanelView.DOZE_ANIMATION_DURATION); } if (mGroupOverFlowState == null) { @@ -300,7 +359,7 @@ public class NotificationChildrenContainer extends ViewGroup { * in @param maxAllowedVisibleChildren */ private int getIntrinsicHeight(float maxAllowedVisibleChildren) { - int intrinsicHeight = mNotificationHeaderHeight; + int intrinsicHeight = mNotificationHeaderMargin; int visibleChildren = 0; int childCount = mChildren.size(); boolean firstChild = true; @@ -353,7 +412,7 @@ public class NotificationChildrenContainer extends ViewGroup { */ public void getState(StackScrollState resultState, StackViewState parentState) { int childCount = mChildren.size(); - int yPosition = mNotificationHeaderHeight; + int yPosition = mNotificationHeaderMargin; boolean firstChild = true; int maxAllowedVisibleChildren = getMaxAllowedVisibleChildren(); int lastVisibleIndex = maxAllowedVisibleChildren - 1; @@ -363,12 +422,16 @@ public class NotificationChildrenContainer extends ViewGroup { expandFactor = getGroupExpandFraction(); firstOverflowIndex = getMaxAllowedVisibleChildren(true /* likeCollapsed */); } + + boolean childrenExpanded = !mNotificationParent.isGroupExpansionChanging() + && mChildrenExpanded; + int parentHeight = parentState.height; for (int i = 0; i < childCount; i++) { ExpandableNotificationRow child = mChildren.get(i); if (!firstChild) { if (mUserLocked) { - yPosition += NotificationUtils.interpolate(mChildPadding, mDividerHeight, - expandFactor); + yPosition += NotificationUtils.interpolate(mChildPadding, mDividerHeight, + expandFactor); } else { yPosition += mChildrenExpanded ? mDividerHeight : mChildPadding; } @@ -383,11 +446,28 @@ public class NotificationChildrenContainer extends ViewGroup { } firstChild = false; } + StackViewState childState = resultState.getViewStateForView(child); int intrinsicHeight = child.getIntrinsicHeight(); + if (childrenExpanded) { + // When a group is expanded and moving into bottom stack, the bottom visible child + // adjusts its height to move into it. Children after it are hidden. + if (updateChildStateForExpandedGroup(child, parentHeight, childState, yPosition)) { + // Clipping might be deactivated if the view is transforming, however, clipping + // the child into the bottom stack should take precedent over this. + childState.isBottomClipped = true; + } + } else { + childState.hidden = false; + childState.height = intrinsicHeight; + childState.isBottomClipped = false; + } childState.yTranslation = yPosition; - childState.zTranslation = 0; - childState.height = intrinsicHeight; + // When the group is expanded, the children cast the shadows rather than the parent + // so use the parent's elevation here. + childState.zTranslation = childrenExpanded + ? mNotificationParent.getTranslationZ() + : 0; childState.dimmed = parentState.dimmed; childState.dark = parentState.dark; childState.hideSensitive = parentState.hideSensitive; @@ -422,10 +502,44 @@ public class NotificationChildrenContainer extends ViewGroup { mGroupOverFlowState.alpha = mirrorView.getAlpha(); } } else { - mGroupOverFlowState.yTranslation += mNotificationHeaderHeight; + mGroupOverFlowState.yTranslation += mNotificationHeaderMargin; mGroupOverFlowState.alpha = 0.0f; } } + if (mNotificationHeader != null) { + if (mHeaderViewState == null) { + mHeaderViewState = new ViewState(); + } + mHeaderViewState.initFrom(mNotificationHeader); + mHeaderViewState.zTranslation = childrenExpanded + ? mNotificationParent.getTranslationZ() + : 0; + } + } + + /** + * When moving into the bottom stack, the bottom visible child in an expanded group adjusts its + * height, children in the group after this are gone. + * + * @param child the child who's height to adjust. + * @param parentHeight the height of the parent. + * @param childState the state to update. + * @param yPosition the yPosition of the view. + * @return true if children after this one should be hidden. + */ + private boolean updateChildStateForExpandedGroup(ExpandableNotificationRow child, + int parentHeight, StackViewState childState, int yPosition) { + final int top = yPosition + child.getClipTopAmount(); + final int intrinsicHeight = child.getIntrinsicHeight(); + final int bottom = top + intrinsicHeight; + int newHeight = intrinsicHeight; + if (bottom >= parentHeight) { + // Child is either clipped or gone + newHeight = Math.max((parentHeight - top), 0); + } + childState.hidden = newHeight == 0; + childState.height = newHeight; + return childState.height != intrinsicHeight && !childState.hidden; } private int getMaxAllowedVisibleChildren() { @@ -450,6 +564,8 @@ public class NotificationChildrenContainer extends ViewGroup { if (mUserLocked) { expandFraction = getGroupExpandFraction(); } + final boolean dividersVisible = mUserLocked + || mNotificationParent.isGroupExpansionChanging(); for (int i = 0; i < childCount; i++) { ExpandableNotificationRow child = mChildren.get(i); StackViewState viewState = state.getViewStateForView(child); @@ -464,6 +580,7 @@ public class NotificationChildrenContainer extends ViewGroup { alpha = NotificationUtils.interpolate(0, 0.5f, Math.min(viewState.alpha, expandFraction)); } + tmpState.hidden = !dividersVisible; tmpState.alpha = alpha; state.applyViewState(divider, tmpState); // There is no fake shadow to be drawn on the children @@ -473,6 +590,9 @@ public class NotificationChildrenContainer extends ViewGroup { state.applyViewState(mOverflowNumber, mGroupOverFlowState); mNeverAppliedGroupState = false; } + if (mNotificationHeader != null) { + state.applyViewState(mNotificationHeader, mHeaderViewState); + } } /** @@ -491,6 +611,8 @@ public class NotificationChildrenContainer extends ViewGroup { int childCount = mChildren.size(); ViewState tmpState = new ViewState(); float expandFraction = getGroupExpandFraction(); + final boolean dividersVisible = mUserLocked + || mNotificationParent.isGroupExpansionChanging(); for (int i = childCount - 1; i >= 0; i--) { ExpandableNotificationRow child = mChildren.get(i); StackViewState viewState = state.getViewStateForView(child); @@ -505,6 +627,7 @@ public class NotificationChildrenContainer extends ViewGroup { alpha = NotificationUtils.interpolate(0, 0.5f, Math.min(viewState.alpha, expandFraction)); } + tmpState.hidden = !dividersVisible; tmpState.alpha = alpha; stateAnimator.startViewAnimations(divider, tmpState, baseDelay, duration); // There is no fake shadow to be drawn on the children @@ -521,6 +644,9 @@ public class NotificationChildrenContainer extends ViewGroup { stateAnimator.startViewAnimations(mOverflowNumber, mGroupOverFlowState, baseDelay, duration); } + if (mNotificationHeader != null) { + state.applyViewState(mNotificationHeader, mHeaderViewState); + } } public ExpandableNotificationRow getViewAtPosition(float y) { @@ -541,14 +667,45 @@ public class NotificationChildrenContainer extends ViewGroup { public void setChildrenExpanded(boolean childrenExpanded) { mChildrenExpanded = childrenExpanded; updateExpansionStates(); + if (mNotificationHeader != null) { + mNotificationHeader.setExpanded(childrenExpanded); + } } public void setNotificationParent(ExpandableNotificationRow parent) { mNotificationParent = parent; + mHeaderUtil = new NotificationHeaderUtil(mNotificationParent); + } + + public NotificationHeaderView getHeaderView() { + return mNotificationHeader; + } + + public void updateHeaderVisibility(int visiblity) { + if (mNotificationHeader != null) { + mNotificationHeader.setVisibility(visiblity); + } + } + + /** + * Called when a groups expansion changes to adjust the background of the header view. + * + * @param expanded whether the group is expanded. + */ + public void updateHeaderForExpansion(boolean expanded) { + if (mNotificationHeader != null) { + if (expanded) { + ColorDrawable cd = new ColorDrawable(); + cd.setColor(mNotificationParent.calculateBgColor()); + mNotificationHeader.setHeaderBackgroundDrawable(cd); + } else { + mNotificationHeader.setHeaderBackgroundDrawable(null); + } + } } public int getMaxContentHeight() { - int maxContentHeight = mNotificationHeaderHeight + mNotificatonTopPadding; + int maxContentHeight = mNotificationHeaderMargin + mNotificatonTopPadding; int visibleChildren = 0; int childCount = mChildren.size(); for (int i = 0; i < childCount; i++) { @@ -601,7 +758,7 @@ public class NotificationChildrenContainer extends ViewGroup { } private int getVisibleChildrenExpandHeight() { - int intrinsicHeight = mNotificationHeaderHeight + mNotificatonTopPadding + mDividerHeight; + int intrinsicHeight = mNotificationHeaderMargin + mNotificatonTopPadding + mDividerHeight; int visibleChildren = 0; int childCount = mChildren.size(); int maxAllowedVisibleChildren = getMaxAllowedVisibleChildren(true /* forceCollapsed */); @@ -628,7 +785,7 @@ public class NotificationChildrenContainer extends ViewGroup { } private int getMinHeight(int maxAllowedVisibleChildren) { - int minExpandHeight = mNotificationHeaderHeight; + int minExpandHeight = mNotificationHeaderMargin; int visibleChildren = 0; boolean firstChild = true; int childCount = mChildren.size(); @@ -653,9 +810,13 @@ public class NotificationChildrenContainer extends ViewGroup { if (mOverflowNumber != null) { mOverflowInvertHelper.setInverted(dark, fade, delay); } + mNotificationHeaderWrapper.setDark(dark, fade, delay); } - public void reInflateViews() { + public void reInflateViews(OnClickListener listener, StatusBarNotification notification) { + removeView(mNotificationHeader); + mNotificationHeader = null; + recreateNotificationHeader(listener, notification); initDimens(); for (int i = 0; i < mDividers.size(); i++) { View prevDivider = mDividers.get(i); @@ -685,4 +846,12 @@ public class NotificationChildrenContainer extends ViewGroup { mHybridGroupManager.setOverflowNumberColor(mOverflowNumber, mNotificationParent.getNotificationColor()); } + + public void setRemoved() { + int childCount = mChildren.size(); + for (int i = 0; i < childCount; i++) { + ExpandableNotificationRow child = mChildren.get(i); + child.setRemoved(); + } + } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java index 70d4aec0f8df..19f407492e1f 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java @@ -34,6 +34,7 @@ import android.graphics.PointF; import android.graphics.PorterDuff; import android.graphics.PorterDuffXfermode; import android.graphics.Rect; +import android.os.Bundle; import android.os.Handler; import android.util.AttributeSet; import android.util.FloatProperty; @@ -47,6 +48,8 @@ import android.view.ViewConfiguration; import android.view.ViewGroup; import android.view.ViewTreeObserver; import android.view.WindowInsets; +import android.view.accessibility.AccessibilityEvent; +import android.view.accessibility.AccessibilityNodeInfo; import android.view.animation.AnimationUtils; import android.view.animation.Interpolator; import android.widget.OverScroller; @@ -333,8 +336,10 @@ public class NotificationStackScrollLayout extends ViewGroup private PorterDuffXfermode mSrcMode = new PorterDuffXfermode(PorterDuff.Mode.SRC); private boolean mPulsing; private boolean mDrawBackgroundAsSrc; - private boolean mFadedOut; + private boolean mFadingOut; + private boolean mParentFadingOut; private boolean mGroupExpandedForMeasure; + private boolean mScrollable; private View mForcedScroll; private float mBackgroundFadeAmount = 1.0f; private static final Property<NotificationStackScrollLayout, Float> BACKGROUND_FADE = @@ -442,7 +447,6 @@ public class NotificationStackScrollLayout extends ViewGroup private void initView(Context context) { mScroller = new OverScroller(getContext()); - setFocusable(true); setDescendantFocusability(FOCUS_AFTER_DESCENDANTS); setClipChildren(false); final ViewConfiguration configuration = ViewConfiguration.get(context); @@ -470,7 +474,8 @@ public class NotificationStackScrollLayout extends ViewGroup } private void updateSrcDrawing() { - mBackgroundPaint.setXfermode(mDrawBackgroundAsSrc && !mFadedOut ? mSrcMode : null); + mBackgroundPaint.setXfermode(mDrawBackgroundAsSrc && (!mFadingOut && !mParentFadingOut) + ? mSrcMode : null); invalidate(); } @@ -728,6 +733,7 @@ public class NotificationStackScrollLayout extends ViewGroup mQsContainer = qsContainer; } + @Override public void onChildDismissed(View v) { ExpandableNotificationRow row = (ExpandableNotificationRow) v; if (!row.isDismissed()) { @@ -815,6 +821,7 @@ public class NotificationStackScrollLayout extends ViewGroup return true; // Don't fade out the notification } + @Override public void onBeginDrag(View v) { mFalsingManager.onNotificatonStartDismissing(); setSwipingInProgress(true); @@ -843,6 +850,7 @@ public class NotificationStackScrollLayout extends ViewGroup return false; } + @Override public void onDragCancelled(View v) { mFalsingManager.onNotificatonStopDismissing(); setSwipingInProgress(false); @@ -901,11 +909,13 @@ public class NotificationStackScrollLayout extends ViewGroup return closestChild; } + @Override public ExpandableView getChildAtRawPosition(float touchX, float touchY) { getLocationOnScreen(mTempInt2); return getChildAtPosition(touchX - mTempInt2[0], touchY - mTempInt2[1]); } + @Override public ExpandableView getChildAtPosition(float touchX, float touchY) { // find the view under the pointer, accounting for GONE views final int count = getChildCount(); @@ -942,12 +952,14 @@ public class NotificationStackScrollLayout extends ViewGroup return null; } + @Override public boolean canChildBeExpanded(View v) { return v instanceof ExpandableNotificationRow && ((ExpandableNotificationRow) v).isExpandable() && (mIsExpanded || !((ExpandableNotificationRow) v).isPinned()); } + @Override public void setUserExpandedChild(View v, boolean userExpanded) { if (v instanceof ExpandableNotificationRow) { ((ExpandableNotificationRow) v).setUserExpanded(userExpanded, @@ -955,6 +967,14 @@ public class NotificationStackScrollLayout extends ViewGroup } } + @Override + public void setExpansionCancelled(View v) { + if (v instanceof ExpandableNotificationRow) { + ((ExpandableNotificationRow) v).setGroupExpansionChanging(false); + } + } + + @Override public void setUserLockedChild(View v, boolean userLocked) { if (v instanceof ExpandableNotificationRow) { ((ExpandableNotificationRow) v).setUserLocked(userLocked); @@ -1065,6 +1085,7 @@ public class NotificationStackScrollLayout extends ViewGroup return mScrollingEnabled; } + @Override public boolean canChildBeDismissed(View v) { return StackScrollAlgorithm.canChildBeDismissed(v); } @@ -1726,6 +1747,15 @@ public class NotificationStackScrollLayout extends ViewGroup } } mContentHeight = height + mTopPadding; + updateScrollability(); + } + + private void updateScrollability() { + boolean scrollable = getScrollRange() > 0; + if (scrollable != mScrollable) { + mScrollable = scrollable; + setFocusable(scrollable); + } } private void updateBackground() { @@ -1871,7 +1901,7 @@ public class NotificationStackScrollLayout extends ViewGroup } private void applyCurrentBackgroundBounds() { - if (!mFadedOut) { + if (!mFadingOut) { mScrimController.setExcludedBackgroundArea(mCurrentBounds); } invalidate(); @@ -1913,7 +1943,8 @@ public class NotificationStackScrollLayout extends ViewGroup // we're ending up at the same location as we are now, lets just skip the animation bottom = finalBottom; } else { - bottom = (int) (lastView.getTranslationY() + lastView.getActualHeight()); + bottom = (int) (lastView.getTranslationY() + lastView.getActualHeight() + - lastView.getExtraBottomPadding()); bottom = Math.min(bottom, getHeight()); } } else { @@ -2480,9 +2511,9 @@ public class NotificationStackScrollLayout extends ViewGroup mNeedsAnimation = false; } if (!mAnimationEvents.isEmpty() || isCurrentlyAnimating()) { + setAnimationRunning(true); mStateAnimator.startAnimationForEvents(mAnimationEvents, mCurrentStackScrollState, mGoToFullShadeDelay); - setAnimationRunning(true); mAnimationEvents.clear(); updateBackground(); updateViewShadows(); @@ -2927,16 +2958,6 @@ public class NotificationStackScrollLayout extends ViewGroup if (changed) { if (!mIsExpanded) { mGroupManager.collapseAllGroups(); - } else { - // XXX: HACK: we should not be clearing notification effects from way down here. - // But at the moment we don't have a reliable way to know when the window is - // actually exposed to the air, so - if (mPhoneStatusBar.getBarState() != StatusBarState.KEYGUARD) { - if (DEBUG) { - Log.v(TAG, "clearing notification effects from scroller"); - } - mPhoneStatusBar.clearNotificationEffects(); - } } updateNotificationAnimationStates(); updateChronometers(); @@ -3110,6 +3131,7 @@ public class NotificationStackScrollLayout extends ViewGroup mListener.onChildLocationsChanged(this); } runAnimationFinishedRunnables(); + setAnimationRunning(false); updateBackground(); updateViewShadows(); } @@ -3139,8 +3161,9 @@ public class NotificationStackScrollLayout extends ViewGroup expandableView.setFakeShadowIntensity(0.0f, 0.0f, 0, 0); } else { float yLocation = previous.getTranslationY() + previous.getActualHeight() - - expandableView.getTranslationY(); - expandableView.setFakeShadowIntensity(diff / FakeShadowView.SHADOW_SIBLING_TRESHOLD, + expandableView.getTranslationY() - previous.getExtraBottomPadding(); + expandableView.setFakeShadowIntensity( + diff / FakeShadowView.SHADOW_SIBLING_TRESHOLD, previous.getOutlineAlpha(), (int) yLocation, previous.getOutlineTranslation()); } @@ -3225,6 +3248,7 @@ public class NotificationStackScrollLayout extends ViewGroup maxLength = Math.max(mDarkAnimationOriginIndex, getNotGoneChildCount() - mDarkAnimationOriginIndex - 1); } + maxLength = Math.max(0, maxLength); long delay = maxLength * StackStateAnimator.ANIMATION_DELAY_PER_ELEMENT_DARK; fadeAnimator.setStartDelay(delay); fadeAnimator.setDuration(StackStateAnimator.ANIMATION_DURATION_STANDARD); @@ -3511,6 +3535,12 @@ public class NotificationStackScrollLayout extends ViewGroup if (!mGroupExpandedForMeasure) { onHeightChanged(changedRow, false /* needsAnimation */); } + runAfterAnimationFinished(new Runnable() { + @Override + public void run() { + changedRow.onFinishedExpansionChange(); + } + }); } @Override @@ -3518,6 +3548,68 @@ public class NotificationStackScrollLayout extends ViewGroup mPhoneStatusBar.requestNotificationUpdate(); } + /** @hide */ + @Override + public void onInitializeAccessibilityEventInternal(AccessibilityEvent event) { + super.onInitializeAccessibilityEventInternal(event); + event.setScrollable(mScrollable); + event.setScrollX(mScrollX); + event.setScrollY(mOwnScrollY); + event.setMaxScrollX(mScrollX); + event.setMaxScrollY(getScrollRange()); + } + + @Override + public void onInitializeAccessibilityNodeInfoInternal(AccessibilityNodeInfo info) { + super.onInitializeAccessibilityNodeInfoInternal(info); + final int scrollRange = getScrollRange(); + if (scrollRange > 0) { + info.setScrollable(true); + if (mScrollY > 0) { + info.addAction( + AccessibilityNodeInfo.AccessibilityAction.ACTION_SCROLL_BACKWARD); + info.addAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_SCROLL_UP); + } + if (mScrollY < scrollRange) { + info.addAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_SCROLL_FORWARD); + info.addAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_SCROLL_DOWN); + } + } + } + + /** @hide */ + @Override + public boolean performAccessibilityActionInternal(int action, Bundle arguments) { + if (super.performAccessibilityActionInternal(action, arguments)) { + return true; + } + if (!isEnabled()) { + return false; + } + int direction = -1; + switch (action) { + case AccessibilityNodeInfo.ACTION_SCROLL_FORWARD: + // fall through + case android.R.id.accessibilityActionScrollDown: + direction = 1; + // fall through + case AccessibilityNodeInfo.ACTION_SCROLL_BACKWARD: + // fall through + case android.R.id.accessibilityActionScrollUp: + final int viewportHeight = getHeight() - mPaddingBottom - mTopPadding - mPaddingTop + - mBottomStackPeekSize - mBottomStackSlowDownHeight; + final int targetScrollY = Math.max(0, + Math.min(mOwnScrollY + direction * viewportHeight, getScrollRange())); + if (targetScrollY != mOwnScrollY) { + mScroller.startScroll(mScrollX, mOwnScrollY, 0, targetScrollY - mOwnScrollY); + postInvalidateOnAnimation(); + return true; + } + break; + } + return false; + } + @Override public void onGroupsChanged() { mPhoneStatusBar.requestNotificationUpdate(); @@ -3610,22 +3702,33 @@ public class NotificationStackScrollLayout extends ViewGroup updateNotificationAnimationStates(); } - public void setFadedOut(boolean fadingOut) { - if (fadingOut != mFadedOut) { - mFadedOut = fadingOut; - if (fadingOut) { - mScrimController.setExcludedBackgroundArea(null); - } else { - applyCurrentBackgroundBounds(); - } - updateSrcDrawing(); + public void setFadingOut(boolean fadingOut) { + if (fadingOut != mFadingOut) { + mFadingOut = fadingOut; + updateFadingState(); } } + public void setParentFadingOut(boolean fadingOut) { + if (fadingOut != mParentFadingOut) { + mParentFadingOut = fadingOut; + updateFadingState(); + } + } + + private void updateFadingState() { + if (mFadingOut || mParentFadingOut || mAmbientState.isDark()) { + mScrimController.setExcludedBackgroundArea(null); + } else { + applyCurrentBackgroundBounds(); + } + updateSrcDrawing(); + } + @Override public void setAlpha(@FloatRange(from = 0.0, to = 1.0) float alpha) { super.setAlpha(alpha); - setFadedOut(alpha != 1.0f); + setFadingOut(alpha != 1.0f); } /** diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollState.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollState.java index 1ccc9083f72c..d6c550678174 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollState.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollState.java @@ -173,6 +173,9 @@ public class StackScrollState { } if (view instanceof ExpandableNotificationRow) { ExpandableNotificationRow row = (ExpandableNotificationRow) view; + if (state.isBottomClipped) { + row.setClipToActualHeight(true); + } row.applyChildrenState(this); } return true; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java index 6f451ffa381a..0f94227c6184 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java @@ -223,7 +223,7 @@ public class StackStateAnimator { startViewAnimations(child, viewState, delay, duration); // start height animation - if (heightChanging && child.getActualHeight() != 0) { + if (heightChanging) { startHeightAnimation(child, viewState, duration, delay); } @@ -270,7 +270,8 @@ public class StackStateAnimator { public void startViewAnimations(View child, ViewState viewState, long delay, long duration) { boolean wasVisible = child.getVisibility() == View.VISIBLE; final float alpha = viewState.alpha; - if (!wasVisible && alpha != 0 && !viewState.gone && !viewState.hidden) { + if (!wasVisible && (alpha != 0 || child.getAlpha() != 0) + && !viewState.gone && !viewState.hidden) { child.setVisibility(View.VISIBLE); } boolean yTranslationChanging = child.getTranslationY() != viewState.yTranslation; @@ -477,11 +478,27 @@ public class StackStateAnimator { animator.addListener(getGlobalAnimationFinishedListener()); // remove the tag when the animation is finished animator.addListener(new AnimatorListenerAdapter() { + boolean mWasCancelled; + @Override public void onAnimationEnd(Animator animation) { child.setTag(TAG_ANIMATOR_HEIGHT, null); child.setTag(TAG_START_HEIGHT, null); child.setTag(TAG_END_HEIGHT, null); + if (!mWasCancelled && child instanceof ExpandableNotificationRow) { + ((ExpandableNotificationRow) child).setGroupExpansionChanging( + false /* isExpansionChanging */); + } + } + + @Override + public void onAnimationStart(Animator animation) { + mWasCancelled = false; + } + + @Override + public void onAnimationCancel(Animator animation) { + mWasCancelled = true; } }); startAnimator(animator); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackViewState.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackViewState.java index 1114e0359d6d..ecdee4eaecba 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackViewState.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackViewState.java @@ -57,6 +57,11 @@ public class StackViewState extends ViewState { */ public int location; + /** + * Whether a child in a group is being clipped at the bottom. + */ + public boolean isBottomClipped; + @Override public void copyFrom(ViewState viewState) { super.copyFrom(viewState); @@ -71,6 +76,7 @@ public class StackViewState extends ViewState { clipTopAmount = svs.clipTopAmount; notGoneIndex = svs.notGoneIndex; location = svs.location; + isBottomClipped = svs.isBottomClipped; } } } diff --git a/packages/SystemUI/src/com/android/systemui/tv/pip/PipManager.java b/packages/SystemUI/src/com/android/systemui/tv/pip/PipManager.java index 74f0cd3ac0a2..476598d3afc7 100644 --- a/packages/SystemUI/src/com/android/systemui/tv/pip/PipManager.java +++ b/packages/SystemUI/src/com/android/systemui/tv/pip/PipManager.java @@ -227,6 +227,13 @@ public class PipManager { } /** + * Updates the PIP per configuration changed. + */ + void onConfigurationChanged() { + mPipRecentsOverlayManager.onConfigurationChanged(mContext); + } + + /** * Shows the picture-in-picture menu if an activity is in picture-in-picture mode. */ public void showTvPictureInPictureMenu() { diff --git a/packages/SystemUI/src/com/android/systemui/tv/pip/PipRecentsOverlayManager.java b/packages/SystemUI/src/com/android/systemui/tv/pip/PipRecentsOverlayManager.java index fe5d8bce1741..6e4a5938d7b5 100644 --- a/packages/SystemUI/src/com/android/systemui/tv/pip/PipRecentsOverlayManager.java +++ b/packages/SystemUI/src/com/android/systemui/tv/pip/PipRecentsOverlayManager.java @@ -42,9 +42,9 @@ public class PipRecentsOverlayManager { private final PipManager mPipManager = PipManager.getInstance(); private final WindowManager mWindowManager; - private final View mOverlayView; - private final PipRecentsControlsView mPipControlsView; - private final View mRecentsView; + private View mOverlayView; + private PipRecentsControlsView mPipControlsView; + private View mRecentsView; private final LayoutParams mPipRecentsControlsViewLayoutParams; private final LayoutParams mPipRecentsControlsViewFocusedLayoutParams; @@ -73,6 +73,21 @@ public class PipRecentsOverlayManager { PipRecentsOverlayManager(Context context) { mWindowManager = (WindowManager) context.getSystemService(WindowManager.class); + mPipRecentsControlsViewLayoutParams = new WindowManager.LayoutParams( + LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, + LayoutParams.TYPE_SYSTEM_DIALOG, + LayoutParams.FLAG_NOT_FOCUSABLE | LayoutParams.FLAG_NOT_TOUCHABLE, + PixelFormat.TRANSLUCENT); + mPipRecentsControlsViewFocusedLayoutParams = new WindowManager.LayoutParams( + LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, + LayoutParams.TYPE_SYSTEM_DIALOG, + 0, + PixelFormat.TRANSLUCENT); + + initViews(context); + } + + private void initViews(Context context) { LayoutInflater inflater = (LayoutInflater) context .getSystemService(Context.LAYOUT_INFLATER_SERVICE); mOverlayView = inflater.inflate(R.layout.tv_pip_recents_overlay, null); @@ -86,17 +101,6 @@ public class PipRecentsOverlayManager { } } }); - - mPipRecentsControlsViewLayoutParams = new WindowManager.LayoutParams( - LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, - LayoutParams.TYPE_SYSTEM_DIALOG, - LayoutParams.FLAG_NOT_FOCUSABLE | LayoutParams.FLAG_NOT_TOUCHABLE, - PixelFormat.TRANSLUCENT); - mPipRecentsControlsViewFocusedLayoutParams = new WindowManager.LayoutParams( - LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, - LayoutParams.TYPE_SYSTEM_DIALOG, - 0, - PixelFormat.TRANSLUCENT); } /** @@ -210,4 +214,14 @@ public class PipRecentsOverlayManager { boolean isRecentsShown() { return mIsRecentsShown; } + + /** + * Updates the PIP per configuration changed. + */ + void onConfigurationChanged(Context context) { + if (mIsRecentsShown) { + Log.w(TAG, "Configuration is changed while Recents is shown"); + } + initViews(context); + } } diff --git a/packages/SystemUI/src/com/android/systemui/tv/pip/PipUI.java b/packages/SystemUI/src/com/android/systemui/tv/pip/PipUI.java index 182b9b0deb81..b3e9f43f5542 100644 --- a/packages/SystemUI/src/com/android/systemui/tv/pip/PipUI.java +++ b/packages/SystemUI/src/com/android/systemui/tv/pip/PipUI.java @@ -48,6 +48,6 @@ public class PipUI extends SystemUI { if (!mSupportPip) { return; } - // TODO: handle configuration change. + PipManager.getInstance().onConfigurationChanged(); } } diff --git a/packages/VpnDialogs/res/values-pa-rIN/strings.xml b/packages/VpnDialogs/res/values-pa-rIN/strings.xml index 9e84007835f3..ad169f4a4b5a 100644 --- a/packages/VpnDialogs/res/values-pa-rIN/strings.xml +++ b/packages/VpnDialogs/res/values-pa-rIN/strings.xml @@ -17,7 +17,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="prompt" msgid="3183836924226407828">"ਕਨੈਕਸ਼ਨ ਬੇਨਤੀ"</string> - <string name="warning" msgid="809658604548412033">"<xliff:g id="APP">%s</xliff:g> ਇੱਕ VPN ਕਨੈਕਸ਼ਨ ਸੈਟ ਅਪ ਕਰਨਾ ਚਾਹੁੰਦਾ ਹੈ ਜੋ ਇਸਨੂੰ ਨੈਟਵਰਕ ਟ੍ਰੈਫਿਕ ਦਾ ਨਿਰੀਖਣ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਕੇਵਲ ਤਾਂ ਹੀ ਸਵੀਕਾਰ ਕਰੋ ਜੇਕਰ ਤੁਸੀਂ ਸ੍ਰੋਤ ਤੇ ਭਰੋਸਾ ਕਰਦੇ ਹੋ। <br /> <br /> <img src=vpn_icon /> ਤੁਹਾਡੀ ਸਕ੍ਰੀਨ ਦੇ ਟੌਪ ਤੇ ਪ੍ਰਗਟ ਹੁੰਦਾ ਹੈ ਜਦੋਂ VPN ਸਕਿਰਿਆ ਹੁੰਦਾ ਹੈ।"</string> + <string name="warning" msgid="809658604548412033">"<xliff:g id="APP">%s</xliff:g> ਇੱਕ VPN ਕਨੈਕਸ਼ਨ ਸੈਟ ਅਪ ਕਰਨਾ ਚਾਹੁੰਦਾ ਹੈ ਜੋ ਇਸਨੂੰ ਨੈੱਟਵਰਕ ਟ੍ਰੈਫਿਕ ਦਾ ਨਿਰੀਖਣ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਕੇਵਲ ਤਾਂ ਹੀ ਸਵੀਕਾਰ ਕਰੋ ਜੇਕਰ ਤੁਸੀਂ ਸ੍ਰੋਤ ਤੇ ਭਰੋਸਾ ਕਰਦੇ ਹੋ। <br /> <br /> <img src=vpn_icon /> ਤੁਹਾਡੀ ਸਕ੍ਰੀਨ ਦੇ ਟੌਪ ਤੇ ਪ੍ਰਗਟ ਹੁੰਦਾ ਹੈ ਜਦੋਂ VPN ਸਕਿਰਿਆ ਹੁੰਦਾ ਹੈ।"</string> <string name="legacy_title" msgid="192936250066580964">"VPN ਕਨੈਕਟ ਕੀਤਾ ਗਿਆ ਹੈ"</string> <string name="configure" msgid="4905518375574791375">"ਕੌਂਫਿਗਰ ਕਰੋ"</string> <string name="disconnect" msgid="971412338304200056">"ਡਿਸਕਨੈਕਟ ਕਰੋ"</string> diff --git a/rs/java/android/renderscript/Allocation.java b/rs/java/android/renderscript/Allocation.java index c0ea1324602b..05ad1615dc81 100644 --- a/rs/java/android/renderscript/Allocation.java +++ b/rs/java/android/renderscript/Allocation.java @@ -297,13 +297,50 @@ public class Allocation extends BaseObj { } /** - * Enable/Disable AutoPadding for Vec3 Elements. - * - * <p> Vec3 Elements, such as {@link Element#U8_3} are treated as Vec4 Elements - * with the fourth vector element used as padding. Enabling the AutoPadding feature - * will automatically add/remove the padding when you copy to/from an Allocation - * with a Vec3 Element. - * <p> By default: Disabled. + * Specifies the mapping between the Allocation's cells and an array's elements + * when data is copied from the Allocation to the array, or vice-versa. + * + * Only applies to an Allocation whose Element is a vector of length 3 (such as + * {@link Element#U8_3} or {@link Element#RGB_888}). Enabling this feature may make + * copying data from the Allocation to an array or vice-versa less efficient. + * + * <p> Vec3 Element cells are stored in an Allocation as Vec4 Element cells with + * the same {@link android.renderscript.Element.DataType}, with the fourth vector + * component treated as padding. When this feature is enabled, only the data components, + * i.e. the first 3 vector components of each cell, will be mapped between the array + * and the Allocation. When disabled, explicit mapping of the padding components + * is required, as described in the following example. + * + * <p> For example, when copying an integer array to an Allocation of two {@link + * Element#I32_3} cells using {@link #copyFrom(int[])}: + * <p> When disabled: + * The array must have at least 8 integers, with the first 4 integers copied + * to the first cell of the Allocation, and the next 4 integers copied to + * the second cell. The 4th and 8th integers are mapped as the padding components. + * + * <p> When enabled: + * The array just needs to have at least 6 integers, with the first 3 integers + * copied to the the first cell as data components, and the next 3 copied to + * the second cell. There is no mapping for the padding components. + * + * <p> Similarly, when copying a byte array to an Allocation of two {@link + * Element#I32_3} cells, using {@link #copyFromUnchecked(int[])}: + * <p> When disabled: + * The array must have at least 32 bytes, with the first 16 bytes copied + * to the first cell of the Allocation, and the next 16 bytes copied to + * the second cell. The 13th-16th and 29th-32nd bytes are mapped as padding + * components. + * + * <p> When enabled: + * The array just needs to have at least 24 bytes, with the first 12 bytes copied + * to the first cell of the Allocation, and the next 12 bytes copied to + * the second cell. There is no mapping for the padding components. + * + * <p> Similar to copying data to an Allocation from an array, when copying data from an + * Allocation to an array, the padding components for Vec3 Element cells will not be + * copied/mapped to the array if AutoPadding is enabled. + * + * <p> Default: Disabled. * * @param useAutoPadding True: enable AutoPadding; False: disable AutoPadding * @@ -663,12 +700,27 @@ public class Allocation extends BaseObj { } } + /** * Copy into this Allocation from an array. This method does not guarantee * that the Allocation is compatible with the input buffer; it copies memory * without reinterpretation. * - * @param array The source data array + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the Allocation {@link + * #getBytesSize getBytesSize()}. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the Allocation {@link #getBytesSize getBytesSize()}. The padding bytes for + * the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the Allocation {@link #getBytesSize getBytesSize()}. The padding bytes for + * the cells must not be part of the array. + * + * @param array The source array */ public void copyFromUnchecked(Object array) { try { @@ -685,7 +737,21 @@ public class Allocation extends BaseObj { * that the Allocation is compatible with the input buffer; it copies memory * without reinterpretation. * - * @param d the source data array + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the Allocation {@link + * #getBytesSize getBytesSize()}. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the Allocation {@link #getBytesSize getBytesSize()}. The padding bytes for + * the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the Allocation {@link #getBytesSize getBytesSize()}. The padding bytes for + * the cells must not be part of the array. + * + * @param d the source array */ public void copyFromUnchecked(int[] d) { copyFromUnchecked(d, Element.DataType.SIGNED_32, d.length); @@ -696,7 +762,21 @@ public class Allocation extends BaseObj { * that the Allocation is compatible with the input buffer; it copies memory * without reinterpretation. * - * @param d the source data array + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the Allocation {@link + * #getBytesSize getBytesSize()}. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the Allocation {@link #getBytesSize getBytesSize()}. The padding bytes for + * the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the Allocation {@link #getBytesSize getBytesSize()}. The padding bytes for + * the cells must not be part of the array. + * + * @param d the source array */ public void copyFromUnchecked(short[] d) { copyFromUnchecked(d, Element.DataType.SIGNED_16, d.length); @@ -707,7 +787,21 @@ public class Allocation extends BaseObj { * that the Allocation is compatible with the input buffer; it copies memory * without reinterpretation. * - * @param d the source data array + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the Allocation {@link + * #getBytesSize getBytesSize()}. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the Allocation {@link #getBytesSize getBytesSize()}. The padding bytes for + * the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the Allocation {@link #getBytesSize getBytesSize()}. The padding bytes for + * the cells must not be part of the array. + * + * @param d the source array */ public void copyFromUnchecked(byte[] d) { copyFromUnchecked(d, Element.DataType.SIGNED_8, d.length); @@ -718,7 +812,21 @@ public class Allocation extends BaseObj { * that the Allocation is compatible with the input buffer; it copies memory * without reinterpretation. * - * @param d the source data array + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the Allocation {@link + * #getBytesSize getBytesSize()}. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the Allocation {@link #getBytesSize getBytesSize()}. The padding bytes for + * the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the Allocation {@link #getBytesSize getBytesSize()}. The padding bytes for + * the cells must not be part of the array. + * + * @param d the source array */ public void copyFromUnchecked(float[] d) { copyFromUnchecked(d, Element.DataType.FLOAT_32, d.length); @@ -731,7 +839,21 @@ public class Allocation extends BaseObj { * android.renderscript.Element} does not match the array's * primitive type. * - * @param array The source data array + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the Allocation {@link + * #getBytesSize getBytesSize()}. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the Allocation {@link #getBytesSize getBytesSize()}. The padding bytes for + * the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the Allocation {@link #getBytesSize getBytesSize()}. The padding bytes for + * the cells must not be part of the array. + * + * @param array The source array */ public void copyFrom(Object array) { try { @@ -746,9 +868,24 @@ public class Allocation extends BaseObj { /** * Copy into this Allocation from an array. This variant is type checked * and will generate exceptions if the Allocation's {@link - * android.renderscript.Element} is not a 32 bit integer type. + * android.renderscript.Element} is not a 32 bit integer nor a vector of 32 bit + * integers {@link android.renderscript.Element.DataType}. * - * @param d the source data array + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the Allocation {@link + * #getBytesSize getBytesSize()}. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the Allocation {@link #getBytesSize getBytesSize()}. The padding bytes for + * the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the Allocation {@link #getBytesSize getBytesSize()}. The padding bytes for + * the cells must not be part of the array. + * + * @param d the source array */ public void copyFrom(int[] d) { validateIsInt32(); @@ -758,9 +895,24 @@ public class Allocation extends BaseObj { /** * Copy into this Allocation from an array. This variant is type checked * and will generate exceptions if the Allocation's {@link - * android.renderscript.Element} is not a 16 bit integer type. + * android.renderscript.Element} is not a 16 bit integer nor a vector of 16 bit + * integers {@link android.renderscript.Element.DataType}. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the Allocation {@link + * #getBytesSize getBytesSize()}. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the Allocation {@link #getBytesSize getBytesSize()}. The padding bytes for + * the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the Allocation {@link #getBytesSize getBytesSize()}. The padding bytes for + * the cells must not be part of the array. * - * @param d the source data array + * @param d the source array */ public void copyFrom(short[] d) { validateIsInt16OrFloat16(); @@ -770,9 +922,24 @@ public class Allocation extends BaseObj { /** * Copy into this Allocation from an array. This variant is type checked * and will generate exceptions if the Allocation's {@link - * android.renderscript.Element} is not an 8 bit integer type. + * android.renderscript.Element} is not an 8 bit integer nor a vector of 8 bit + * integers {@link android.renderscript.Element.DataType}. * - * @param d the source data array + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the Allocation {@link + * #getBytesSize getBytesSize()}. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the Allocation {@link #getBytesSize getBytesSize()}. The padding bytes for + * the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the Allocation {@link #getBytesSize getBytesSize()}. The padding bytes for + * the cells must not be part of the array. + * + * @param d the source array */ public void copyFrom(byte[] d) { validateIsInt8(); @@ -782,9 +949,24 @@ public class Allocation extends BaseObj { /** * Copy into this Allocation from an array. This variant is type checked * and will generate exceptions if the Allocation's {@link - * android.renderscript.Element} is not a 32 bit float type. + * android.renderscript.Element} is neither a 32 bit float nor a vector of + * 32 bit floats {@link android.renderscript.Element.DataType}. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the Allocation {@link + * #getBytesSize getBytesSize()}. * - * @param d the source data array + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the Allocation {@link #getBytesSize getBytesSize()}. The padding bytes for + * the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the Allocation {@link #getBytesSize getBytesSize()}. The padding bytes for + * the cells must not be part of the array. + * + * @param d the source array */ public void copyFrom(float[] d) { validateIsFloat32(); @@ -970,13 +1152,28 @@ public class Allocation extends BaseObj { } } + /** - * Copy an array into part of this Allocation. This method does not + * Copy an array into a 1D region of this Allocation. This method does not * guarantee that the Allocation is compatible with the input buffer. * + * <p> The size of the region is: count * {@link #getElement}.{@link + * Element#getBytesSize}. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the region. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the region. The padding bytes for the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the region. The padding bytes for the cells must not be part of the array. + * * @param off The offset of the first element to be copied. * @param count The number of elements to be copied. - * @param array The source data array + * @param array The source array */ public void copy1DRangeFromUnchecked(int off, int count, Object array) { copy1DRangeFromUnchecked(off, count, array, @@ -985,62 +1182,132 @@ public class Allocation extends BaseObj { } /** - * Copy an array into part of this Allocation. This method does not + * Copy an array into a 1D region of this Allocation. This method does not * guarantee that the Allocation is compatible with the input buffer. * + * <p> The size of the region is: count * {@link #getElement}.{@link + * Element#getBytesSize}. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the region. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the region. The padding bytes for the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the region. The padding bytes for the cells must not be part of the array. + * * @param off The offset of the first element to be copied. * @param count The number of elements to be copied. - * @param d the source data array + * @param d the source array */ public void copy1DRangeFromUnchecked(int off, int count, int[] d) { copy1DRangeFromUnchecked(off, count, (Object)d, Element.DataType.SIGNED_32, d.length); } /** - * Copy an array into part of this Allocation. This method does not + * Copy an array into a 1D region of this Allocation. This method does not * guarantee that the Allocation is compatible with the input buffer. * + * <p> The size of the region is: count * {@link #getElement}.{@link + * Element#getBytesSize}. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the region. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the region. The padding bytes for the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the region. The padding bytes for the cells must not be part of the array. + * * @param off The offset of the first element to be copied. * @param count The number of elements to be copied. - * @param d the source data array + * @param d the source array */ public void copy1DRangeFromUnchecked(int off, int count, short[] d) { copy1DRangeFromUnchecked(off, count, (Object)d, Element.DataType.SIGNED_16, d.length); } /** - * Copy an array into part of this Allocation. This method does not + * Copy an array into a 1D region of this Allocation. This method does not * guarantee that the Allocation is compatible with the input buffer. * + * <p> The size of the region is: count * {@link #getElement}.{@link + * Element#getBytesSize}. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the region. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the region. The padding bytes for the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the region. The padding bytes for the cells must not be part of the array. + * * @param off The offset of the first element to be copied. * @param count The number of elements to be copied. - * @param d the source data array + * @param d the source array */ public void copy1DRangeFromUnchecked(int off, int count, byte[] d) { copy1DRangeFromUnchecked(off, count, (Object)d, Element.DataType.SIGNED_8, d.length); } /** - * Copy an array into part of this Allocation. This method does not + * Copy an array into a 1D region of this Allocation. This method does not * guarantee that the Allocation is compatible with the input buffer. * + * <p> The size of the region is: count * {@link #getElement}.{@link + * Element#getBytesSize}. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the region. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the region. The padding bytes for the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the region. The padding bytes for the cells must not be part of the array. + * * @param off The offset of the first element to be copied. * @param count The number of elements to be copied. - * @param d the source data array + * @param d the source array */ public void copy1DRangeFromUnchecked(int off, int count, float[] d) { copy1DRangeFromUnchecked(off, count, (Object)d, Element.DataType.FLOAT_32, d.length); } - /** - * Copy an array into part of this Allocation. This variant is type checked - * and will generate exceptions if the Allocation type does not - * match the component type of the array passed in. + * Copy an array into a 1D region of this Allocation. This variant is type checked + * and will generate exceptions if the Allocation's {@link + * android.renderscript.Element} does not match the component type + * of the array passed in. + * + * <p> The size of the region is: count * {@link #getElement}.{@link + * Element#getBytesSize}. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the region. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the region. The padding bytes for the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the region. The padding bytes for the cells must not be part of the array. * * @param off The offset of the first element to be copied. * @param count The number of elements to be copied. - * @param array The source data array. + * @param array The source array. */ public void copy1DRangeFrom(int off, int count, Object array) { copy1DRangeFromUnchecked(off, count, array, @@ -1049,13 +1316,28 @@ public class Allocation extends BaseObj { } /** - * Copy an array into part of this Allocation. This variant is type checked - * and will generate exceptions if the Allocation type is not a 32 bit - * integer type. + * Copy an array into a 1D region of this Allocation. This variant is type checked + * and will generate exceptions if the Allocation's {@link + * android.renderscript.Element} is not an 32 bit integer nor a vector of 32 bit + * integers {@link android.renderscript.Element.DataType}. + * + * <p> The size of the region is: count * {@link #getElement}.{@link + * Element#getBytesSize}. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the region. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the region. The padding bytes for the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the region. The padding bytes for the cells must not be part of the array. * * @param off The offset of the first element to be copied. * @param count The number of elements to be copied. - * @param d the source data array + * @param d the source array */ public void copy1DRangeFrom(int off, int count, int[] d) { validateIsInt32(); @@ -1063,13 +1345,28 @@ public class Allocation extends BaseObj { } /** - * Copy an array into part of this Allocation. This variant is type checked - * and will generate exceptions if the Allocation type is not a 16 bit - * integer type. + * Copy an array into a 1D region of this Allocation. This variant is type checked + * and will generate exceptions if the Allocation's {@link + * android.renderscript.Element} is not an 16 bit integer nor a vector of 16 bit + * integers {@link android.renderscript.Element.DataType}. + * + * <p> The size of the region is: count * {@link #getElement}.{@link + * Element#getBytesSize}. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the region. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the region. The padding bytes for the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the region. The padding bytes for the cells must not be part of the array. * * @param off The offset of the first element to be copied. * @param count The number of elements to be copied. - * @param d the source data array + * @param d the source array */ public void copy1DRangeFrom(int off, int count, short[] d) { validateIsInt16OrFloat16(); @@ -1077,13 +1374,28 @@ public class Allocation extends BaseObj { } /** - * Copy an array into part of this Allocation. This variant is type checked - * and will generate exceptions if the Allocation type is not an 8 bit - * integer type. + * Copy an array into a 1D region of this Allocation. This variant is type checked + * and will generate exceptions if the Allocation's {@link + * android.renderscript.Element} is not an 8 bit integer nor a vector of 8 bit + * integers {@link android.renderscript.Element.DataType}. + * + * <p> The size of the region is: count * {@link #getElement}.{@link + * Element#getBytesSize}. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the region. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the region. The padding bytes for the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the region. The padding bytes for the cells must not be part of the array. * * @param off The offset of the first element to be copied. * @param count The number of elements to be copied. - * @param d the source data array + * @param d the source array */ public void copy1DRangeFrom(int off, int count, byte[] d) { validateIsInt8(); @@ -1091,13 +1403,28 @@ public class Allocation extends BaseObj { } /** - * Copy an array into part of this Allocation. This variant is type checked - * and will generate exceptions if the Allocation type is not a 32 bit float - * type. + * Copy an array into a 1D region of this Allocation. This variant is type checked + * and will generate exceptions if the Allocation's {@link + * android.renderscript.Element} is neither a 32 bit float nor a vector of + * 32 bit floats {@link android.renderscript.Element.DataType}. + * + * <p> The size of the region is: count * {@link #getElement}.{@link + * Element#getBytesSize}. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the region. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the region. The padding bytes for the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the region. The padding bytes for the cells must not be part of the array. * * @param off The offset of the first element to be copied. * @param count The number of elements to be copied. - * @param d the source data array. + * @param d the source array. */ public void copy1DRangeFrom(int off, int count, float[] d) { validateIsFloat32(); @@ -1170,7 +1497,23 @@ public class Allocation extends BaseObj { /** * Copy from an array into a rectangular region in this Allocation. The - * array is assumed to be tightly packed. + * array is assumed to be tightly packed. This variant is type checked + * and will generate exceptions if the Allocation's {@link + * android.renderscript.Element} does not match the input data type. + * + * <p> The size of the region is: w * h * {@link #getElement}.{@link + * Element#getBytesSize}. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the region. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the region. The padding bytes for the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the region. The padding bytes for the cells must not be part of the array. * * @param xoff X offset of the region to update in this Allocation * @param yoff Y offset of the region to update in this Allocation @@ -1191,7 +1534,24 @@ public class Allocation extends BaseObj { /** * Copy from an array into a rectangular region in this Allocation. The - * array is assumed to be tightly packed. + * array is assumed to be tightly packed. This variant is type checked + * and will generate exceptions if the Allocation's {@link + * android.renderscript.Element} is not an 8 bit integer nor a vector of 8 bit + * integers {@link android.renderscript.Element.DataType}. + * + * <p> The size of the region is: w * h * {@link #getElement}.{@link + * Element#getBytesSize}. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the region. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the region. The padding bytes for the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the region. The padding bytes for the cells must not be part of the array. * * @param xoff X offset of the region to update in this Allocation * @param yoff Y offset of the region to update in this Allocation @@ -1207,7 +1567,24 @@ public class Allocation extends BaseObj { /** * Copy from an array into a rectangular region in this Allocation. The - * array is assumed to be tightly packed. + * array is assumed to be tightly packed. This variant is type checked + * and will generate exceptions if the Allocation's {@link + * android.renderscript.Element} is not a 16 bit integer nor a vector of 16 bit + * integers {@link android.renderscript.Element.DataType}. + * + * <p> The size of the region is: w * h * {@link #getElement}.{@link + * Element#getBytesSize}. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the region. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the region. The padding bytes for the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the region. The padding bytes for the cells must not be part of the array. * * @param xoff X offset of the region to update in this Allocation * @param yoff Y offset of the region to update in this Allocation @@ -1223,7 +1600,24 @@ public class Allocation extends BaseObj { /** * Copy from an array into a rectangular region in this Allocation. The - * array is assumed to be tightly packed. + * array is assumed to be tightly packed. This variant is type checked + * and will generate exceptions if the Allocation's {@link + * android.renderscript.Element} is not a 32 bit integer nor a vector of 32 bit + * integers {@link android.renderscript.Element.DataType}. + * + * <p> The size of the region is: w * h * {@link #getElement}.{@link + * Element#getBytesSize}. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the region. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the region. The padding bytes for the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the region. The padding bytes for the cells must not be part of the array. * * @param xoff X offset of the region to update in this Allocation * @param yoff Y offset of the region to update in this Allocation @@ -1239,7 +1633,24 @@ public class Allocation extends BaseObj { /** * Copy from an array into a rectangular region in this Allocation. The - * array is assumed to be tightly packed. + * array is assumed to be tightly packed. This variant is type checked + * and will generate exceptions if the Allocation's {@link + * android.renderscript.Element} is neither a 32 bit float nor a vector of + * 32 bit floats {@link android.renderscript.Element.DataType}. + * + * <p> The size of the region is: w * h * {@link #getElement}.{@link + * Element#getBytesSize}. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the region. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the region. The padding bytes for the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the region. The padding bytes for the cells must not be part of the array. * * @param xoff X offset of the region to update in this Allocation * @param yoff Y offset of the region to update in this Allocation @@ -1362,8 +1773,24 @@ public class Allocation extends BaseObj { } /** - * Copy a rectangular region from the array into the allocation. - * The array is assumed to be tightly packed. + * Copy from an array into a 3D region in this Allocation. The + * array is assumed to be tightly packed. This variant is type checked + * and will generate exceptions if the Allocation's {@link + * android.renderscript.Element} does not match the input data type. + * + * <p> The size of the region is: w * h * d * {@link #getElement}.{@link + * Element#getBytesSize}. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the region. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the region. The padding bytes for the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the region. The padding bytes for the cells must not be part of the array. * * @param xoff X offset of the region to update in this Allocation * @param yoff Y offset of the region to update in this Allocation @@ -1453,10 +1880,23 @@ public class Allocation extends BaseObj { } /** - * Copy from the Allocation into an array. The array must be at - * least as large as the Allocation. The - * {@link android.renderscript.Element} must match the component - * type of the array passed in. + * Copy from the Allocation into an array. The method is type checked + * and will generate exceptions if the Allocation's {@link + * android.renderscript.Element} does not match the input data type. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the Allocation {@link + * #getBytesSize getBytesSize()}. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the Allocation {@link #getBytesSize getBytesSize()}. The padding bytes for + * the cells will be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the Allocation {@link #getBytesSize getBytesSize()}. The padding bytes for + * the cells must not be part of the array. * * @param array The array to be set from the Allocation. */ @@ -1466,9 +1906,24 @@ public class Allocation extends BaseObj { } /** - * Copy from the Allocation into a byte array. The array must be at least - * as large as the Allocation. The allocation must be of an 8 bit integer - * {@link android.renderscript.Element} type. + * Copy from the Allocation into a byte array. This variant is type checked + * and will generate exceptions if the Allocation's {@link + * android.renderscript.Element} is neither an 8 bit integer nor a vector of 8 bit + * integers {@link android.renderscript.Element.DataType}. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the Allocation {@link + * #getBytesSize getBytesSize()}. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the Allocation {@link #getBytesSize getBytesSize()}. The padding bytes for + * the cells will be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the Allocation {@link #getBytesSize getBytesSize()}. The padding bytes for + * the cells must not be part of the array. * * @param d The array to be set from the Allocation. */ @@ -1478,9 +1933,24 @@ public class Allocation extends BaseObj { } /** - * Copy from the Allocation into a short array. The array must be at least - * as large as the Allocation. The allocation must be of an 16 bit integer - * {@link android.renderscript.Element} type. + * Copy from the Allocation into a short array. This variant is type checked + * and will generate exceptions if the Allocation's {@link + * android.renderscript.Element} is not a 16 bit integer nor a vector of 16 bit + * integers {@link android.renderscript.Element.DataType}. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the Allocation {@link + * #getBytesSize getBytesSize()}. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the Allocation {@link #getBytesSize getBytesSize()}. The padding bytes for + * the cells will be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the Allocation {@link #getBytesSize getBytesSize()}. The padding bytes for + * the cells must not be part of the array. * * @param d The array to be set from the Allocation. */ @@ -1490,9 +1960,24 @@ public class Allocation extends BaseObj { } /** - * Copy from the Allocation into a int array. The array must be at least as - * large as the Allocation. The allocation must be of an 32 bit integer - * {@link android.renderscript.Element} type. + * Copy from the Allocation into a int array. This variant is type checked + * and will generate exceptions if the Allocation's {@link + * android.renderscript.Element} is not a 32 bit integer nor a vector of 32 bit + * integers {@link android.renderscript.Element.DataType}. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the Allocation {@link + * #getBytesSize getBytesSize()}. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the Allocation {@link #getBytesSize getBytesSize()}. The padding bytes for + * the cells will be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the Allocation {@link #getBytesSize getBytesSize()}. The padding bytes for + * the cells must not be part of the array. * * @param d The array to be set from the Allocation. */ @@ -1502,9 +1987,24 @@ public class Allocation extends BaseObj { } /** - * Copy from the Allocation into a float array. The array must be at least - * as large as the Allocation. The allocation must be of an 32 bit float - * {@link android.renderscript.Element} type. + * Copy from the Allocation into a float array. This variant is type checked + * and will generate exceptions if the Allocation's {@link + * android.renderscript.Element} is neither a 32 bit float nor a vector of + * 32 bit floats {@link android.renderscript.Element.DataType}. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the Allocation {@link + * #getBytesSize getBytesSize()}. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the Allocation {@link #getBytesSize getBytesSize()}. The padding bytes for + * the cells will be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the Allocation {@link #getBytesSize getBytesSize()}. The padding bytes for + * the cells must not be part of the array. * * @param d The array to be set from the Allocation. */ @@ -1607,12 +2107,26 @@ public class Allocation extends BaseObj { } /** - * Copy part of this Allocation into an array. This method does not + * Copy a 1D region of this Allocation into an array. This method does not * guarantee that the Allocation is compatible with the input buffer. * + * <p> The size of the region is: count * {@link #getElement}.{@link + * Element#getBytesSize}. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the region. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the region. The padding bytes for the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the region. The padding bytes for the cells must not be part of the array. + * * @param off The offset of the first element to be copied. * @param count The number of elements to be copied. - * @param array The dest data array + * @param array The dest array */ public void copy1DRangeToUnchecked(int off, int count, Object array) { copy1DRangeToUnchecked(off, count, array, @@ -1621,62 +2135,132 @@ public class Allocation extends BaseObj { } /** - * Copy part of this Allocation into an array. This method does not + * Copy a 1D region of this Allocation into an array. This method does not * guarantee that the Allocation is compatible with the input buffer. * + * <p> The size of the region is: count * {@link #getElement}.{@link + * Element#getBytesSize}. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the region. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the region. The padding bytes for the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the region. The padding bytes for the cells must not be part of the array. + * * @param off The offset of the first element to be copied. * @param count The number of elements to be copied. - * @param d the source data array + * @param d the source array */ public void copy1DRangeToUnchecked(int off, int count, int[] d) { copy1DRangeToUnchecked(off, count, (Object)d, Element.DataType.SIGNED_32, d.length); } /** - * Copy part of this Allocation into an array. This method does not + * Copy a 1D region of this Allocation into an array. This method does not * guarantee that the Allocation is compatible with the input buffer. * + * <p> The size of the region is: count * {@link #getElement}.{@link + * Element#getBytesSize}. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the region. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the region. The padding bytes for the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the region. The padding bytes for the cells must not be part of the array. + * * @param off The offset of the first element to be copied. * @param count The number of elements to be copied. - * @param d the source data array + * @param d the source array */ public void copy1DRangeToUnchecked(int off, int count, short[] d) { copy1DRangeToUnchecked(off, count, (Object)d, Element.DataType.SIGNED_16, d.length); } /** - * Copy part of this Allocation into an array. This method does not + * Copy a 1D region of this Allocation into an array. This method does not * guarantee that the Allocation is compatible with the input buffer. * + * <p> The size of the region is: count * {@link #getElement}.{@link + * Element#getBytesSize}. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the region. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the region. The padding bytes for the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the region. The padding bytes for the cells must not be part of the array. + * * @param off The offset of the first element to be copied. * @param count The number of elements to be copied. - * @param d the source data array + * @param d the source array */ public void copy1DRangeToUnchecked(int off, int count, byte[] d) { copy1DRangeToUnchecked(off, count, (Object)d, Element.DataType.SIGNED_8, d.length); } /** - * Copy part of this Allocation into an array. This method does not + * Copy a 1D region of this Allocation into an array. This method does not * guarantee that the Allocation is compatible with the input buffer. * + * <p> The size of the region is: count * {@link #getElement}.{@link + * Element#getBytesSize}. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the region. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the region. The padding bytes for the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the region. The padding bytes for the cells must not be part of the array. + * * @param off The offset of the first element to be copied. * @param count The number of elements to be copied. - * @param d the source data array + * @param d the source array */ public void copy1DRangeToUnchecked(int off, int count, float[] d) { copy1DRangeToUnchecked(off, count, (Object)d, Element.DataType.FLOAT_32, d.length); } - /** - * Copy part of this Allocation into an array. This method does not - * and will generate exceptions if the Allocation type does not - * match the component type of the array passed in. + * Copy a 1D region of this Allocation into an array. This method is type checked + * and will generate exceptions if the Allocation's {@link + * android.renderscript.Element} does not match the component type + * of the array passed in. + * + * <p> The size of the region is: count * {@link #getElement}.{@link + * Element#getBytesSize}. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the region. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the region. The padding bytes for the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the region. The padding bytes for the cells must not be part of the array. * * @param off The offset of the first element to be copied. * @param count The number of elements to be copied. - * @param array The source data array. + * @param array The source array. */ public void copy1DRangeTo(int off, int count, Object array) { copy1DRangeToUnchecked(off, count, array, @@ -1685,13 +2269,28 @@ public class Allocation extends BaseObj { } /** - * Copy part of this Allocation into an array. This method does not - * and will generate exceptions if the Allocation type is not a 32 bit - * integer type. + * Copy a 1D region of this Allocation into an array. This variant is type checked + * and will generate exceptions if the Allocation's {@link + * android.renderscript.Element} is neither a 32 bit integer nor a vector of 32 bit + * integers {@link android.renderscript.Element.DataType}. + * + * <p> The size of the region is: count * {@link #getElement}.{@link + * Element#getBytesSize}. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the region. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the region. The padding bytes for the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the region. The padding bytes for the cells must not be part of the array. * * @param off The offset of the first element to be copied. * @param count The number of elements to be copied. - * @param d the source data array + * @param d the source array */ public void copy1DRangeTo(int off, int count, int[] d) { validateIsInt32(); @@ -1699,13 +2298,28 @@ public class Allocation extends BaseObj { } /** - * Copy part of this Allocation into an array. This method does not - * and will generate exceptions if the Allocation type is not a 16 bit - * integer type. + * Copy a 1D region of this Allocation into an array. This variant is type checked + * and will generate exceptions if the Allocation's {@link + * android.renderscript.Element} is neither a 16 bit integer nor a vector of 16 bit + * integers {@link android.renderscript.Element.DataType}. + * + * <p> The size of the region is: count * {@link #getElement}.{@link + * Element#getBytesSize}. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the region. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the region. The padding bytes for the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the region. The padding bytes for the cells must not be part of the array. * * @param off The offset of the first element to be copied. * @param count The number of elements to be copied. - * @param d the source data array + * @param d the source array */ public void copy1DRangeTo(int off, int count, short[] d) { validateIsInt16OrFloat16(); @@ -1713,13 +2327,28 @@ public class Allocation extends BaseObj { } /** - * Copy part of this Allocation into an array. This method does not - * and will generate exceptions if the Allocation type is not an 8 bit - * integer type. + * Copy a 1D region of this Allocation into an array. This variant is type checked + * and will generate exceptions if the Allocation's {@link + * android.renderscript.Element} is neither an 8 bit integer nor a vector of 8 bit + * integers {@link android.renderscript.Element.DataType}. + * + * <p> The size of the region is: count * {@link #getElement}.{@link + * Element#getBytesSize}. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the region. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the region. The padding bytes for the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the region. The padding bytes for the cells must not be part of the array. * * @param off The offset of the first element to be copied. * @param count The number of elements to be copied. - * @param d the source data array + * @param d the source array */ public void copy1DRangeTo(int off, int count, byte[] d) { validateIsInt8(); @@ -1727,13 +2356,28 @@ public class Allocation extends BaseObj { } /** - * Copy part of this Allocation into an array. This method does not - * and will generate exceptions if the Allocation type is not a 32 bit float - * type. + * Copy a 1D region of this Allocation into an array. This variant is type checked + * and will generate exceptions if the Allocation's {@link + * android.renderscript.Element} is neither a 32 bit float nor a vector of + * 32 bit floats {@link android.renderscript.Element.DataType}. + * + * <p> The size of the region is: count * {@link #getElement}.{@link + * Element#getBytesSize}. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the region. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the region. The padding bytes for the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the region. The padding bytes for the cells must not be part of the array. * * @param off The offset of the first element to be copied. * @param count The number of elements to be copied. - * @param d the source data array. + * @param d the source array. */ public void copy1DRangeTo(int off, int count, float[] d) { validateIsFloat32(); @@ -1770,7 +2414,24 @@ public class Allocation extends BaseObj { } /** - * Copy from a rectangular region in this Allocation into an array. + * Copy from a rectangular region in this Allocation into an array. This + * method is type checked and will generate exceptions if the Allocation's + * {@link android.renderscript.Element} does not match the component type + * of the array passed in. + * + * <p> The size of the region is: w * h * {@link #getElement}.{@link + * Element#getBytesSize}. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the region. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the region. The padding bytes for the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the region. The padding bytes for the cells must not be part of the array. * * @param xoff X offset of the region to copy in this Allocation * @param yoff Y offset of the region to copy in this Allocation @@ -1785,7 +2446,24 @@ public class Allocation extends BaseObj { } /** - * Copy from a rectangular region in this Allocation into an array. + * Copy from a rectangular region in this Allocation into an array. This + * variant is type checked and will generate exceptions if the Allocation's + * {@link android.renderscript.Element} is neither an 8 bit integer nor a vector + * of 8 bit integers {@link android.renderscript.Element.DataType}. + * + * <p> The size of the region is: w * h * {@link #getElement}.{@link + * Element#getBytesSize}. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the region. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the region. The padding bytes for the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the region. The padding bytes for the cells must not be part of the array. * * @param xoff X offset of the region to copy in this Allocation * @param yoff Y offset of the region to copy in this Allocation @@ -1800,7 +2478,24 @@ public class Allocation extends BaseObj { } /** - * Copy from a rectangular region in this Allocation into an array. + * Copy from a rectangular region in this Allocation into an array. This + * variant is type checked and will generate exceptions if the Allocation's + * {@link android.renderscript.Element} is neither a 16 bit integer nor a vector + * of 16 bit integers {@link android.renderscript.Element.DataType}. + * + * <p> The size of the region is: w * h * {@link #getElement}.{@link + * Element#getBytesSize}. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the region. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the region. The padding bytes for the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the region. The padding bytes for the cells must not be part of the array. * * @param xoff X offset of the region to copy in this Allocation * @param yoff Y offset of the region to copy in this Allocation @@ -1815,7 +2510,24 @@ public class Allocation extends BaseObj { } /** - * Copy from a rectangular region in this Allocation into an array. + * Copy from a rectangular region in this Allocation into an array. This + * variant is type checked and will generate exceptions if the Allocation's + * {@link android.renderscript.Element} is neither a 32 bit integer nor a vector + * of 32 bit integers {@link android.renderscript.Element.DataType}. + * + * <p> The size of the region is: w * h * {@link #getElement}.{@link + * Element#getBytesSize}. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the region. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the region. The padding bytes for the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the region. The padding bytes for the cells must not be part of the array. * * @param xoff X offset of the region to copy in this Allocation * @param yoff Y offset of the region to copy in this Allocation @@ -1830,7 +2542,24 @@ public class Allocation extends BaseObj { } /** - * Copy from a rectangular region in this Allocation into an array. + * Copy from a rectangular region in this Allocation into an array. This + * variant is type checked and will generate exceptions if the Allocation's + * {@link android.renderscript.Element} is neither a 32 bit float nor a vector + * of 32 bit floats {@link android.renderscript.Element.DataType}. + * + * <p> The size of the region is: w * h * {@link #getElement}.{@link + * Element#getBytesSize}. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the region. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the region. The padding bytes for the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the region. The padding bytes for the cells must not be part of the array. * * @param xoff X offset of the region to copy in this Allocation * @param yoff Y offset of the region to copy in this Allocation @@ -1846,7 +2575,8 @@ public class Allocation extends BaseObj { /** - * Copy from a rectangular region in this Allocation into an array. + * Copy from a 3D region in this Allocation into an array. This method does + * not guarantee that the Allocation is compatible with the input buffer. * The array is assumed to be tightly packed. * * The data type of the array is not required to be the same as @@ -1881,7 +2611,24 @@ public class Allocation extends BaseObj { } /* - * Copy from a rectangular region in this Allocation into an array. + * Copy from a 3D region in this Allocation into an array. This + * method is type checked and will generate exceptions if the Allocation's + * {@link android.renderscript.Element} does not match the component type + * of the array passed in. + * + * <p> The size of the region is: w * h * d * {@link #getElement}.{@link + * Element#getBytesSize}. + * + * <p> If the Allocation does not have Vec3 Elements, then the size of the + * array in bytes must be at least the size of the region. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is disabled, then the size of the array in bytes must be at least the size + * of the region. The padding bytes for the cells must be part of the array. + * + * <p> If the Allocation has Vec3 Elements and {@link #setAutoPadding AutoPadding} + * is enabled, then the size of the array in bytes must be at least 3/4 the size + * of the region. The padding bytes for the cells must not be part of the array. * * @param xoff X offset of the region to copy in this Allocation * @param yoff Y offset of the region to copy in this Allocation @@ -2091,7 +2838,7 @@ public class Allocation extends BaseObj { /** * Gets or creates a ByteBuffer that contains the raw data of the current Allocation. - * If the Allocation is created with USAGE_IO_INPUT, the returned ByteBuffer + * <p> If the Allocation is created with USAGE_IO_INPUT, the returned ByteBuffer * would contain the up-to-date data as READ ONLY. * For a 2D or 3D Allocation, the raw data maybe padded so that each row of * the Allocation has certain alignment. The size of each row including padding, @@ -2167,7 +2914,7 @@ public class Allocation extends BaseObj { * Creates a new Allocation with the given {@link * android.renderscript.Allocation}. The same data layout of * the input Allocation will be applied. - * If the input allocation is of usage: USAGE_IO_INPUT, the created + * <p> If the input allocation is of usage: USAGE_IO_INPUT, the created * Allocation will be sharing the same BufferQueue. * * @param rs Context to which the allocation will belong. diff --git a/rs/java/android/renderscript/ScriptIntrinsicBlur.java b/rs/java/android/renderscript/ScriptIntrinsicBlur.java index 60e2b6d99b1e..11483dc52ffd 100644 --- a/rs/java/android/renderscript/ScriptIntrinsicBlur.java +++ b/rs/java/android/renderscript/ScriptIntrinsicBlur.java @@ -34,7 +34,8 @@ public final class ScriptIntrinsicBlur extends ScriptIntrinsic { * Create an intrinsic for applying a blur to an allocation. The * default radius is 5.0. * - * Supported elements types are {@link Element#U8_4 Element#U8} + * Supported elements types are {@link Element#U8}, + * {@link Element#U8_4}. * * @param rs The RenderScript context * @param e Element type for inputs and outputs diff --git a/services/appwidget/java/com/android/server/appwidget/AppWidgetService.java b/services/appwidget/java/com/android/server/appwidget/AppWidgetService.java index 3f9542731ad3..de2c58c6dae7 100644 --- a/services/appwidget/java/com/android/server/appwidget/AppWidgetService.java +++ b/services/appwidget/java/com/android/server/appwidget/AppWidgetService.java @@ -44,4 +44,19 @@ public class AppWidgetService extends SystemService { mImpl.setSafeMode(isSafeMode()); } } + + @Override + public void onUnlockUser(int userHandle) { + mImpl.onUserUnlocked(userHandle); + } + + @Override + public void onStopUser(int userHandle) { + mImpl.onUserStopped(userHandle); + } + + @Override + public void onSwitchUser(int userHandle) { + mImpl.reloadWidgetsMaskedStateForGroup(userHandle); + } } diff --git a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java index ac2dda3492ca..4e0ddd6a75cb 100644 --- a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java +++ b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java @@ -158,12 +158,6 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku if (Intent.ACTION_CONFIGURATION_CHANGED.equals(action)) { onConfigurationChanged(); - } else if (Intent.ACTION_USER_UNLOCKED.equals(action)) { - onUserUnlocked(userId); - } else if (Intent.ACTION_USER_STOPPED.equals(action)) { - onUserStopped(userId); - } else if (Intent.ACTION_USER_SWITCHED.equals(action)) { - reloadWidgetsMaskedStateForGroup(userId); } else if (Intent.ACTION_MANAGED_PROFILE_AVAILABLE.equals(action) || Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE.equals(action)) { synchronized (mLock) { @@ -281,13 +275,6 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku mContext.registerReceiverAsUser(mBroadcastReceiver, UserHandle.ALL, sdFilter, null, null); - IntentFilter userFilter = new IntentFilter(); - userFilter.addAction(Intent.ACTION_USER_UNLOCKED); - userFilter.addAction(Intent.ACTION_USER_STOPPED); - userFilter.addAction(Intent.ACTION_USER_SWITCHED); - mContext.registerReceiverAsUser(mBroadcastReceiver, UserHandle.ALL, - userFilter, null, null); - IntentFilter offModeFilter = new IntentFilter(); offModeFilter.addAction(Intent.ACTION_MANAGED_PROFILE_AVAILABLE); offModeFilter.addAction(Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE); @@ -454,7 +441,7 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku * due to user not being available and package suspension. * userId must be the group parent. */ - private void reloadWidgetsMaskedStateForGroup(int userId) { + void reloadWidgetsMaskedStateForGroup(int userId) { if (!mUserManager.isUserUnlockingOrUnlocked(userId)) { return; } @@ -2525,7 +2512,7 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku } } - private void onUserUnlocked(int userId) { + void onUserUnlocked(int userId) { if (isProfileWithLockedParent(userId)) { return; } @@ -3072,7 +3059,7 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku return new AtomicFile(settingsFile); } - private void onUserStopped(int userId) { + void onUserStopped(int userId) { synchronized (mLock) { boolean crossProfileWidgetsChanged = false; diff --git a/services/core/Android.mk b/services/core/Android.mk index 860f60a01936..b965ce39e7d5 100644 --- a/services/core/Android.mk +++ b/services/core/Android.mk @@ -24,4 +24,10 @@ ifneq ($(INCREMENTAL_BUILDS),) LOCAL_JACK_ENABLED := incremental endif +LOCAL_JACK_FLAGS := \ + -D jack.transformations.boost-locked-region-priority=true \ + -D jack.transformations.boost-locked-region-priority.classname=com.android.server.am.ActivityManagerService \ + -D jack.transformations.boost-locked-region-priority.request=com.android.server.am.ActivityManagerService\#boostPriorityForLockedSection \ + -D jack.transformations.boost-locked-region-priority.reset=com.android.server.am.ActivityManagerService\#resetPriorityAfterLockedSection + include $(BUILD_STATIC_JAVA_LIBRARY) diff --git a/services/core/java/com/android/server/AlarmManagerService.java b/services/core/java/com/android/server/AlarmManagerService.java index 1edc9b18c697..8ad6e6afcce5 100644 --- a/services/core/java/com/android/server/AlarmManagerService.java +++ b/services/core/java/com/android/server/AlarmManagerService.java @@ -125,6 +125,8 @@ class AlarmManagerService extends SystemService { long mNativeData; private long mNextWakeup; private long mNextNonWakeup; + private long mLastWakeupSet; + private long mLastWakeup; int mBroadcastRefCount = 0; PowerManager.WakeLock mWakeLock; boolean mLastWakeLockUnimportantForLogging; @@ -1400,6 +1402,9 @@ class AlarmManagerService extends SystemService { pw.print(" = "); pw.println(sdf.format(new Date(nextNonWakeupRTC))); pw.print(" Next wakeup: "); TimeUtils.formatDuration(mNextWakeup, nowELAPSED, pw); pw.print(" = "); pw.println(sdf.format(new Date(nextWakeupRTC))); + pw.print(" Last wakeup: "); TimeUtils.formatDuration(mLastWakeup, nowELAPSED, pw); + pw.print(" set at "); TimeUtils.formatDuration(mLastWakeupSet, nowELAPSED, pw); + pw.println(); pw.print(" Num time change events: "); pw.println(mNumTimeChanged); pw.println(" mDeviceIdleUserWhitelist=" + Arrays.toString(mDeviceIdleUserWhitelist)); @@ -1838,6 +1843,7 @@ class AlarmManagerService extends SystemService { final Batch firstBatch = mAlarmBatches.get(0); if (firstWakeup != null && mNextWakeup != firstWakeup.start) { mNextWakeup = firstWakeup.start; + mLastWakeupSet = SystemClock.elapsedRealtime(); setLocked(ELAPSED_REALTIME_WAKEUP, firstWakeup.start); } if (firstBatch != firstWakeup) { @@ -2436,6 +2442,7 @@ class AlarmManagerService extends SystemService { while (true) { int result = waitForAlarm(mNativeData); + mLastWakeup = SystemClock.elapsedRealtime(); triggerList.clear(); @@ -2536,6 +2543,11 @@ class AlarmManagerService extends SystemService { deliverAlarmsLocked(triggerList, nowELAPSED); } } + + } else { + // Just in case -- even though no wakeup flag was set, make sure + // we have updated the kernel to the next alarm time. + rescheduleKernelAlarmsLocked(); } } } diff --git a/services/core/java/com/android/server/AppOpsService.java b/services/core/java/com/android/server/AppOpsService.java index ca3c39f51e62..b5b0cd86f397 100644 --- a/services/core/java/com/android/server/AppOpsService.java +++ b/services/core/java/com/android/server/AppOpsService.java @@ -1316,13 +1316,14 @@ public class AppOpsService extends IAppOpsService.Stub { // For each client, check that the given op is not restricted, or that the given // package is exempt from the restriction. ClientRestrictionState restrictionState = mOpUserRestrictions.valueAt(i); - if (restrictionState.hasRestriction(code, packageName, userHandle) - && AppOpsManager.opAllowSystemBypassRestriction(code)) { - // If we are the system, bypass user restrictions for certain codes - synchronized (this) { - Ops ops = getOpsRawLocked(uid, packageName, true); - if ((ops != null) && ops.isPrivileged) { - return false; + if (restrictionState.hasRestriction(code, packageName, userHandle)) { + if (AppOpsManager.opAllowSystemBypassRestriction(code)) { + // If we are the system, bypass user restrictions for certain codes + synchronized (this) { + Ops ops = getOpsRawLocked(uid, packageName, true); + if ((ops != null) && ops.isPrivileged) { + return false; + } } } return true; @@ -2179,8 +2180,9 @@ public class AppOpsService extends IAppOpsService.Stub { Preconditions.checkNotNull(token); for (int i = 0; i < AppOpsManager._NUM_OP; i++) { String restriction = AppOpsManager.opToRestriction(i); - if (restriction != null && restrictions.getBoolean(restriction, false)) { - setUserRestrictionNoCheck(i, true, token, userHandle, null); + if (restriction != null) { + setUserRestrictionNoCheck(i, restrictions.getBoolean(restriction, false), token, + userHandle, null); } } } diff --git a/services/core/java/com/android/server/BluetoothManagerService.java b/services/core/java/com/android/server/BluetoothManagerService.java index 5e8687a904c1..1f88be55ec6b 100644 --- a/services/core/java/com/android/server/BluetoothManagerService.java +++ b/services/core/java/com/android/server/BluetoothManagerService.java @@ -52,6 +52,7 @@ import android.os.UserManager; import android.provider.Settings; import android.provider.Settings.SettingNotFoundException; import android.util.Slog; +import java.util.concurrent.locks.ReentrantReadWriteLock; import java.io.FileDescriptor; import java.io.PrintWriter; @@ -126,6 +127,8 @@ class BluetoothManagerService extends IBluetoothManager.Stub { private IBinder mBluetoothBinder; private IBluetooth mBluetooth; private IBluetoothGatt mBluetoothGatt; + private final ReentrantReadWriteLock mBluetoothLock = + new ReentrantReadWriteLock(); private boolean mBinding; private boolean mUnbinding; // used inside handler thread @@ -190,12 +193,15 @@ class BluetoothManagerService extends IBluetoothManager.Stub { } int st = BluetoothAdapter.STATE_OFF; - if (mBluetooth != null) { - try { + try { + mBluetoothLock.readLock().lock(); + if (mBluetooth != null) { st = mBluetooth.getState(); - } catch (RemoteException e) { - Slog.e(TAG,"Unable to call getState", e); } + } catch (RemoteException e) { + Slog.e(TAG, "Unable to call getState", e); + } finally { + mBluetoothLock.readLock().unlock(); } Slog.d(TAG, "state" + st); @@ -208,12 +214,15 @@ class BluetoothManagerService extends IBluetoothManager.Stub { if (st == BluetoothAdapter.STATE_BLE_ON) { //if state is BLE_ON make sure you trigger disableBLE part try { + mBluetoothLock.readLock().lock(); if (mBluetooth != null) { mBluetooth.onBrEdrDown(); mEnableExternal = false; } - } catch(RemoteException e) { + } catch (RemoteException e) { Slog.e(TAG,"Unable to call onBrEdrDown", e); + } finally { + mBluetoothLock.readLock().lock(); } } else if (st == BluetoothAdapter.STATE_ON){ // disable without persisting the setting @@ -366,9 +375,8 @@ class BluetoothManagerService extends IBluetoothManager.Stub { Message msg = mHandler.obtainMessage(MESSAGE_REGISTER_ADAPTER); msg.obj = callback; mHandler.sendMessage(msg); - synchronized(mConnection) { - return mBluetooth; - } + + return mBluetooth; } public void unregisterAdapter(IBluetoothManagerCallback callback) { @@ -406,12 +414,13 @@ class BluetoothManagerService extends IBluetoothManager.Stub { return false; } - synchronized(mConnection) { - try { - return (mBluetooth != null && mBluetooth.isEnabled()); - } catch (RemoteException e) { - Slog.e(TAG, "isEnabled()", e); - } + try { + mBluetoothLock.readLock().lock(); + if (mBluetooth != null) return mBluetooth.isEnabled(); + } catch (RemoteException e) { + Slog.e(TAG, "isEnabled()", e); + } finally { + mBluetoothLock.readLock().unlock(); } return false; } @@ -424,11 +433,14 @@ class BluetoothManagerService extends IBluetoothManager.Stub { if (mBleAppCount == 0) { if (DBG) Slog.d(TAG, "Disabling LE only mode after application crash"); try { + mBluetoothLock.readLock().lock(); if (mBluetooth != null) { mBluetooth.onBrEdrDown(); } - } catch(RemoteException e) { + } catch (RemoteException e) { Slog.e(TAG,"Unable to call onBrEdrDown", e); + } finally { + mBluetoothLock.readLock().unlock(); } } } @@ -456,9 +468,12 @@ class BluetoothManagerService extends IBluetoothManager.Stub { disableBleScanMode(); clearBleApps(); try { + mBluetoothLock.readLock().lock(); if (mBluetooth != null) mBluetooth.onBrEdrDown(); } catch (RemoteException e) { Slog.e(TAG, "error when disabling bluetooth", e); + } finally { + mBluetoothLock.readLock().unlock(); } } } @@ -472,12 +487,15 @@ class BluetoothManagerService extends IBluetoothManager.Stub { // Disable ble scan only mode. private void disableBleScanMode() { try { + mBluetoothLock.writeLock().lock(); if (mBluetooth != null && (mBluetooth.getState() != BluetoothAdapter.STATE_ON)) { if (DBG) Slog.d(TAG, "Reseting the mEnable flag for clean disable"); mEnable = false; } } catch (RemoteException e) { Slog.e(TAG, "getState()", e); + } finally { + mBluetoothLock.writeLock().unlock(); } } @@ -536,7 +554,8 @@ class BluetoothManagerService extends IBluetoothManager.Stub { */ private void onBluetoothGattServiceUp() { if (DBG) Slog.d(TAG,"BluetoothGatt Service is Up"); - try{ + try { + mBluetoothLock.readLock().lock(); if (isBleAppPresent() == false && mBluetooth != null && mBluetooth.getState() == BluetoothAdapter.STATE_BLE_ON) { mBluetooth.onLeServiceUp(); @@ -546,8 +565,10 @@ class BluetoothManagerService extends IBluetoothManager.Stub { persistBluetoothSetting(BLUETOOTH_ON_BLUETOOTH); Binder.restoreCallingIdentity(callingIdentity); } - } catch(RemoteException e) { - Slog.e(TAG,"Unable to call onServiceUp", e); + } catch (RemoteException e) { + Slog.e(TAG,"Unable to call onServiceUp", e); + } finally { + mBluetoothLock.readLock().unlock(); } } @@ -558,22 +579,25 @@ class BluetoothManagerService extends IBluetoothManager.Stub { private void sendBrEdrDownCallback() { if (DBG) Slog.d(TAG,"Calling sendBrEdrDownCallback callbacks"); - if(mBluetooth == null) { + if (mBluetooth == null) { Slog.w(TAG, "Bluetooth handle is null"); return; } if (isBleAppPresent() == false) { try { - mBluetooth.onBrEdrDown(); - } catch(RemoteException e) { + mBluetoothLock.readLock().lock(); + if (mBluetooth != null) mBluetooth.onBrEdrDown(); + } catch (RemoteException e) { Slog.e(TAG, "Call to onBrEdrDown() failed.", e); + } finally { + mBluetoothLock.readLock().unlock(); } } else { // Need to stay at BLE ON. Disconnect all Gatt connections - try{ + try { mBluetoothGatt.unregAll(); - } catch(RemoteException e) { + } catch (RemoteException e) { Slog.e(TAG, "Unable to disconnect all apps.", e); } } @@ -673,7 +697,8 @@ class BluetoothManagerService extends IBluetoothManager.Stub { " mBinding = " + mBinding); } - synchronized (mConnection) { + try { + mBluetoothLock.writeLock().lock(); if (mUnbinding) return; mUnbinding = true; if (mBluetooth != null) { @@ -695,6 +720,8 @@ class BluetoothManagerService extends IBluetoothManager.Stub { mUnbinding=false; } mBluetoothGatt = null; + } finally { + mBluetoothLock.writeLock().unlock(); } } @@ -1010,14 +1037,13 @@ class BluetoothManagerService extends IBluetoothManager.Stub { return BluetoothAdapter.DEFAULT_MAC_ADDRESS; } - synchronized(mConnection) { - if (mBluetooth != null) { - try { - return mBluetooth.getAddress(); - } catch (RemoteException e) { - Slog.e(TAG, "getAddress(): Unable to retrieve address remotely..Returning cached address",e); - } - } + try { + mBluetoothLock.readLock().lock(); + if (mBluetooth != null) return mBluetooth.getAddress(); + } catch (RemoteException e) { + Slog.e(TAG, "getAddress(): Unable to retrieve address remotely. Returning cached address", e); + } finally { + mBluetoothLock.readLock().unlock(); } // mAddress is accessed from outside. @@ -1036,15 +1062,15 @@ class BluetoothManagerService extends IBluetoothManager.Stub { return null; } - synchronized(mConnection) { - if (mBluetooth != null) { - try { - return mBluetooth.getName(); - } catch (RemoteException e) { - Slog.e(TAG, "getName(): Unable to retrieve name remotely..Returning cached name",e); - } - } + try { + mBluetoothLock.readLock().lock(); + if (mBluetooth != null) return mBluetooth.getName(); + } catch (RemoteException e) { + Slog.e(TAG, "getName(): Unable to retrieve name remotely. Returning cached name", e); + } finally { + mBluetoothLock.readLock().unlock(); } + // mName is accessed from outside. // It alright without a lock. Here, bluetooth is off, no other thread is // changing mName @@ -1101,7 +1127,8 @@ class BluetoothManagerService extends IBluetoothManager.Stub { switch (msg.what) { case MESSAGE_GET_NAME_AND_ADDRESS: if (DBG) Slog.d(TAG, "MESSAGE_GET_NAME_AND_ADDRESS"); - synchronized(mConnection) { + try { + mBluetoothLock.writeLock().lock(); if ((mBluetooth == null) && (!mBinding)) { if (DBG) Slog.d(TAG, "Binding to service to get name and address"); mGetNameAddressOnly = true; @@ -1127,6 +1154,8 @@ class BluetoothManagerService extends IBluetoothManager.Stub { } mGetNameAddressOnly = false; } + } finally { + mBluetoothLock.writeLock().unlock(); } break; @@ -1209,7 +1238,8 @@ class BluetoothManagerService extends IBluetoothManager.Stub { if (DBG) Slog.d(TAG,"MESSAGE_BLUETOOTH_SERVICE_CONNECTED: " + msg.arg1); IBinder service = (IBinder) msg.obj; - synchronized(mConnection) { + try { + mBluetoothLock.writeLock().lock(); if (msg.arg1 == SERVICE_IBLUETOOTHGATT) { mBluetoothGatt = IBluetoothGatt.Stub.asInterface(service); onBluetoothGattServiceUp(); @@ -1264,6 +1294,8 @@ class BluetoothManagerService extends IBluetoothManager.Stub { } catch (RemoteException e) { Slog.e(TAG,"Unable to call enable()",e); } + } finally { + mBluetoothLock.writeLock().unlock(); } if (!mEnable) { @@ -1275,9 +1307,10 @@ class BluetoothManagerService extends IBluetoothManager.Stub { } case MESSAGE_TIMEOUT_BIND: { Slog.e(TAG, "MESSAGE_TIMEOUT_BIND"); - synchronized(mConnection) { - mBinding = false; - } + mBluetoothLock.writeLock().lock(); + mBinding = false; + mBluetoothLock.writeLock().unlock(); + break; } case MESSAGE_BLUETOOTH_STATE_CHANGE: @@ -1312,7 +1345,8 @@ class BluetoothManagerService extends IBluetoothManager.Stub { case MESSAGE_BLUETOOTH_SERVICE_DISCONNECTED: { Slog.e(TAG, "MESSAGE_BLUETOOTH_SERVICE_DISCONNECTED: " + msg.arg1); - synchronized(mConnection) { + try { + mBluetoothLock.writeLock().lock(); if (msg.arg1 == SERVICE_IBLUETOOTH) { // if service is unbinded already, do nothing and return if (mBluetooth == null) break; @@ -1324,6 +1358,8 @@ class BluetoothManagerService extends IBluetoothManager.Stub { Slog.e(TAG, "Bad msg.arg1: " + msg.arg1); break; } + } finally { + mBluetoothLock.writeLock().unlock(); } if (mEnable) { @@ -1369,9 +1405,9 @@ class BluetoothManagerService extends IBluetoothManager.Stub { case MESSAGE_TIMEOUT_UNBIND: { Slog.e(TAG, "MESSAGE_TIMEOUT_UNBIND"); - synchronized(mConnection) { - mUnbinding = false; - } + mBluetoothLock.writeLock().lock(); + mUnbinding = false; + mBluetoothLock.writeLock().unlock(); break; } @@ -1381,15 +1417,15 @@ class BluetoothManagerService extends IBluetoothManager.Stub { /* disable and enable BT when detect a user switch */ if (mEnable && mBluetooth != null) { - synchronized (mConnection) { + try { + mBluetoothLock.readLock().lock(); if (mBluetooth != null) { - //Unregister callback object - try { - mBluetooth.unregisterCallback(mBluetoothCallback); - } catch (RemoteException re) { - Slog.e(TAG, "Unable to unregister",re); - } + mBluetooth.unregisterCallback(mBluetoothCallback); } + } catch (RemoteException re) { + Slog.e(TAG, "Unable to unregister", re); + } finally { + mBluetoothLock.readLock().unlock(); } if (mState == BluetoothAdapter.STATE_TURNING_OFF) { @@ -1420,14 +1456,19 @@ class BluetoothManagerService extends IBluetoothManager.Stub { bluetoothStateChangeHandler(BluetoothAdapter.STATE_TURNING_OFF, BluetoothAdapter.STATE_OFF); sendBluetoothServiceDownCallback(); - synchronized (mConnection) { + + try { + mBluetoothLock.writeLock().lock(); if (mBluetooth != null) { mBluetooth = null; - //Unbind + // Unbind mContext.unbindService(mConnection); } mBluetoothGatt = null; + } finally { + mBluetoothLock.writeLock().unlock(); } + SystemClock.sleep(100); mHandler.removeMessages(MESSAGE_BLUETOOTH_STATE_CHANGE); @@ -1450,14 +1491,12 @@ class BluetoothManagerService extends IBluetoothManager.Stub { if (DBG) Slog.d(TAG, "MESSAGE_USER_UNLOCKED"); mHandler.removeMessages(MESSAGE_USER_SWITCHED); - synchronized (mConnection) { - if (mEnable && !mBinding && (mBluetooth == null)) { - // We should be connected, but we gave up for some - // reason; maybe the Bluetooth service wasn't encryption - // aware, so try binding again. - if (DBG) Slog.d(TAG, "Enabled but not bound; retrying after unlock"); - handleEnable(mQuietEnable); - } + if (mEnable && !mBinding && (mBluetooth == null)) { + // We should be connected, but we gave up for some + // reason; maybe the Bluetooth service wasn't encryption + // aware, so try binding again. + if (DBG) Slog.d(TAG, "Enabled but not bound; retrying after unlock"); + handleEnable(mQuietEnable); } } } @@ -1467,7 +1506,8 @@ class BluetoothManagerService extends IBluetoothManager.Stub { private void handleEnable(boolean quietMode) { mQuietEnable = quietMode; - synchronized(mConnection) { + try { + mBluetoothLock.writeLock().lock(); if ((mBluetooth == null) && (!mBinding)) { //Start bind timeout and bind Message timeoutMsg=mHandler.obtainMessage(MESSAGE_TIMEOUT_BIND); @@ -1496,6 +1536,8 @@ class BluetoothManagerService extends IBluetoothManager.Stub { Slog.e(TAG,"Unable to call enable()",e); } } + } finally { + mBluetoothLock.writeLock().unlock(); } } @@ -1510,18 +1552,18 @@ class BluetoothManagerService extends IBluetoothManager.Stub { } private void handleDisable() { - synchronized(mConnection) { + try { + mBluetoothLock.readLock().lock(); if (mBluetooth != null) { if (DBG) Slog.d(TAG,"Sending off request."); - - try { - if(!mBluetooth.disable()) { - Slog.e(TAG,"IBluetooth.disable() returned false"); - } - } catch (RemoteException e) { - Slog.e(TAG,"Unable to call disable()",e); + if (!mBluetooth.disable()) { + Slog.e(TAG,"IBluetooth.disable() returned false"); } } + } catch (RemoteException e) { + Slog.e(TAG,"Unable to call disable()",e); + } finally { + mBluetoothLock.readLock().unlock(); } } @@ -1648,20 +1690,21 @@ class BluetoothManagerService extends IBluetoothManager.Stub { private boolean waitForOnOff(boolean on, boolean off) { int i = 0; while (i < 10) { - synchronized(mConnection) { - try { - if (mBluetooth == null) break; - if (on) { - if (mBluetooth.getState() == BluetoothAdapter.STATE_ON) return true; - } else if (off) { - if (mBluetooth.getState() == BluetoothAdapter.STATE_OFF) return true; - } else { - if (mBluetooth.getState() != BluetoothAdapter.STATE_ON) return true; - } - } catch (RemoteException e) { - Slog.e(TAG, "getState()", e); - break; + try { + mBluetoothLock.readLock().lock(); + if (mBluetooth == null) break; + if (on) { + if (mBluetooth.getState() == BluetoothAdapter.STATE_ON) return true; + } else if (off) { + if (mBluetooth.getState() == BluetoothAdapter.STATE_OFF) return true; + } else { + if (mBluetooth.getState() != BluetoothAdapter.STATE_ON) return true; } + } catch (RemoteException e) { + Slog.e(TAG, "getState()", e); + break; + } finally { + mBluetoothLock.readLock().unlock(); } if (on || off) { SystemClock.sleep(300); @@ -1684,34 +1727,36 @@ class BluetoothManagerService extends IBluetoothManager.Stub { } private boolean canUnbindBluetoothService() { - synchronized(mConnection) { + try { //Only unbind with mEnable flag not set //For race condition: disable and enable back-to-back //Avoid unbind right after enable due to callback from disable //Only unbind with Bluetooth at OFF state //Only unbind without any MESSAGE_BLUETOOTH_STATE_CHANGE message - try { - if (mEnable || (mBluetooth == null)) return false; - if (mHandler.hasMessages(MESSAGE_BLUETOOTH_STATE_CHANGE)) return false; - return (mBluetooth.getState() == BluetoothAdapter.STATE_OFF); - } catch (RemoteException e) { - Slog.e(TAG, "getState()", e); - } + mBluetoothLock.readLock().lock(); + if (mEnable || (mBluetooth == null)) return false; + if (mHandler.hasMessages(MESSAGE_BLUETOOTH_STATE_CHANGE)) return false; + return (mBluetooth.getState() == BluetoothAdapter.STATE_OFF); + } catch (RemoteException e) { + Slog.e(TAG, "getState()", e); + } finally { + mBluetoothLock.readLock().unlock(); } return false; } private void recoverBluetoothServiceFromError() { Slog.e(TAG,"recoverBluetoothServiceFromError"); - synchronized (mConnection) { + try { + mBluetoothLock.readLock().lock(); if (mBluetooth != null) { //Unregister callback object - try { - mBluetooth.unregisterCallback(mBluetoothCallback); - } catch (RemoteException re) { - Slog.e(TAG, "Unable to unregister",re); - } + mBluetooth.unregisterCallback(mBluetoothCallback); } + } catch (RemoteException re) { + Slog.e(TAG, "Unable to unregister", re); + } finally { + mBluetoothLock.readLock().unlock(); } SystemClock.sleep(500); @@ -1722,13 +1767,17 @@ class BluetoothManagerService extends IBluetoothManager.Stub { waitForOnOff(false, true); sendBluetoothServiceDownCallback(); - synchronized (mConnection) { + + try { + mBluetoothLock.writeLock().lock(); if (mBluetooth != null) { mBluetooth = null; - //Unbind + // Unbind mContext.unbindService(mConnection); } mBluetoothGatt = null; + } finally { + mBluetoothLock.writeLock().unlock(); } mHandler.removeMessages(MESSAGE_BLUETOOTH_STATE_CHANGE); diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index c096fa5f3946..2f2d8a4435cc 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -2245,6 +2245,11 @@ public class ConnectivityService extends IConnectivityManager.Stub final boolean wasDefault = isDefaultNetwork(nai); if (wasDefault) { mDefaultInetConditionPublished = 0; + // Log default network disconnection before required book-keeping. + // Let rematchAllNetworksAndRequests() below record a new default network event + // if there is a fallback. Taken together, the two form a X -> 0, 0 -> Y sequence + // whose timestamps tell how long it takes to recover a default network. + logDefaultNetworkEvent(null, nai); } notifyIfacesChangedForNetworkStats(); // TODO - we shouldn't send CALLBACK_LOST to requests that can be satisfied @@ -2278,10 +2283,6 @@ public class ConnectivityService extends IConnectivityManager.Stub } mLegacyTypeTracker.remove(nai, wasDefault); rematchAllNetworksAndRequests(null, 0); - if (wasDefault && getDefaultNetwork() == null) { - // Log that we lost the default network and there is no replacement. - logDefaultNetworkEvent(null, nai); - } if (nai.created) { // Tell netd to clean up the configuration for this network // (routing rules, DNS, etc). @@ -4066,7 +4067,8 @@ public class ConnectivityService extends IConnectivityManager.Stub synchronized(mRulesLock) { uidRules = mUidRules.get(uid, RULE_ALLOW_ALL); } - if ((uidRules & RULE_ALLOW_ALL) == 0) { + if (mRestrictBackground && (uidRules & RULE_ALLOW_METERED) == 0 + && (uidRules & RULE_TEMPORARY_ALLOW_METERED) == 0) { // we could silently fail or we can filter the available nets to only give // them those they have access to. Chose the more useful option. networkCapabilities.addCapability(NET_CAPABILITY_NOT_METERED); @@ -4583,7 +4585,7 @@ public class ConnectivityService extends IConnectivityManager.Stub teardownUnneededNetwork(oldNetwork); } - private void makeDefault(NetworkAgentInfo newNetwork, NetworkAgentInfo prevNetwork) { + private void makeDefault(NetworkAgentInfo newNetwork) { if (DBG) log("Switching to new default network: " + newNetwork); setupDataActivityTracking(newNetwork); try { @@ -4595,7 +4597,6 @@ public class ConnectivityService extends IConnectivityManager.Stub handleApplyDefaultProxy(newNetwork.linkProperties.getHttpProxy()); updateTcpBufferSizes(newNetwork); setDefaultDnsSystemProperties(newNetwork.linkProperties.getDnsServers()); - logDefaultNetworkEvent(newNetwork, prevNetwork); } // Handles a network appearing or improving its score. @@ -4746,7 +4747,9 @@ public class ConnectivityService extends IConnectivityManager.Stub } if (isNewDefault) { // Notify system services that this network is up. - makeDefault(newNetwork, oldDefaultNetwork); + makeDefault(newNetwork); + // Log 0 -> X and Y -> X default network transitions, where X is the new default. + logDefaultNetworkEvent(newNetwork, oldDefaultNetwork); synchronized (ConnectivityService.this) { // have a new default network, release the transition wakelock in // a second if it's held. The second pause is to allow apps diff --git a/services/core/java/com/android/server/LockSettingsService.java b/services/core/java/com/android/server/LockSettingsService.java index cec32291cb30..1d8bb6b4d48c 100644 --- a/services/core/java/com/android/server/LockSettingsService.java +++ b/services/core/java/com/android/server/LockSettingsService.java @@ -43,6 +43,7 @@ import static com.android.internal.widget.LockPatternUtils.StrongAuthTracker.STR import android.database.sqlite.SQLiteDatabase; import android.os.Binder; import android.os.Bundle; +import android.os.Handler; import android.os.IBinder; import android.os.IProgressListener; import android.os.Parcel; @@ -111,15 +112,15 @@ public class LockSettingsService extends ILockSettings.Stub { private static final int FBE_ENCRYPTED_NOTIFICATION = 0; private static final boolean DEBUG = false; - private static final String PROFILE_KEY_NAME_ENCRYPT = "profile_key_name_encrypt_"; - private static final String PROFILE_KEY_NAME_DECRYPT = "profile_key_name_decrypt_"; private static final int PROFILE_KEY_IV_SIZE = 12; private static final String SEPARATE_PROFILE_CHALLENGE_KEY = "lockscreen.profilechallenge"; private final Object mSeparateChallengeLock = new Object(); private final Context mContext; + private final Handler mHandler; private final LockSettingsStorage mStorage; private final LockSettingsStrongAuth mStrongAuth; + private final SynchronizedStrongAuthTracker mStrongAuthTracker; private LockPatternUtils mLockPatternUtils; private boolean mFirstCallToVold; @@ -177,6 +178,30 @@ public class LockSettingsService extends ILockSettings.Stub { } } + private class SynchronizedStrongAuthTracker extends LockPatternUtils.StrongAuthTracker { + public SynchronizedStrongAuthTracker(Context context) { + super(context); + } + + @Override + protected void handleStrongAuthRequiredChanged(int strongAuthFlags, int userId) { + synchronized (this) { + super.handleStrongAuthRequiredChanged(strongAuthFlags, userId); + } + } + + @Override + public int getStrongAuthForUser(int userId) { + synchronized (this) { + return super.getStrongAuthForUser(userId); + } + } + + void register() { + mStrongAuth.registerStrongAuthTracker(this.mStub); + } + } + /** * Tie managed profile to primary profile if it is in unified mode and not tied before. * @@ -219,6 +244,7 @@ public class LockSettingsService extends ILockSettings.Stub { public LockSettingsService(Context context) { mContext = context; + mHandler = new Handler(); mStrongAuth = new LockSettingsStrongAuth(context); // Open the database @@ -245,6 +271,9 @@ public class LockSettingsService extends ILockSettings.Stub { mNotificationManager = (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE); mUserManager = (UserManager) mContext.getSystemService(Context.USER_SERVICE); + mStrongAuthTracker = new SynchronizedStrongAuthTracker(mContext); + mStrongAuthTracker.register(); + } /** @@ -339,10 +368,20 @@ public class LockSettingsService extends ILockSettings.Stub { hideEncryptionNotification(new UserHandle(userId)); } - public void onUnlockUser(int userId) { + public void onUnlockUser(final int userId) { // Hide notification first, as tie managed profile lock takes time hideEncryptionNotification(new UserHandle(userId)); - tieManagedProfileLockIfNecessary(userId, null); + + if (mUserManager.getUserInfo(userId).isManagedProfile()) { + // As tieManagedProfileLockIfNecessary() may try to unlock user, we should not do it + // in onUnlockUser() synchronously, otherwise it may cause a deadlock + mHandler.post(new Runnable() { + @Override + public void run() { + tieManagedProfileLockIfNecessary(userId, null); + } + }); + } // Now we have unlocked the parent user we should show notifications // about any profiles that exist. @@ -659,7 +698,7 @@ public class LockSettingsService extends ILockSettings.Stub { java.security.KeyStore keyStore = java.security.KeyStore.getInstance("AndroidKeyStore"); keyStore.load(null); SecretKey decryptionKey = (SecretKey) keyStore.getKey( - PROFILE_KEY_NAME_DECRYPT + userId, null); + LockPatternUtils.PROFILE_KEY_NAME_DECRYPT + userId, null); Cipher cipher = Cipher.getInstance(KeyProperties.KEY_ALGORITHM_AES + "/" + KeyProperties.BLOCK_MODE_GCM + "/" + KeyProperties.ENCRYPTION_PADDING_NONE); @@ -706,12 +745,6 @@ public class LockSettingsService extends ILockSettings.Stub { } }; - // Turn off quite mode if it's enabled, only managed profile can return true for now, it - // will return false if it is not a managed profile. - if (mUserManager.isQuietModeEnabled(new UserHandle(userId))) { - mUserManager.setQuietModeEnabled(userId, false); - } - try { ActivityManagerNative.getDefault().unlockUser(userId, token, secret, listener); } catch (RemoteException e) { @@ -730,7 +763,6 @@ public class LockSettingsService extends ILockSettings.Stub { // Unlock managed profile with unified lock if (pi.isManagedProfile() && !mLockPatternUtils.isSeparateProfileChallengeEnabled(pi.id) - && !pi.isQuietModeEnabled() && mStorage.hasChildProfileLock(pi.id)) { unlockChildProfile(pi.id); } @@ -948,14 +980,14 @@ public class LockSettingsService extends ILockSettings.Stub { java.security.KeyStore keyStore = java.security.KeyStore.getInstance("AndroidKeyStore"); keyStore.load(null); keyStore.setEntry( - PROFILE_KEY_NAME_ENCRYPT + userId, + LockPatternUtils.PROFILE_KEY_NAME_ENCRYPT + userId, new java.security.KeyStore.SecretKeyEntry(secretKey), new KeyProtection.Builder(KeyProperties.PURPOSE_ENCRYPT) .setBlockModes(KeyProperties.BLOCK_MODE_GCM) .setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_NONE) .build()); keyStore.setEntry( - PROFILE_KEY_NAME_DECRYPT + userId, + LockPatternUtils.PROFILE_KEY_NAME_DECRYPT + userId, new java.security.KeyStore.SecretKeyEntry(secretKey), new KeyProtection.Builder(KeyProperties.PURPOSE_DECRYPT) .setBlockModes(KeyProperties.BLOCK_MODE_GCM) @@ -966,7 +998,7 @@ public class LockSettingsService extends ILockSettings.Stub { // Key imported, obtain a reference to it. SecretKey keyStoreEncryptionKey = (SecretKey) keyStore.getKey( - PROFILE_KEY_NAME_ENCRYPT + userId, null); + LockPatternUtils.PROFILE_KEY_NAME_ENCRYPT + userId, null); // The original key can now be discarded. Cipher cipher = Cipher.getInstance( @@ -1365,8 +1397,8 @@ public class LockSettingsService extends ILockSettings.Stub { try { java.security.KeyStore keyStore = java.security.KeyStore.getInstance("AndroidKeyStore"); keyStore.load(null); - keyStore.deleteEntry(PROFILE_KEY_NAME_ENCRYPT + targetUserId); - keyStore.deleteEntry(PROFILE_KEY_NAME_DECRYPT + targetUserId); + keyStore.deleteEntry(LockPatternUtils.PROFILE_KEY_NAME_ENCRYPT + targetUserId); + keyStore.deleteEntry(LockPatternUtils.PROFILE_KEY_NAME_DECRYPT + targetUserId); } catch (KeyStoreException | NoSuchAlgorithmException | CertificateException | IOException e) { // We have tried our best to remove all keys @@ -1398,6 +1430,12 @@ public class LockSettingsService extends ILockSettings.Stub { mStrongAuth.reportUnlock(userId); } + @Override + public int getStrongAuthForUser(int userId) { + checkPasswordReadPermission(userId); + return mStrongAuthTracker.getStrongAuthForUser(userId); + } + private static final String[] VALID_SETTINGS = new String[] { LockPatternUtils.LOCKOUT_PERMANENT_KEY, LockPatternUtils.LOCKOUT_ATTEMPT_DEADLINE, diff --git a/services/core/java/com/android/server/VibratorService.java b/services/core/java/com/android/server/VibratorService.java index 5ba07cf2c8a6..4db60d536bdd 100644 --- a/services/core/java/com/android/server/VibratorService.java +++ b/services/core/java/com/android/server/VibratorService.java @@ -24,6 +24,7 @@ import android.content.IntentFilter; import android.content.pm.PackageManager; import android.database.ContentObserver; import android.hardware.input.InputManager; +import android.media.AudioManager; import android.os.BatteryStats; import android.os.Handler; import android.os.IVibratorService; @@ -454,9 +455,8 @@ public class VibratorService extends IVibratorService.Stub return; } - if (vib.mUsageHint == AudioAttributes.USAGE_NOTIFICATION_RINGTONE - && Settings.System.getInt( - mContext.getContentResolver(), Settings.System.VIBRATE_WHEN_RINGING, 0) == 0) { + if (vib.mUsageHint == AudioAttributes.USAGE_NOTIFICATION_RINGTONE && + !shouldVibrateForRingtone()) { return; } @@ -486,6 +486,18 @@ public class VibratorService extends IVibratorService.Stub } } + private boolean shouldVibrateForRingtone() { + AudioManager audioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE); + int ringerMode = audioManager.getRingerMode(); + // "Also vibrate for calls" Setting in Sound + if (Settings.System.getInt( + mContext.getContentResolver(), Settings.System.VIBRATE_WHEN_RINGING, 0) != 0) { + return ringerMode != AudioManager.RINGER_MODE_SILENT; + } else { + return ringerMode == AudioManager.RINGER_MODE_VIBRATE; + } + } + private void reportFinishVibrationLocked() { if (mCurrentVibration != null) { try { diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index dec5e4184bff..a8a8553c9d3f 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -201,6 +201,7 @@ import android.service.voice.VoiceInteractionManagerInternal; import android.service.voice.VoiceInteractionSession; import android.text.format.DateUtils; import android.text.format.Time; +import android.text.style.SuggestionSpan; import android.util.ArrayMap; import android.util.ArraySet; import android.util.AtomicFile; @@ -272,6 +273,7 @@ import static android.content.pm.PackageManager.MATCH_DIRECT_BOOT_UNAWARE; import static android.content.pm.PackageManager.MATCH_SYSTEM_ONLY; import static android.content.pm.PackageManager.MATCH_UNINSTALLED_PACKAGES; import static android.content.pm.PackageManager.PERMISSION_GRANTED; +import static android.content.res.Configuration.UI_MODE_TYPE_TELEVISION; import static android.provider.Settings.Global.ALWAYS_FINISH_ACTIVITIES; import static android.provider.Settings.Global.DEBUG_APP; import static android.provider.Settings.Global.DEVELOPMENT_ENABLE_FREEFORM_WINDOWS_SUPPORT; @@ -628,6 +630,30 @@ public final class ActivityManagerService extends ActivityManagerNative return mShowDialogs && !mSleeping && !mShuttingDown; } + // it's a semaphore; boost when 0->1, reset when 1->0 + static ThreadLocal<Integer> sIsBoosted = new ThreadLocal<Integer>() { + @Override protected Integer initialValue() { + return 0; + } + }; + + static void boostPriorityForLockedSection() { + if (sIsBoosted.get() == 0) { + // boost to prio 118 while holding a global lock + Process.setThreadPriority(Process.myTid(), -2); + //Log.e(TAG, "PRIORITY BOOST: set priority on TID " + Process.myTid()); + } + int cur = sIsBoosted.get(); + sIsBoosted.set(cur + 1); + } + + static void resetPriorityAfterLockedSection() { + sIsBoosted.set(sIsBoosted.get() - 1); + if (sIsBoosted.get() == 0) { + //Log.e(TAG, "PRIORITY BOOST: reset priority on TID " + Process.myTid()); + Process.setThreadPriority(Process.myTid(), 0); + } + } public class PendingAssistExtras extends Binder implements Runnable { public final ActivityRecord activity; public final Bundle extras; @@ -12798,12 +12824,18 @@ public final class ActivityManagerService extends ActivityManagerNative com.android.internal.R.dimen.thumbnail_width); mThumbnailHeight = res.getDimensionPixelSize( com.android.internal.R.dimen.thumbnail_height); - mFullscreenThumbnailScale = res.getFraction( - com.android.internal.R.fraction.thumbnail_fullscreen_scale, 1, 1); mDefaultPinnedStackBounds = Rect.unflattenFromString(res.getString( com.android.internal.R.string.config_defaultPictureInPictureBounds)); mAppErrors.loadAppsNotReportingCrashesFromConfigLocked(res.getString( com.android.internal.R.string.config_appsNotReportingCrashes)); + if ((mConfiguration.uiMode & UI_MODE_TYPE_TELEVISION) == UI_MODE_TYPE_TELEVISION) { + mFullscreenThumbnailScale = (float) res + .getInteger(com.android.internal.R.integer.thumbnail_width_tv) / + (float) mConfiguration.screenWidthDp; + } else { + mFullscreenThumbnailScale = res.getFraction( + com.android.internal.R.fraction.thumbnail_fullscreen_scale, 1, 1); + } } } @@ -16832,6 +16864,13 @@ public final class ActivityManagerService extends ActivityManagerNative return false; } + // If the app is a regular app (uid >= 10000) and not the system server or phone + // process, etc, then mark it as being in full backup so that certain calls to the + // process can be blocked. This is not reset to false anywhere because we kill the + // process after the full backup is done and the ProcessRecord will vaporize anyway. + if (UserHandle.isApp(app.uid) && backupMode == IApplicationThread.BACKUP_MODE_FULL) { + proc.inFullBackup = true; + } r.app = proc; mBackupTarget = r; mBackupAppName = app.packageName; @@ -17359,15 +17398,24 @@ public final class ActivityManagerService extends ActivityManagerNative || AppWidgetManager.ACTION_APPWIDGET_CONFIGURE.equals(action) || AppWidgetManager.ACTION_APPWIDGET_UPDATE.equals(action) || LocationManager.HIGH_POWER_REQUEST_CHANGE_ACTION.equals(action) - || TelephonyIntents.ACTION_REQUEST_OMADM_CONFIGURATION_UPDATE.equals(action)) { + || TelephonyIntents.ACTION_REQUEST_OMADM_CONFIGURATION_UPDATE.equals(action) + || SuggestionSpan.ACTION_SUGGESTION_PICKED.equals(action)) { // Broadcast is either protected, or it's a public action that // we've relaxed, so it's fine for system internals to send. } else { // The vast majority of broadcasts sent from system internals // should be protected to avoid security holes, so yell loudly // to ensure we examine these cases. - Log.wtf(TAG, "Sending non-protected broadcast " + action - + " from system", new Throwable()); + if (callerApp != null) { + Log.wtf(TAG, "Sending non-protected broadcast " + action + + " from system " + callerApp.toShortString() + " pkg " + callerPackage, + new Throwable()); + } else { + Log.wtf(TAG, "Sending non-protected broadcast " + action + + " from system uid " + UserHandle.formatUid(callingUid) + + " pkg " + callerPackage, + new Throwable()); + } } } else { @@ -18294,21 +18342,21 @@ public final class ActivityManagerService extends ActivityManagerNative EventLog.writeEvent(EventLogTags.CONFIGURATION_CHANGED, changes); if (!initLocale && !values.getLocales().isEmpty() && values.userSetLocale) { - final Locale locale; - if (values.getLocales().size() == 1) { - // This is an optimization to avoid the JNI call when the result of - // getFirstMatch() does not depend on the supported locales. - locale = values.getLocales().get(0); - } else { + final LocaleList locales = values.getLocales(); + int bestLocaleIndex = 0; + if (locales.size() > 1) { if (mSupportedSystemLocales == null) { mSupportedSystemLocales = Resources.getSystem().getAssets().getLocales(); } - locale = values.getLocales().getFirstMatch(mSupportedSystemLocales); + bestLocaleIndex = Math.max(0, + locales.getFirstMatchIndex(mSupportedSystemLocales)); } - SystemProperties.set("persist.sys.locale", locale.toLanguageTag()); + SystemProperties.set("persist.sys.locale", + locales.get(bestLocaleIndex).toLanguageTag()); + LocaleList.setDefault(locales, bestLocaleIndex); mHandler.sendMessage(mHandler.obtainMessage(SEND_LOCALE_TO_MOUNT_DAEMON_MSG, - locale)); + locales.get(bestLocaleIndex))); } mConfigurationSeq++; diff --git a/services/core/java/com/android/server/am/ActivityStack.java b/services/core/java/com/android/server/am/ActivityStack.java index 3811b616a7f2..8b637e0ae44d 100644 --- a/services/core/java/com/android/server/am/ActivityStack.java +++ b/services/core/java/com/android/server/am/ActivityStack.java @@ -1819,22 +1819,24 @@ final class ActivityStack { private boolean shouldBeVisible(ActivityRecord r, boolean behindTranslucentActivity, boolean stackVisibleBehind, ActivityRecord visibleBehind, boolean behindFullscreenActivity) { - // mLaunchingBehind: Activities launching behind are at the back of the task stack - // but must be drawn initially for the animation as though they were visible. - final boolean activityVisibleBehind = - (behindTranslucentActivity || stackVisibleBehind) && visibleBehind == r; if (!okToShowLocked(r)) { return false; } + // mLaunchingBehind: Activities launching behind are at the back of the task stack + // but must be drawn initially for the animation as though they were visible. + final boolean activityVisibleBehind = + (behindTranslucentActivity || stackVisibleBehind) && visibleBehind == r; + boolean isVisible = !behindFullscreenActivity || r.mLaunchTaskBehind || activityVisibleBehind; if (isVisible && r.isRecentsActivity()) { - // Recents activity can only be visible if the home stack isn't fullscreen or is the - // focused stack. - isVisible = !mFullscreen || mStackSupervisor.isFocusedStack(this); + // Recents activity can only be visible if the home stack is the focused stack or we are + // in split-screen mode. + isVisible = mStackSupervisor.getStack(DOCKED_STACK_ID) != null + || mStackSupervisor.isFocusedStack(this); } return isVisible; @@ -2256,6 +2258,20 @@ final class ActivityStack { } if (DEBUG_STACK) mStackSupervisor.validateTopActivitiesLocked(); return true; + } else if (mResumedActivity == next && next.state == ActivityState.RESUMED && + mStackSupervisor.allResumedActivitiesComplete()) { + // It is possible for the activity to be resumed when we paused back stacks above if the + // next activity doesn't have to wait for pause to complete. + // So, nothing else to-do except: + // Make sure we have executed any pending transitions, since there + // should be nothing left to do at this point. + mWindowManager.executeAppTransition(); + mNoAnimActivities.clear(); + ActivityOptions.abort(options); + if (DEBUG_STATES) Slog.d(TAG_STATES, + "resumeTopActivityLocked: Top activity resumed (dontWaitForPause) " + next); + if (DEBUG_STACK) mStackSupervisor.validateTopActivitiesLocked(); + return true; } // If the most recent activity was noHistory but was only stopped rather diff --git a/services/core/java/com/android/server/am/ActivityStarter.java b/services/core/java/com/android/server/am/ActivityStarter.java index ad57ae2cecb3..dc4d7b1d8a05 100644 --- a/services/core/java/com/android/server/am/ActivityStarter.java +++ b/services/core/java/com/android/server/am/ActivityStarter.java @@ -1396,11 +1396,18 @@ class ActivityStarter { final TaskRecord task = mSupervisor.anyTaskForIdLocked(mOptions.getLaunchTaskId()); intentActivity = task != null ? task.getTopActivity() : null; } else if (putIntoExistingTask) { - // See if there is a task to bring to the front. If this is a SINGLE_INSTANCE - // activity, there can be one and only one instance of it in the history, and it is - // always in its own unique task, so we do a special search. - intentActivity = mLaunchSingleInstance ? mSupervisor.findActivityLocked(mIntent, mStartActivity.info) - : mSupervisor.findTaskLocked(mStartActivity); + if (mLaunchSingleInstance) { + // There can be one and only one instance of single instance activity in the + // history, and it is always in its own unique task, so we do a special search. + intentActivity = mSupervisor.findActivityLocked(mIntent, mStartActivity.info); + } else if ((mLaunchFlags & FLAG_ACTIVITY_LAUNCH_ADJACENT) != 0) { + // For the launch adjacent case we only want to put the activity in an existing + // task if the activity already exists in the history. + intentActivity = mSupervisor.findActivityLocked(mIntent, mStartActivity.info); + } else { + // Otherwise find the best task to put the activity in. + intentActivity = mSupervisor.findTaskLocked(mStartActivity); + } } return intentActivity; } diff --git a/services/core/java/com/android/server/am/BroadcastQueue.java b/services/core/java/com/android/server/am/BroadcastQueue.java index 0acc2a07e153..8ffc6f321c3e 100644 --- a/services/core/java/com/android/server/am/BroadcastQueue.java +++ b/services/core/java/com/android/server/am/BroadcastQueue.java @@ -258,6 +258,11 @@ public final class BroadcastQueue { if (app.thread == null) { throw new RemoteException(); } + if (app.inFullBackup) { + skipReceiverLocked(r); + return; + } + r.receiver = app.thread.asBinder(); r.curApp = app; app.curReceiver = r; @@ -341,13 +346,17 @@ public final class BroadcastQueue { } if (r != null) { - logBroadcastReceiverDiscardLocked(r); - finishReceiverLocked(r, r.resultCode, r.resultData, - r.resultExtras, r.resultAbort, false); - scheduleBroadcastsLocked(); + skipReceiverLocked(r); } } + private void skipReceiverLocked(BroadcastRecord r) { + logBroadcastReceiverDiscardLocked(r); + finishReceiverLocked(r, r.resultCode, r.resultData, + r.resultExtras, r.resultAbort, false); + scheduleBroadcastsLocked(); + } + public void scheduleBroadcastsLocked() { if (DEBUG_BROADCAST) Slog.v(TAG_BROADCAST, "Schedule broadcasts [" + mQueueName + "]: current=" @@ -641,9 +650,17 @@ public final class BroadcastQueue { try { if (DEBUG_BROADCAST_LIGHT) Slog.i(TAG_BROADCAST, "Delivering to " + filter + " : " + r); - performReceiveLocked(filter.receiverList.app, filter.receiverList.receiver, - new Intent(r.intent), r.resultCode, r.resultData, - r.resultExtras, r.ordered, r.initialSticky, r.userId); + if (filter.receiverList.app != null && filter.receiverList.app.inFullBackup) { + // Skip delivery if full backup in progress + // If it's an ordered broadcast, we need to continue to the next receiver. + if (ordered) { + skipReceiverLocked(r); + } + } else { + performReceiveLocked(filter.receiverList.app, filter.receiverList.receiver, + new Intent(r.intent), r.resultCode, r.resultData, + r.resultExtras, r.ordered, r.initialSticky, r.userId); + } if (ordered) { r.state = BroadcastRecord.CALL_DONE_RECEIVE; } diff --git a/services/core/java/com/android/server/am/ProcessRecord.java b/services/core/java/com/android/server/am/ProcessRecord.java index 059acbd4190f..da18f32787bd 100644 --- a/services/core/java/com/android/server/am/ProcessRecord.java +++ b/services/core/java/com/android/server/am/ProcessRecord.java @@ -192,6 +192,9 @@ final class ProcessRecord { // app that installed the package. ComponentName errorReportReceiver; + // Process is currently hosting a backup agent for backup or restore + public boolean inFullBackup; + void dump(PrintWriter pw, String prefix) { final long now = SystemClock.uptimeMillis(); diff --git a/services/core/java/com/android/server/am/UserController.java b/services/core/java/com/android/server/am/UserController.java index 595d086abf35..67f96d888e3b 100644 --- a/services/core/java/com/android/server/am/UserController.java +++ b/services/core/java/com/android/server/am/UserController.java @@ -938,28 +938,26 @@ final class UserController { boolean unlockUserCleared(final int userId, byte[] token, byte[] secret, IProgressListener listener) { synchronized (mService) { - // Bail if user isn't actually running, otherwise register the given - // listener to watch for unlock progress - final UserState uss = mStartedUsers.get(userId); - if (uss == null) { - notifyFinished(userId, listener); - return false; - } else { - uss.mUnlockProgress.addListener(listener); - } - // TODO Move this block outside of synchronized if it causes lock contention if (!StorageManager.isUserKeyUnlocked(userId)) { final UserInfo userInfo = getUserInfo(userId); final IMountService mountService = getMountService(); try { + // We always want to unlock user storage, even user is not started yet mountService.unlockUserKey(userId, userInfo.serialNumber, token, secret); } catch (RemoteException | RuntimeException e) { Slog.w(TAG, "Failed to unlock: " + e.getMessage()); - notifyFinished(userId, listener); - return false; } } + // Bail if user isn't actually running, otherwise register the given + // listener to watch for unlock progress + final UserState uss = mStartedUsers.get(userId); + if (uss == null) { + notifyFinished(userId, listener); + return false; + } else { + uss.mUnlockProgress.addListener(listener); + } finishUserUnlocking(uss); diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java index 0874fa7a58e5..7777ae23ff29 100644 --- a/services/core/java/com/android/server/audio/AudioService.java +++ b/services/core/java/com/android/server/audio/AudioService.java @@ -6342,7 +6342,7 @@ public class AudioService extends IAudioService.Stub { mRecordMonitor.unregisterRecordingCallback(rcdb); } - public AudioRecordingConfiguration[] getActiveRecordingConfigurations() { + public List<AudioRecordingConfiguration> getActiveRecordingConfigurations() { return mRecordMonitor.getActiveRecordingConfigurations(); } diff --git a/services/core/java/com/android/server/audio/RecordingActivityMonitor.java b/services/core/java/com/android/server/audio/RecordingActivityMonitor.java index 7a085e143599..57d55de8d002 100644 --- a/services/core/java/com/android/server/audio/RecordingActivityMonitor.java +++ b/services/core/java/com/android/server/audio/RecordingActivityMonitor.java @@ -29,6 +29,7 @@ import android.util.Log; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; +import java.util.List; /** * Class to receive and dispatch updates from AudioSystem about recording configurations. @@ -54,7 +55,7 @@ public final class RecordingActivityMonitor implements AudioSystem.AudioRecordin if (MediaRecorder.isSystemOnlyAudioSource(source)) { return; } - final AudioRecordingConfiguration[] configs = + final List<AudioRecordingConfiguration> configs = updateSnapshot(event, session, source, recordingInfo); if (configs != null){ synchronized(mClients) { @@ -104,9 +105,9 @@ public final class RecordingActivityMonitor implements AudioSystem.AudioRecordin } } - AudioRecordingConfiguration[] getActiveRecordingConfigurations() { + List<AudioRecordingConfiguration> getActiveRecordingConfigurations() { synchronized(mRecordConfigs) { - return mRecordConfigs.values().toArray(new AudioRecordingConfiguration[0]); + return new ArrayList<AudioRecordingConfiguration>(mRecordConfigs.values()); } } @@ -118,13 +119,13 @@ public final class RecordingActivityMonitor implements AudioSystem.AudioRecordin * @param recordingFormat see * {@link AudioSystem.AudioRecordingCallback#onRecordingConfigurationChanged(int, int, int, int[])} * for the definition of the contents of the array - * @return null if the list of active recording sessions has not been modified, an array + * @return null if the list of active recording sessions has not been modified, a list * with the current active configurations otherwise. */ - private AudioRecordingConfiguration[] updateSnapshot(int event, int session, int source, + private List<AudioRecordingConfiguration> updateSnapshot(int event, int session, int source, int[] recordingInfo) { final boolean configChanged; - final AudioRecordingConfiguration[] configs; + final ArrayList<AudioRecordingConfiguration> configs; synchronized(mRecordConfigs) { switch (event) { case AudioManager.RECORD_CONFIG_EVENT_STOP: @@ -171,7 +172,7 @@ public final class RecordingActivityMonitor implements AudioSystem.AudioRecordin configChanged = false; } if (configChanged) { - configs = mRecordConfigs.values().toArray(new AudioRecordingConfiguration[0]); + configs = new ArrayList<AudioRecordingConfiguration>(mRecordConfigs.values()); } else { configs = null; } diff --git a/services/core/java/com/android/server/connectivity/DnsEventListenerService.java b/services/core/java/com/android/server/connectivity/DnsEventListenerService.java index d3f8af045395..18ab73100b81 100644 --- a/services/core/java/com/android/server/connectivity/DnsEventListenerService.java +++ b/services/core/java/com/android/server/connectivity/DnsEventListenerService.java @@ -78,9 +78,11 @@ public class DnsEventListenerService extends IDnsEventListener.Stub { return; } + // Only log as many events as we actually have. + byte[] eventTypes = Arrays.copyOf(mEventTypes, mEventCount); byte[] returnCodes = Arrays.copyOf(mReturnCodes, mEventCount); int[] latenciesMs = Arrays.copyOf(mLatenciesMs, mEventCount); - DnsEvent.logEvent(mNetId, mEventTypes, mReturnCodes, mLatenciesMs); + DnsEvent.logEvent(mNetId, eventTypes, returnCodes, latenciesMs); maybeLog(String.format("Logging %d results for netId %d", mEventCount, mNetId)); mEventCount = 0; } diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java index fe6ecbd0a770..946e4f7e7067 100644 --- a/services/core/java/com/android/server/notification/NotificationManagerService.java +++ b/services/core/java/com/android/server/notification/NotificationManagerService.java @@ -92,6 +92,7 @@ import android.os.Looper; import android.os.Message; import android.os.Process; import android.os.RemoteException; +import android.os.SystemClock; import android.os.SystemProperties; import android.os.UserHandle; import android.os.UserManager; @@ -174,6 +175,7 @@ public class NotificationManagerService extends SystemService { = SystemProperties.getBoolean("debug.child_notifs", true); static final int MAX_PACKAGE_NOTIFICATIONS = 50; + static final float MAX_PACKAGE_ENQUEUE_RATE = 50f; // message codes static final int MESSAGE_TIMEOUT = 2; @@ -216,6 +218,7 @@ public class NotificationManagerService extends SystemService { /** notification_enqueue status value for an ignored notification. */ private static final int EVENTLOG_ENQUEUE_STATUS_IGNORED = 2; + private static final long MIN_PACKAGE_OVERRATE_LOG_INTERVAL = 5000; // milliseconds private String mRankerServicePackageName; private IActivityManager mAm; @@ -295,6 +298,7 @@ public class NotificationManagerService extends SystemService { private static final int MY_UID = Process.myUid(); private static final int MY_PID = Process.myPid(); private RankingHandler mRankingHandler; + private long mLastOverRateLogTime; private static class Archive { final int mBufferSize; @@ -2248,6 +2252,7 @@ public class NotificationManagerService extends SystemService { .setGroup(newAutoBundleKey) .setFlag(Notification.FLAG_AUTOGROUP_SUMMARY, true) .setFlag(Notification.FLAG_GROUP_SUMMARY, true) + .setColor(adjustedSbn.getNotification().color) .build(); summaryNotification.extras.putAll(extras); Intent appIntent = getContext().getPackageManager() @@ -2500,6 +2505,18 @@ public class NotificationManagerService extends SystemService { // package or a registered listener can enqueue. Prevents DOS attacks and deals with leaks. if (!isSystemNotification && !isNotificationFromListener) { synchronized (mNotificationList) { + final float appEnqueueRate = mUsageStats.getAppEnqueueRate(pkg); + if (appEnqueueRate > MAX_PACKAGE_ENQUEUE_RATE) { + mUsageStats.registerOverRateQuota(pkg); + final long now = SystemClock.elapsedRealtime(); + if ((now - mLastOverRateLogTime) > MIN_PACKAGE_OVERRATE_LOG_INTERVAL) { + Slog.e(TAG, "Package enqueue rate is " + appEnqueueRate + + ". Shedding events. package=" + pkg); + mLastOverRateLogTime = now; + } + return; + } + int count = 0; final int N = mNotificationList.size(); for (int i=0; i<N; i++) { @@ -2510,6 +2527,7 @@ public class NotificationManagerService extends SystemService { } count++; if (count >= MAX_PACKAGE_NOTIFICATIONS) { + mUsageStats.registerOverCountQuota(pkg); Slog.e(TAG, "Package has already posted " + count + " notifications. Not showing more. package=" + pkg); return; diff --git a/services/core/java/com/android/server/notification/NotificationUsageStats.java b/services/core/java/com/android/server/notification/NotificationUsageStats.java index b853417ac0b3..7b573da482e3 100644 --- a/services/core/java/com/android/server/notification/NotificationUsageStats.java +++ b/services/core/java/com/android/server/notification/NotificationUsageStats.java @@ -29,6 +29,7 @@ import android.os.HandlerThread; import android.os.Message; import android.os.SystemClock; import android.text.TextUtils; +import android.util.ArraySet; import android.util.Log; import com.android.internal.logging.MetricsLogger; @@ -74,6 +75,7 @@ public class NotificationUsageStats { // Guarded by synchronized(this). private final Map<String, AggregatedStats> mStats = new HashMap<>(); private final ArrayDeque<AggregatedStats[]> mStatsArrays = new ArrayDeque<>(); + private ArraySet<String> mStatExpiredkeys = new ArraySet<>(); private final SQLiteLog mSQLiteLog; private final Context mContext; private final Handler mHandler; @@ -102,12 +104,26 @@ public class NotificationUsageStats { /** * Called when a notification has been posted. */ + public synchronized float getAppEnqueueRate(String packageName) { + AggregatedStats stats = getOrCreateAggregatedStatsLocked(packageName); + if (stats != null) { + return stats.getEnqueueRate(SystemClock.elapsedRealtime()); + } else { + return 0f; + } + } + + /** + * Called when a notification has been posted. + */ public synchronized void registerPostedByApp(NotificationRecord notification) { - notification.stats.posttimeElapsedMs = SystemClock.elapsedRealtime(); + final long now = SystemClock.elapsedRealtime(); + notification.stats.posttimeElapsedMs = now; AggregatedStats[] aggregatedStatsArray = getAggregatedStatsLocked(notification); for (AggregatedStats stats : aggregatedStatsArray) { stats.numPostedByApp++; + stats.updateInterarrivalEstimate(now); stats.countApiUse(notification); } releaseAggregatedStatsLocked(aggregatedStatsArray); @@ -124,6 +140,7 @@ public class NotificationUsageStats { AggregatedStats[] aggregatedStatsArray = getAggregatedStatsLocked(notification); for (AggregatedStats stats : aggregatedStatsArray) { stats.numUpdatedByApp++; + stats.updateInterarrivalEstimate(SystemClock.elapsedRealtime()); stats.countApiUse(notification); } releaseAggregatedStatsLocked(aggregatedStatsArray); @@ -206,18 +223,37 @@ public class NotificationUsageStats { releaseAggregatedStatsLocked(aggregatedStatsArray); } + public synchronized void registerOverRateQuota(String packageName) { + AggregatedStats[] aggregatedStatsArray = getAggregatedStatsLocked(packageName); + for (AggregatedStats stats : aggregatedStatsArray) { + stats.numRateViolations++; + } + } + + public synchronized void registerOverCountQuota(String packageName) { + AggregatedStats[] aggregatedStatsArray = getAggregatedStatsLocked(packageName); + for (AggregatedStats stats : aggregatedStatsArray) { + stats.numQuotaViolations++; + } + } + // Locked by this. private AggregatedStats[] getAggregatedStatsLocked(NotificationRecord record) { + return getAggregatedStatsLocked(record.sbn.getPackageName()); + } + + // Locked by this. + private AggregatedStats[] getAggregatedStatsLocked(String packageName) { if (!ENABLE_AGGREGATED_IN_MEMORY_STATS) { return EMPTY_AGGREGATED_STATS; } - // TODO: expand to package-level counts in the future. AggregatedStats[] array = mStatsArrays.poll(); if (array == null) { - array = new AggregatedStats[1]; + array = new AggregatedStats[2]; } array[0] = getOrCreateAggregatedStatsLocked(DEVICE_GLOBAL_STATS); + array[1] = getOrCreateAggregatedStatsLocked(packageName); return array; } @@ -236,6 +272,7 @@ public class NotificationUsageStats { result = new AggregatedStats(mContext, key); mStats.put(key, result); } + result.mLastAccessTime = SystemClock.elapsedRealtime(); return result; } @@ -272,6 +309,7 @@ public class NotificationUsageStats { as.dump(pw, indent); } pw.println(indent + "mStatsArrays.size(): " + mStatsArrays.size()); + pw.println(indent + "mStats.size(): " + mStats.size()); } if (ENABLE_SQLITE_LOG) { mSQLiteLog.dump(pw, indent, filter); @@ -279,12 +317,20 @@ public class NotificationUsageStats { } public synchronized void emit() { - // TODO: expand to package-level counts in the future. AggregatedStats stats = getOrCreateAggregatedStatsLocked(DEVICE_GLOBAL_STATS); stats.emit(); - mLastEmitTime = SystemClock.elapsedRealtime(); mHandler.removeMessages(MSG_EMIT); mHandler.sendEmptyMessageDelayed(MSG_EMIT, EMIT_PERIOD); + for(String key: mStats.keySet()) { + if (mStats.get(key).mLastAccessTime < mLastEmitTime) { + mStatExpiredkeys.add(key); + } + } + for(String key: mStatExpiredkeys) { + mStats.remove(key); + } + mStatExpiredkeys.clear(); + mLastEmitTime = SystemClock.elapsedRealtime(); } /** @@ -326,6 +372,10 @@ public class NotificationUsageStats { public ImportanceHistogram noisyImportance; public ImportanceHistogram quietImportance; public ImportanceHistogram finalImportance; + public RateEstimator enqueueRate; + public int numRateViolations; + public int numQuotaViolations; + public long mLastAccessTime; public AggregatedStats(Context context, String key) { this.key = key; @@ -334,6 +384,7 @@ public class NotificationUsageStats { noisyImportance = new ImportanceHistogram(context, "note_imp_noisy_"); quietImportance = new ImportanceHistogram(context, "note_imp_quiet_"); finalImportance = new ImportanceHistogram(context, "note_importance_"); + enqueueRate = new RateEstimator(); } public AggregatedStats getPrevious() { @@ -444,6 +495,8 @@ public class NotificationUsageStats { maybeCount("note_text", (numWithText - previous.numWithText)); maybeCount("note_sub_text", (numWithSubText - previous.numWithSubText)); maybeCount("note_info_text", (numWithInfoText - previous.numWithInfoText)); + maybeCount("note_over_rate", (numRateViolations - previous.numRateViolations)); + maybeCount("note_over_quota", (numQuotaViolations - previous.numQuotaViolations)); noisyImportance.maybeCount(previous.noisyImportance); quietImportance.maybeCount(previous.quietImportance); finalImportance.maybeCount(previous.finalImportance); @@ -473,6 +526,8 @@ public class NotificationUsageStats { previous.numWithText = numWithText; previous.numWithSubText = numWithSubText; previous.numWithInfoText = numWithInfoText; + previous.numRateViolations = numRateViolations; + previous.numQuotaViolations = numQuotaViolations; noisyImportance.update(previous.noisyImportance); quietImportance.update(previous.quietImportance); finalImportance.update(previous.finalImportance); @@ -493,6 +548,19 @@ public class NotificationUsageStats { return toStringWithIndent(""); } + /** @return the enqueue rate if there were a new enqueue event right now. */ + public float getEnqueueRate() { + return getEnqueueRate(SystemClock.elapsedRealtime()); + } + + public float getEnqueueRate(long now) { + return enqueueRate.getRate(now); + } + + public void updateInterarrivalEstimate(long now) { + enqueueRate.update(now); + } + private String toStringWithIndent(String indent) { StringBuilder output = new StringBuilder(); output.append(indent).append("AggregatedStats{\n"); @@ -549,6 +617,8 @@ public class NotificationUsageStats { output.append("numWithSubText=").append(numWithSubText).append("\n"); output.append(indentPlusTwo); output.append("numWithInfoText=").append(numWithInfoText).append("\n"); + output.append("numRateViolations=").append(numRateViolations).append("\n"); + output.append("numQuotaViolations=").append(numQuotaViolations).append("\n"); output.append(indentPlusTwo).append(noisyImportance.toString()).append("\n"); output.append(indentPlusTwo).append(quietImportance.toString()).append("\n"); output.append(indentPlusTwo).append(finalImportance.toString()).append("\n"); @@ -586,6 +656,9 @@ public class NotificationUsageStats { maybePut(dump, "numWithText", numWithText); maybePut(dump, "numWithSubText", numWithSubText); maybePut(dump, "numWithInfoText", numWithInfoText); + maybePut(dump, "numRateViolations", numRateViolations); + maybePut(dump, "numQuotaLViolations", numQuotaViolations); + maybePut(dump, "notificationEnqueueRate", getEnqueueRate()); noisyImportance.maybePut(dump, previous.noisyImportance); quietImportance.maybePut(dump, previous.quietImportance); finalImportance.maybePut(dump, previous.finalImportance); @@ -598,6 +671,12 @@ public class NotificationUsageStats { dump.put(name, value); } } + + private void maybePut(JSONObject dump, String name, float value) throws JSONException { + if (value > 0.0) { + dump.put(name, value); + } + } } private static class ImportanceHistogram { diff --git a/services/core/java/com/android/server/notification/RateEstimator.java b/services/core/java/com/android/server/notification/RateEstimator.java new file mode 100644 index 000000000000..c17db4acf3cd --- /dev/null +++ b/services/core/java/com/android/server/notification/RateEstimator.java @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License + */ + +package com.android.server.notification; + + +/** + * Exponentially weighted moving average estimator for event rate. + * + * {@hide} + */ +public class RateEstimator { + private static final double RATE_ALPHA = 0.8; + private static final double MINIMUM_DT = 0.0005; + private Long mLastEventTime; + private Float mInterarrivalTime; + + public RateEstimator() {} + + /** Update the estimate to account for an event that just happened. */ + public float update(long now) { + float rate; + if (mLastEventTime == null) { + // No last event time, rate is zero. + rate = 0f; + } else { + // Calculate the new inter-arrival time based on last event time. + mInterarrivalTime = (float) getInterarrivalEstimate(now); + rate = (float) (1.0 / mInterarrivalTime); + } + mLastEventTime = now; + return rate; + } + + /** @return the estimated rate if there were a new event right now. */ + public float getRate(long now) { + if (mLastEventTime == null) { + return 0f; + } + return (float) (1.0 / getInterarrivalEstimate(now)); + } + + /** @return the average inter-arrival time if there were a new event right now. */ + private double getInterarrivalEstimate(long now) { + double dt = ((double) (now - mLastEventTime)) / 1000.0; + dt = Math.max(dt, MINIMUM_DT); + if (mInterarrivalTime == null) { + // No last inter-arrival time, return the new value directly. + return dt; + } + // a*iat_old + (1-a)*(t_now-t_last) + return (RATE_ALPHA * mInterarrivalTime + (1.0 - RATE_ALPHA) * dt); + } +} diff --git a/services/core/java/com/android/server/notification/ScheduleConditionProvider.java b/services/core/java/com/android/server/notification/ScheduleConditionProvider.java index 15a63ec6875b..e3dcf1401f3a 100644 --- a/services/core/java/com/android/server/notification/ScheduleConditionProvider.java +++ b/services/core/java/com/android/server/notification/ScheduleConditionProvider.java @@ -36,6 +36,7 @@ import android.util.Slog; import com.android.server.notification.NotificationManagerService.DumpFilter; import java.io.PrintWriter; +import java.util.Calendar; import java.util.TimeZone; /** @@ -237,6 +238,14 @@ public class ScheduleConditionProvider extends SystemConditionProviderService { @Override public void onReceive(Context context, Intent intent) { if (DEBUG) Slog.d(TAG, "onReceive " + intent.getAction()); + if (Intent.ACTION_TIMEZONE_CHANGED.equals(intent.getAction())) { + for (Uri conditionId : mSubscriptions.keySet()) { + final ScheduleCalendar cal = mSubscriptions.get(conditionId); + if (cal != null) { + cal.setTimeZone(Calendar.getInstance().getTimeZone()); + } + } + } evaluateSubscriptions(); } }; diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java index b30817f53cdb..5fdb1e85b8e1 100644 --- a/services/core/java/com/android/server/policy/PhoneWindowManager.java +++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java @@ -716,6 +716,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { private static final int MSG_REQUEST_TRANSIENT_BARS = 16; private static final int MSG_SHOW_TV_PICTURE_IN_PICTURE_MENU = 17; private static final int MSG_BACK_LONG_PRESS = 18; + private static final int MSG_DISPOSE_INPUT_CONSUMER = 19; private static final int MSG_REQUEST_TRANSIENT_BARS_ARG_STATUS = 0; private static final int MSG_REQUEST_TRANSIENT_BARS_ARG_NAVIGATION = 1; @@ -783,6 +784,9 @@ public class PhoneWindowManager implements WindowManagerPolicy { case MSG_BACK_LONG_PRESS: backLongPress(); break; + case MSG_DISPOSE_INPUT_CONSUMER: + disposeInputConsumer((InputConsumer) msg.obj); + break; } } } @@ -1260,6 +1264,12 @@ public class PhoneWindowManager implements WindowManagerPolicy { } } + private void disposeInputConsumer(InputConsumer inputConsumer) { + if (inputConsumer != null) { + inputConsumer.dismiss(); + } + } + private void sleepPress(long eventTime) { if (mShortPressOnSleepBehavior == SHORT_PRESS_SLEEP_GO_TO_SLEEP_AND_GO_HOME) { launchHomeFromHotKey(false /* awakenDreams */, true /*respectKeyguard*/); @@ -3738,6 +3748,9 @@ public class PhoneWindowManager implements WindowManagerPolicy { // When the user taps down, we re-show the nav bar. boolean changed = false; synchronized (mWindowManagerFuncs.getWindowManagerLock()) { + if (mInputConsumer == null) { + return; + } // Any user activity always causes us to show the // navigation controls, if they had been hidden. // We also clear the low profile and only content @@ -3991,7 +4004,8 @@ public class PhoneWindowManager implements WindowManagerPolicy { // bar and ensure the application doesn't see the event. if (navVisible || navAllowedHidden) { if (mInputConsumer != null) { - mInputConsumer.dismiss(); + mHandler.sendMessage( + mHandler.obtainMessage(MSG_DISPOSE_INPUT_CONSUMER, mInputConsumer)); mInputConsumer = null; } } else if (mInputConsumer == null) { @@ -5407,11 +5421,11 @@ public class PhoneWindowManager implements WindowManagerPolicy { // If the service process is killed, then ask it to clean up after itself final ComponentName errorComponent = new ComponentName(SYSUI_PACKAGE, SYSUI_SCREENSHOT_ERROR_RECEIVER); - Intent errorIntent = new Intent(); + Intent errorIntent = new Intent(Intent.ACTION_USER_PRESENT); errorIntent.setComponent(errorComponent); errorIntent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT | Intent.FLAG_RECEIVER_FOREGROUND); - mContext.sendBroadcastAsUser(errorIntent, UserHandle.ALL); + mContext.sendBroadcastAsUser(errorIntent, UserHandle.CURRENT); } /** {@inheritDoc} */ diff --git a/services/core/java/com/android/server/webkit/WebViewUpdateServiceImpl.java b/services/core/java/com/android/server/webkit/WebViewUpdateServiceImpl.java index 91de797cf98c..ecab009ed12c 100644 --- a/services/core/java/com/android/server/webkit/WebViewUpdateServiceImpl.java +++ b/services/core/java/com/android/server/webkit/WebViewUpdateServiceImpl.java @@ -217,7 +217,7 @@ public class WebViewUpdateServiceImpl { mSystemInterface = systemInterface; } - private static final int WAIT_TIMEOUT_MS = 4500; // KEY_DISPATCHING_TIMEOUT is 5000. + private static final int WAIT_TIMEOUT_MS = 1000; // KEY_DISPATCHING_TIMEOUT is 5000. // Keeps track of the number of running relro creations private int mNumRelroCreationsStarted = 0; @@ -487,6 +487,10 @@ public class WebViewUpdateServiceImpl { // Either the current relro creation isn't done yet, or the new relro creatioin // hasn't kicked off yet (the last relro creation used an out-of-date WebView). webViewStatus = WebViewFactory.LIBLOAD_FAILED_WAITING_FOR_RELRO; + Slog.e(TAG, "Timed out waiting for relro creation, relros started " + + mNumRelroCreationsStarted + + " relros finished " + mNumRelroCreationsFinished + + " package dirty? " + mWebViewPackageDirty); } } if (!webViewReady) Slog.w(TAG, "creating relro file timed out"); diff --git a/services/core/java/com/android/server/wm/AppWindowToken.java b/services/core/java/com/android/server/wm/AppWindowToken.java index b773a4e016bd..f57e83aa1e0d 100644 --- a/services/core/java/com/android/server/wm/AppWindowToken.java +++ b/services/core/java/com/android/server/wm/AppWindowToken.java @@ -451,6 +451,16 @@ class AppWindowToken extends WindowToken { destroySurfaces(); } + void markSavedSurfaceExiting() { + for (int i = allAppWindows.size() - 1; i >= 0; i--) { + final WindowState w = allAppWindows.get(i); + if (w.isAnimatingInvisibleWithSavedSurface()) { + w.mAnimatingExit = true; + w.mWinAnimator.mAnimating = true; + } + } + } + void restoreSavedSurfaces() { if (!canRestoreSurfaces()) { clearVisibleBeforeClientHidden(); diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java index f0808acee636..b4387b98e6d7 100644 --- a/services/core/java/com/android/server/wm/Task.java +++ b/services/core/java/com/android/server/wm/Task.java @@ -18,6 +18,7 @@ package com.android.server.wm; import static android.app.ActivityManager.RESIZE_MODE_SYSTEM_SCREEN_ROTATION; import static android.app.ActivityManager.StackId.DOCKED_STACK_ID; +import static android.app.ActivityManager.StackId.PINNED_STACK_ID; import static android.app.ActivityManager.StackId.FREEFORM_WORKSPACE_STACK_ID; import static android.app.ActivityManager.StackId.HOME_STACK_ID; import static android.content.pm.ActivityInfo.RESIZE_MODE_CROP_WINDOWS; @@ -630,7 +631,8 @@ class Task implements DimLayer.DimLayerUser { // Anyway we don't need to synchronize position and content updates for these // windows since they aren't at the base layer and could be moved around anyway. if (!win.computeDragResizing() && win.mAttrs.type == TYPE_BASE_APPLICATION && - !mStack.getBoundsAnimating() && !win.isGoneForLayoutLw()) { + !mStack.getBoundsAnimating() && !win.isGoneForLayoutLw() && + !inPinnedWorkspace()) { win.setResizedWhileNotDragResizing(true); } } @@ -710,6 +712,10 @@ class Task implements DimLayer.DimLayerUser { return mStack != null && mStack.mStackId == DOCKED_STACK_ID; } + boolean inPinnedWorkspace() { + return mStack != null && mStack.mStackId == PINNED_STACK_ID; + } + boolean isResizeableByDockedStack() { final DisplayContent displayContent = getDisplayContent(); return displayContent != null && displayContent.getDockedStackLocked() != null diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index d60e8d6aa082..d496510c23aa 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -2277,6 +2277,19 @@ public class WindowManagerService extends IWindowManager.Stub } } + private void setupWindowForRemoveOnExit(WindowState win) { + win.mRemoveOnExit = true; + win.setDisplayLayoutNeeded(); + // Request a focus update as this window's input channel is already gone. Otherwise + // we could have no focused window in input manager. + final boolean focusChanged = updateFocusedWindowLocked( + UPDATE_FOCUS_WILL_PLACE_SURFACES, false /*updateInputWindows*/); + mWindowPlacerLocked.performSurfacePlacement(); + if (focusChanged) { + mInputMonitor.updateInputWindowsLw(false /*force*/); + } + } + public void removeWindow(Session session, IWindow client) { synchronized(mWindowMap) { WindowState win = windowForClientLocked(session, client, false); @@ -2358,8 +2371,7 @@ public class WindowManagerService extends IWindowManager.Stub // Do not set mAnimatingExit to true here, it will cause the surface to be hidden // immediately after the enter animation is done. If the app is not yet drawn then // it will show up as a flicker. - win.mRemoveOnExit = true; - win.mWindowRemovalAllowed = true; + setupWindowForRemoveOnExit(win); Binder.restoreCallingIdentity(origId); return; } @@ -2411,17 +2423,10 @@ public class WindowManagerService extends IWindowManager.Stub // The exit animation is running or should run... wait for it! if (DEBUG_ADD_REMOVE) Slog.v(TAG_WM, "Not removing " + win + " due to exit animation "); - win.mRemoveOnExit = true; - win.setDisplayLayoutNeeded(); - final boolean focusChanged = updateFocusedWindowLocked( - UPDATE_FOCUS_WILL_PLACE_SURFACES, false /*updateInputWindows*/); - mWindowPlacerLocked.performSurfacePlacement(); + setupWindowForRemoveOnExit(win); if (appToken != null) { appToken.updateReportedVisibilityLocked(); } - if (focusChanged) { - mInputMonitor.updateInputWindowsLw(false /*force*/); - } Binder.restoreCallingIdentity(origId); return; } diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index e5e74a663eb0..be27c82d61fc 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -1265,8 +1265,8 @@ final class WindowState implements WindowManagerPolicy.WindowState { * @return true if the window should be considered while evaluating allDrawn flags. */ boolean mightAffectAllDrawn(boolean visibleOnly) { - final boolean isViewVisible = (mViewVisibility == View.VISIBLE) - && (mAppToken == null || !mAppToken.clientHidden); + final boolean isViewVisible = (mAppToken == null || !mAppToken.clientHidden) + && (mViewVisibility == View.VISIBLE) && !mWindowRemovalAllowed; return (isOnScreenIgnoringKeyguard() && (!visibleOnly || isViewVisible) || mWinAnimator.mAttrType == TYPE_BASE_APPLICATION) && !mAnimatingExit && !mDestroying; @@ -1822,7 +1822,7 @@ final class WindowState implements WindowManagerPolicy.WindowState { /** @return true if this window desires key events. */ boolean canReceiveKeys() { return isVisibleOrAdding() - && (mViewVisibility == View.VISIBLE) + && (mViewVisibility == View.VISIBLE) && !mRemoveOnExit && ((mAttrs.flags & WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE) == 0) && (mAppToken == null || mAppToken.windowsAreFocusable()) && !isAdjustedForMinimizedDock(); @@ -2111,7 +2111,9 @@ final class WindowState implements WindowManagerPolicy.WindowState { void clearHasSavedSurface() { mSurfaceSaved = false; mAnimatingWithSavedSurface = false; - mWasVisibleBeforeClientHidden = false; + if (mWasVisibleBeforeClientHidden) { + mAppToken.destroySavedSurfaces(); + } } boolean clearAnimatingWithSavedSurface() { diff --git a/services/core/java/com/android/server/wm/WindowStateAnimator.java b/services/core/java/com/android/server/wm/WindowStateAnimator.java index aea395de6c0f..42eddd5a0b10 100644 --- a/services/core/java/com/android/server/wm/WindowStateAnimator.java +++ b/services/core/java/com/android/server/wm/WindowStateAnimator.java @@ -1334,7 +1334,17 @@ class WindowStateAnimator { final WindowState wallpaperTarget = mWallpaperControllerLocked.getWallpaperTarget(); if (wallpaperTarget != null) { final Task task = wallpaperTarget.getTask(); - if (task != null && !task.isFullscreen()) { + final WindowStateAnimator winAnimator = wallpaperTarget.mWinAnimator; + // We can only crop the wallpaper using final crop with stack bounds if the target + // is not animating, or if it's animating with clip mode STACK_CLIP_AFTER_ANIM. + // If it's animating with mode STACK_CLIP_NONE, we shouldn't crop either the task + // itself or the wallpaper. If it's animating with STACK_CLIP_BEFORE_ANIM, the crop + // is before the transform on the task itself. + final boolean useFinalCropOnWallpaper = !winAnimator.isAnimationSet() + || winAnimator.resolveStackClip() == STACK_CLIP_AFTER_ANIM; + if (task != null && !task.isFullscreen() + && task.cropWindowsToStackBounds() + && useFinalCropOnWallpaper){ final TaskStack stack = task.mStack; if (stack != null && !stack.isFullscreen()) { stack.getDimBounds(mTmpStackBounds); @@ -1459,7 +1469,7 @@ class WindowStateAnimator { // We need to ensure for each surface, that we disable transformation matrix // scaling in the same transaction which we resize the surface in. // As we are in SCALING_MODE_SCALE_TO_WINDOW, SurfaceFlinger will - // then take over the scaling until the new buffer arrives, and things + // then take over the scaling until the new buffer arrives, and things // will be seamless. mForceScaleUntilResize = true; } else { diff --git a/services/core/java/com/android/server/wm/WindowSurfacePlacer.java b/services/core/java/com/android/server/wm/WindowSurfacePlacer.java index 308b24dd8dd6..4148cd07681f 100644 --- a/services/core/java/com/android/server/wm/WindowSurfacePlacer.java +++ b/services/core/java/com/android/server/wm/WindowSurfacePlacer.java @@ -1301,6 +1301,14 @@ class WindowSurfacePlacer { appsCount = mService.mClosingApps.size(); for (int i = 0; i < appsCount; i++) { AppWindowToken wtoken = mService.mClosingApps.valueAt(i); + + // If we still have some windows animating with saved surfaces that's + // either invisible or already removed, mark them exiting so that they + // are disposed of after the exit animation. These are not supposed to + // be shown, or are delayed removal until app is actually drawn (in which + // case the window will be removed after the animation). + wtoken.markSavedSurfaceExiting(); + final AppWindowAnimator appAnimator = wtoken.mAppAnimator; if (DEBUG_APP_TRANSITIONS) Slog.v(TAG, "Now closing app " + wtoken); appAnimator.clearThumbnail(); diff --git a/services/core/jni/com_android_server_location_GnssLocationProvider.cpp b/services/core/jni/com_android_server_location_GnssLocationProvider.cpp index e29452a17bd0..e8d4c58213cc 100644 --- a/services/core/jni/com_android_server_location_GnssLocationProvider.cpp +++ b/services/core/jni/com_android_server_location_GnssLocationProvider.cpp @@ -72,15 +72,18 @@ static const GnssConfigurationInterface* sGnssConfigurationInterface = NULL; #define GPS_MAX_SATELLITE_COUNT 32 #define GNSS_MAX_SATELLITE_COUNT 64 -// Let these through, with ID remapped by offset +// Let these through, with ID remapped down to 1, 2... by offset #define GLONASS_SVID_OFFSET 64 #define GLONASS_SVID_COUNT 24 #define BEIDOU_SVID_OFFSET 200 #define BEIDOU_SVID_COUNT 35 +// Let these through, with ID remapped up (33->120 ... 64->151, etc.) +#define SBAS_SVID_MIN 33 +#define SBAS_SVID_MAX 64 +#define SBAS_SVID_ADD 87 + // Let these through, with no ID remapping -#define SBAS_SVID_MIN 120 -#define SBAS_SVID_MAX 151 #define QZSS_SVID_MIN 193 #define QZSS_SVID_MAX 200 @@ -159,6 +162,7 @@ static void sv_status_callback(GpsSvStatus* sv_status) info.svid -= BEIDOU_SVID_OFFSET; } else if (info.svid >= SBAS_SVID_MIN && info.svid <= SBAS_SVID_MAX) { info.constellation = GNSS_CONSTELLATION_SBAS; + info.svid += SBAS_SVID_ADD; } else if (info.svid >= QZSS_SVID_MIN && info.svid <= QZSS_SVID_MAX) { info.constellation = GNSS_CONSTELLATION_QZSS; } else { diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java index a5eb0b217d1f..1af9ccbbcfd7 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java @@ -484,7 +484,8 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { } }); } - if (Intent.ACTION_BOOT_COMPLETED.equals(action) + if (Intent.ACTION_USER_UNLOCKED.equals(action) + || Intent.ACTION_USER_STARTED.equals(action) || KeyChain.ACTION_STORAGE_CHANGED.equals(action)) { int userId = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, UserHandle.USER_ALL); new MonitoringCertNotificationTask().execute(userId); @@ -1582,6 +1583,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { filter.addAction(Intent.ACTION_USER_ADDED); filter.addAction(Intent.ACTION_USER_REMOVED); filter.addAction(Intent.ACTION_USER_STARTED); + filter.addAction(Intent.ACTION_USER_UNLOCKED); filter.addAction(KeyChain.ACTION_STORAGE_CHANGED); filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY); mContext.registerReceiverAsUser(mReceiver, UserHandle.ALL, filter, null, mHandler); @@ -3808,14 +3810,13 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { // If caller has PO (or DO) it can change the password, so see if that's the case first. ActiveAdmin admin = getActiveAdminWithPolicyForUidLocked( null, DeviceAdminInfo.USES_POLICY_PROFILE_OWNER, callingUid); + final boolean preN = getTargetSdk(admin.info.getPackageName(), + userHandle) <= android.os.Build.VERSION_CODES.M; if (admin == null) { // Otherwise, make sure the caller has any active admin with the right policy. admin = getActiveAdminForCallerLocked(null, DeviceAdminInfo.USES_POLICY_RESET_PASSWORD); - final boolean preN = getTargetSdk(admin.info.getPackageName(), userHandle) - <= android.os.Build.VERSION_CODES.M; - // As of N, password resetting to empty/null is not allowed anymore. // TODO Should we allow DO/PO to set an empty password? if (TextUtils.isEmpty(password)) { @@ -3836,6 +3837,30 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { } } } + // Do not allow to reset password when current user has a managed profile + if (!isManagedProfile(userHandle)) { + for (UserInfo userInfo : mUserManager.getProfiles(userHandle)) { + if (userInfo.isManagedProfile()) { + if (!preN) { + throw new IllegalStateException( + "Cannot reset password on user has managed profile"); + } else { + Slog.e(LOG_TAG, "Cannot reset password on user has managed profile"); + return false; + } + } + } + } + // Do not allow to reset password when user is locked + if (!mUserManager.isUserUnlocked(userHandle)) { + if (!preN) { + throw new IllegalStateException("Cannot reset password when user is locked"); + } else { + Slog.e(LOG_TAG, "Cannot reset password when user is locked"); + return false; + } + } + quality = getPasswordQuality(null, userHandle, /* parent */ false); if (quality == DevicePolicyManager.PASSWORD_QUALITY_MANAGED) { quality = DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED; diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java index e306d8925f0b..eed4351b9287 100644 --- a/services/java/com/android/server/SystemServer.java +++ b/services/java/com/android/server/SystemServer.java @@ -176,7 +176,7 @@ public final class SystemServer { * visual content. */ private static final int DEFAULT_SYSTEM_THEME = - com.android.internal.R.style.Theme_Material_Light_DarkActionBar; + com.android.internal.R.style.Theme_DeviceDefault_Light_DarkActionBar; private final int mFactoryTestMode; private Timer mProfilerSnapshotTimer; diff --git a/services/net/java/android/net/apf/ApfFilter.java b/services/net/java/android/net/apf/ApfFilter.java index 7079b9eb5b89..538e8f879a3d 100644 --- a/services/net/java/android/net/apf/ApfFilter.java +++ b/services/net/java/android/net/apf/ApfFilter.java @@ -648,14 +648,31 @@ public class ApfFilter { // Here's a basic summary of what the IPv6 filter program does: // // if it's not ICMPv6: + // if it's multicast and we're dropping multicast: + // drop // pass // if it's ICMPv6 NA to ff02::1: // drop - // If not ICMPv6, pass gen.addLoad8(Register.R0, IPV6_NEXT_HEADER_OFFSET); - // TODO: Drop multicast if the multicast filter is enabled. - gen.addJumpIfR0NotEquals(IPPROTO_ICMPV6, gen.PASS_LABEL); + + // Drop multicast if the multicast filter is enabled. + if (mMulticastFilter) { + // Don't touch ICMPv6 multicast here, we deal with it in more detail later. + String skipIpv6MulticastFilterLabel = "skipIPv6MulticastFilter"; + gen.addJumpIfR0Equals(IPPROTO_ICMPV6, skipIpv6MulticastFilterLabel); + + // Drop all other packets sent to ff00::/8. + gen.addLoad8(Register.R0, IPV6_DEST_ADDR_OFFSET); + gen.addJumpIfR0Equals(0xff, gen.DROP_LABEL); + // Not multicast and not ICMPv6. Pass. + gen.addJump(gen.PASS_LABEL); + gen.defineLabel(skipIpv6MulticastFilterLabel); + } else { + // If not ICMPv6, pass. + gen.addJumpIfR0NotEquals(IPPROTO_ICMPV6, gen.PASS_LABEL); + } + // Add unsolicited multicast neighbor announcements filter String skipUnsolicitedMulticastNALabel = "skipUnsolicitedMulticastNA"; // If not neighbor announcements, skip unsolicited multicast NA filter diff --git a/services/net/java/android/net/dhcp/DhcpClient.java b/services/net/java/android/net/dhcp/DhcpClient.java index 505d15a061e9..99b10c3da1c0 100644 --- a/services/net/java/android/net/dhcp/DhcpClient.java +++ b/services/net/java/android/net/dhcp/DhcpClient.java @@ -125,17 +125,18 @@ public class DhcpClient extends StateMachine { public static final int CMD_CONFIGURE_LINKADDRESS = PUBLIC_BASE + 8; public static final int EVENT_LINKADDRESS_CONFIGURED = PUBLIC_BASE + 9; - /* Message.arg1 arguments to CMD_POST_DHCP notification */ + /* Message.arg1 arguments to CMD_POST_DHCP_ACTION notification */ public static final int DHCP_SUCCESS = 1; public static final int DHCP_FAILURE = 2; - // Messages. + // Internal messages. private static final int PRIVATE_BASE = Protocol.BASE_DHCP + 100; private static final int CMD_KICK = PRIVATE_BASE + 1; private static final int CMD_RECEIVED_PACKET = PRIVATE_BASE + 2; private static final int CMD_TIMEOUT = PRIVATE_BASE + 3; private static final int CMD_RENEW_DHCP = PRIVATE_BASE + 4; - private static final int CMD_EXPIRE_DHCP = PRIVATE_BASE + 5; + private static final int CMD_REBIND_DHCP = PRIVATE_BASE + 5; + private static final int CMD_EXPIRE_DHCP = PRIVATE_BASE + 6; // For message logging. private static final Class[] sMessageClasses = { DhcpClient.class }; @@ -177,6 +178,7 @@ public class DhcpClient extends StateMachine { private final WakeupMessage mKickAlarm; private final WakeupMessage mTimeoutAlarm; private final WakeupMessage mRenewAlarm; + private final WakeupMessage mRebindAlarm; private final WakeupMessage mExpiryAlarm; private final String mIfaceName; @@ -241,8 +243,9 @@ public class DhcpClient extends StateMachine { mKickAlarm = makeWakeupMessage("KICK", CMD_KICK); // Used to time out PacketRetransmittingStates. mTimeoutAlarm = makeWakeupMessage("TIMEOUT", CMD_TIMEOUT); - // Used to schedule DHCP renews. + // Used to schedule DHCP reacquisition. mRenewAlarm = makeWakeupMessage("RENEW", CMD_RENEW_DHCP); + mRebindAlarm = makeWakeupMessage("REBIND", CMD_REBIND_DHCP); mExpiryAlarm = makeWakeupMessage("EXPIRY", CMD_EXPIRE_DHCP); } @@ -276,6 +279,10 @@ public class DhcpClient extends StateMachine { } private boolean initSockets() { + return initPacketSocket() && initUdpSocket(); + } + + private boolean initPacketSocket() { try { mPacketSock = Os.socket(AF_PACKET, SOCK_RAW, ETH_P_IP); PacketSocketAddress addr = new PacketSocketAddress((short) ETH_P_IP, mIface.getIndex()); @@ -285,6 +292,10 @@ public class DhcpClient extends StateMachine { Log.e(TAG, "Error creating packet socket", e); return false; } + return true; + } + + private boolean initUdpSocket() { try { mUdpSock = Os.socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); Os.setsockoptInt(mUdpSock, SOL_SOCKET, SO_REUSEADDR, 1); @@ -363,16 +374,25 @@ public class DhcpClient extends StateMachine { return (short) ((SystemClock.elapsedRealtime() - mTransactionStartMillis) / 1000); } - private boolean transmitPacket(ByteBuffer buf, String description, Inet4Address to) { + private boolean transmitPacket(ByteBuffer buf, String description, int encap, Inet4Address to) { try { - if (to.equals(INADDR_BROADCAST)) { + if (encap == DhcpPacket.ENCAP_L2) { if (DBG) Log.d(TAG, "Broadcasting " + description); Os.sendto(mPacketSock, buf.array(), 0, buf.limit(), 0, mInterfaceBroadcastAddr); + } else if (encap == DhcpPacket.ENCAP_BOOTP && to.equals(INADDR_BROADCAST)) { + if (DBG) Log.d(TAG, "Broadcasting " + description); + // We only send L3-encapped broadcasts in DhcpRebindingState, + // where we have an IP address and an unconnected UDP socket. + // + // N.B.: We only need this codepath because DhcpRequestPacket + // hardcodes the source IP address to 0.0.0.0. We could reuse + // the packet socket if this ever changes. + Os.sendto(mUdpSock, buf, 0, to, DhcpPacket.DHCP_SERVER); } else { // It's safe to call getpeername here, because we only send unicast packets if we - // have an IP address, and we connect the UDP socket before - // ConfiguringInterfaceState#exit. - if (DBG) Log.d(TAG, "Unicasting " + description + " to " + Os.getpeername(mUdpSock)); + // have an IP address, and we connect the UDP socket in DhcpBoundState#enter. + if (DBG) Log.d(TAG, String.format("Unicasting %s to %s", + description, Os.getpeername(mUdpSock))); Os.write(mUdpSock, buf); } } catch(ErrnoException|IOException e) { @@ -386,14 +406,15 @@ public class DhcpClient extends StateMachine { ByteBuffer packet = DhcpPacket.buildDiscoverPacket( DhcpPacket.ENCAP_L2, mTransactionId, getSecs(), mHwAddr, DO_UNICAST, REQUESTED_PARAMS); - return transmitPacket(packet, "DHCPDISCOVER", INADDR_BROADCAST); + return transmitPacket(packet, "DHCPDISCOVER", DhcpPacket.ENCAP_L2, INADDR_BROADCAST); } private boolean sendRequestPacket( Inet4Address clientAddress, Inet4Address requestedAddress, Inet4Address serverAddress, Inet4Address to) { // TODO: should we use the transaction ID from the server? - int encap = to.equals(INADDR_BROADCAST) ? DhcpPacket.ENCAP_L2 : DhcpPacket.ENCAP_BOOTP; + final int encap = INADDR_ANY.equals(clientAddress) + ? DhcpPacket.ENCAP_L2 : DhcpPacket.ENCAP_BOOTP; ByteBuffer packet = DhcpPacket.buildRequestPacket( encap, mTransactionId, getSecs(), clientAddress, @@ -403,7 +424,7 @@ public class DhcpClient extends StateMachine { String description = "DHCPREQUEST ciaddr=" + clientAddress.getHostAddress() + " request=" + requestedAddress.getHostAddress() + " serverid=" + serverStr; - return transmitPacket(packet, description, to); + return transmitPacket(packet, description, encap, to); } private void scheduleLeaseTimers() { @@ -413,14 +434,21 @@ public class DhcpClient extends StateMachine { } final long now = SystemClock.elapsedRealtime(); - long renewTime = (now + mDhcpLeaseExpiry) / 2; - mRenewAlarm.schedule(renewTime); - long secondsHence = (renewTime - now) / 1000; - Log.d(TAG, "Scheduling renewal in " + secondsHence + "s"); - mExpiryAlarm.schedule(mDhcpLeaseExpiry); - secondsHence = (mDhcpLeaseExpiry - now) / 1000; - Log.d(TAG, "Scheduling expiry in " + secondsHence + "s"); + // TODO: consider getting the renew and rebind timers from T1 and T2. + // See also: + // https://tools.ietf.org/html/rfc2131#section-4.4.5 + // https://tools.ietf.org/html/rfc1533#section-9.9 + // https://tools.ietf.org/html/rfc1533#section-9.10 + final long remainingDelay = mDhcpLeaseExpiry - now; + final long renewDelay = remainingDelay / 2; + final long rebindDelay = remainingDelay * 7 / 8; + mRenewAlarm.schedule(now + renewDelay); + mRebindAlarm.schedule(now + rebindDelay); + mExpiryAlarm.schedule(now + remainingDelay); + Log.d(TAG, "Scheduling renewal in " + (renewDelay / 1000) + "s"); + Log.d(TAG, "Scheduling rebind in " + (rebindDelay / 1000) + "s"); + Log.d(TAG, "Scheduling expiry in " + (remainingDelay / 1000) + "s"); } private void notifySuccess() { @@ -719,7 +747,6 @@ public class DhcpClient extends StateMachine { class DhcpRequestingState extends PacketRetransmittingState { public DhcpRequestingState() { - super(); mTimeout = DHCP_TIMEOUT_MS / 2; } @@ -777,7 +804,11 @@ public class DhcpClient extends StateMachine { @Override public void exit() { + // Clear any extant alarms. + mRenewAlarm.cancel(); + mRebindAlarm.cancel(); mExpiryAlarm.cancel(); + clearDhcpState(); // Tell IpManager to clear the IPv4 address. There is no need to // wait for confirmation since any subsequent packets are sent from // INADDR_ANY anyway (DISCOVER, REQUEST). @@ -797,21 +828,7 @@ public class DhcpClient extends StateMachine { super.processMessage(message); switch (message.what) { case EVENT_LINKADDRESS_CONFIGURED: - if (mDhcpLease.serverAddress != null && - !connectUdpSock(mDhcpLease.serverAddress)) { - // There's likely no point in going into DhcpInitState here, we'll probably - // just repeat the transaction, get the same IP address as before, and fail. - // - // NOTE: It is observed that connectUdpSock() basically never fails, due to - // SO_BINDTODEVICE. Examining the local socket address shows it will happily - // return an IPv4 address from another interface, or even return "0.0.0.0". - // - // TODO: Consider deleting this check, following testing on several kernels. - notifyFailure(); - transitionTo(mStoppedState); - } else { - transitionTo(mDhcpBoundState); - } + transitionTo(mDhcpBoundState); return HANDLED; default: return NOT_HANDLED; @@ -823,8 +840,19 @@ public class DhcpClient extends StateMachine { @Override public void enter() { super.enter(); - // TODO: DhcpStateMachine only supported renewing at 50% of the lease time, - // and did not support rebinding. Now that the legacy DHCP client is gone, fix this. + if (mDhcpLease.serverAddress != null && !connectUdpSock(mDhcpLease.serverAddress)) { + // There's likely no point in going into DhcpInitState here, we'll probably + // just repeat the transaction, get the same IP address as before, and fail. + // + // NOTE: It is observed that connectUdpSock() basically never fails, due to + // SO_BINDTODEVICE. Examining the local socket address shows it will happily + // return an IPv4 address from another interface, or even return "0.0.0.0". + // + // TODO: Consider deleting this check, following testing on several kernels. + notifyFailure(); + transitionTo(mStoppedState); + } + scheduleLeaseTimers(); } @@ -843,18 +871,10 @@ public class DhcpClient extends StateMachine { return NOT_HANDLED; } } - - @Override - public void exit() { - mRenewAlarm.cancel(); - } } - class DhcpRenewingState extends PacketRetransmittingState { - public DhcpRenewingState() { - super(); - mTimeout = DHCP_TIMEOUT_MS; - } + abstract class DhcpReacquiringState extends PacketRetransmittingState { + protected String mLeaseMsg; @Override public void enter() { @@ -862,16 +882,14 @@ public class DhcpClient extends StateMachine { startNewTransaction(); } + abstract protected Inet4Address packetDestination(); + protected boolean sendPacket() { - // Not specifying a SERVER_IDENTIFIER option is a violation of RFC 2131, but... - // http://b/25343517 . Try to make things work anyway by using broadcast renews. - Inet4Address to = (mDhcpLease.serverAddress != null) ? - mDhcpLease.serverAddress : INADDR_BROADCAST; return sendRequestPacket( (Inet4Address) mDhcpLease.ipAddress.getAddress(), // ciaddr INADDR_ANY, // DHCP_REQUESTED_IP null, // DHCP_SERVER_IDENTIFIER - to); // packet destination address + packetDestination()); // packet destination address } protected void receivePacket(DhcpPacket packet) { @@ -890,7 +908,7 @@ public class DhcpClient extends StateMachine { // in IpManager and by any overridden relevant handlers of // the registered IpManager.Callback. IP address changes // are not supported here. - acceptDhcpResults(results, "Renewed"); + acceptDhcpResults(results, mLeaseMsg); transitionTo(mDhcpBoundState); } } else if (packet instanceof DhcpNakPacket) { @@ -901,8 +919,57 @@ public class DhcpClient extends StateMachine { } } - // Not implemented--yet. DhcpStateMachine did not implement it either. - class DhcpRebindingState extends LoggingState { + class DhcpRenewingState extends DhcpReacquiringState { + public DhcpRenewingState() { + mLeaseMsg = "Renewed"; + } + + @Override + public boolean processMessage(Message message) { + if (super.processMessage(message) == HANDLED) { + return HANDLED; + } + + switch (message.what) { + case CMD_REBIND_DHCP: + transitionTo(mDhcpRebindingState); + return HANDLED; + default: + return NOT_HANDLED; + } + } + + @Override + protected Inet4Address packetDestination() { + // Not specifying a SERVER_IDENTIFIER option is a violation of RFC 2131, but... + // http://b/25343517 . Try to make things work anyway by using broadcast renews. + return (mDhcpLease.serverAddress != null) ? + mDhcpLease.serverAddress : INADDR_BROADCAST; + } + } + + class DhcpRebindingState extends DhcpReacquiringState { + public DhcpRebindingState() { + mLeaseMsg = "Rebound"; + } + + @Override + public void enter() { + super.enter(); + + // We need to broadcast and possibly reconnect the socket to a + // completely different server. + closeQuietly(mUdpSock); + if (!initUdpSocket()) { + Log.e(TAG, "Failed to recreate UDP socket"); + transitionTo(mDhcpInitState); + } + } + + @Override + protected Inet4Address packetDestination() { + return INADDR_BROADCAST; + } } class DhcpInitRebootState extends LoggingState { diff --git a/services/net/java/android/net/ip/IpManager.java b/services/net/java/android/net/ip/IpManager.java index d8eab355c8cd..cece6c8c0cac 100644 --- a/services/net/java/android/net/ip/IpManager.java +++ b/services/net/java/android/net/ip/IpManager.java @@ -1027,6 +1027,8 @@ public class IpManager extends StateMachine { } class StartedState extends State { + private boolean mDhcpActionInFlight; + @Override public void enter() { mStartTimeMillis = SystemClock.elapsedRealtime(); @@ -1066,7 +1068,7 @@ public class IpManager extends StateMachine { @Override public void exit() { mProvisioningTimeoutAlarm.cancel(); - mDhcpActionTimeoutAlarm.cancel(); + stopDhcpAction(); if (mIpReachabilityMonitor != null) { mIpReachabilityMonitor.stop(); @@ -1086,16 +1088,22 @@ public class IpManager extends StateMachine { resetLinkProperties(); } - private void startDhcpAction() { - mCallback.onPreDhcpAction(); - final long alarmTime = SystemClock.elapsedRealtime() + - mConfiguration.mRequestedPreDhcpActionMs; - mDhcpActionTimeoutAlarm.schedule(alarmTime); + private void ensureDhcpAction() { + if (!mDhcpActionInFlight) { + mCallback.onPreDhcpAction(); + mDhcpActionInFlight = true; + final long alarmTime = SystemClock.elapsedRealtime() + + mConfiguration.mRequestedPreDhcpActionMs; + mDhcpActionTimeoutAlarm.schedule(alarmTime); + } } private void stopDhcpAction() { mDhcpActionTimeoutAlarm.cancel(); - mCallback.onPostDhcpAction(); + if (mDhcpActionInFlight) { + mCallback.onPostDhcpAction(); + mDhcpActionInFlight = false; + } } @Override @@ -1165,9 +1173,8 @@ public class IpManager extends StateMachine { break; case DhcpClient.CMD_PRE_DHCP_ACTION: - if (VDBG) { Log.d(mTag, "onPreDhcpAction()"); } if (mConfiguration.mRequestedPreDhcpActionMs > 0) { - startDhcpAction(); + ensureDhcpAction(); } else { sendMessage(EVENT_PRE_DHCP_ACTION_COMPLETE); } @@ -1193,18 +1200,18 @@ public class IpManager extends StateMachine { // This message is only received when: // // a) initial address acquisition succeeds, - // b) renew succeeds, - // c) renew fails, + // b) renew succeeds or is NAK'd, + // c) rebind succeeds or is NAK'd, or + // c) the lease expires, // // but never when initial address acquisition fails. The latter // condition is now governed by the provisioning timeout. - case DhcpClient.CMD_POST_DHCP_ACTION: { + case DhcpClient.CMD_POST_DHCP_ACTION: stopDhcpAction(); - final DhcpResults dhcpResults = (DhcpResults) msg.obj; switch (msg.arg1) { case DhcpClient.DHCP_SUCCESS: - handleIPv4Success(dhcpResults); + handleIPv4Success((DhcpResults) msg.obj); break; case DhcpClient.DHCP_FAILURE: handleIPv4Failure(); @@ -1213,7 +1220,6 @@ public class IpManager extends StateMachine { Log.e(mTag, "Unknown CMD_POST_DHCP_ACTION status:" + msg.arg1); } break; - } case DhcpClient.CMD_ON_QUIT: // DHCPv4 quit early for some reason. diff --git a/services/tests/servicestests/src/android/net/apf/ApfTest.java b/services/tests/servicestests/src/android/net/apf/ApfTest.java index e9c5bdda419f..9e04d2301ad9 100644 --- a/services/tests/servicestests/src/android/net/apf/ApfTest.java +++ b/services/tests/servicestests/src/android/net/apf/ApfTest.java @@ -720,36 +720,52 @@ public class ApfTest extends AndroidTestCase { } @LargeTest - public void testApfFilterIPv4Multicast() throws Exception { + public void testApfFilterMulticast() throws Exception { MockIpManagerCallback ipManagerCallback = new MockIpManagerCallback(); ApfFilter apfFilter = new TestApfFilter(ipManagerCallback, false /* multicastFilter */); byte[] program = ipManagerCallback.getApfProgram(); + // Construct IPv4 and IPv6 multicast packets. + ByteBuffer v4packet = ByteBuffer.wrap(new byte[100]); + v4packet.putShort(ETH_ETHERTYPE_OFFSET, (short)ETH_P_IP); + v4packet.position(IPV4_DEST_ADDR_OFFSET); + v4packet.put(new byte[]{(byte)224,0,0,1}); + + ByteBuffer v6packet = ByteBuffer.wrap(new byte[100]); + v6packet.putShort(ETH_ETHERTYPE_OFFSET, (short)ETH_P_IPV6); + v6packet.put(IPV6_NEXT_HEADER_OFFSET, (byte)IPPROTO_UDP); + v6packet.position(IPV6_DEST_ADDR_OFFSET); + v6packet.put(new byte[]{(byte)0xff,2,0,0,0,0,0,0,0,0,0,0,0,0,0,(byte)0xfb}); + // Verify initially disabled multicast filter is off - ByteBuffer packet = ByteBuffer.wrap(new byte[100]); - packet.putShort(ETH_ETHERTYPE_OFFSET, (short)ETH_P_IP); - packet.position(IPV4_DEST_ADDR_OFFSET); - packet.put(new byte[]{(byte)224,0,0,1}); - assertPass(program, packet.array(), 0); + assertPass(program, v4packet.array(), 0); + assertPass(program, v6packet.array(), 0); // Turn on multicast filter and verify it works ipManagerCallback.resetApfProgramWait(); apfFilter.setMulticastFilter(true); program = ipManagerCallback.getApfProgram(); - assertDrop(program, packet.array(), 0); + assertDrop(program, v4packet.array(), 0); + assertDrop(program, v6packet.array(), 0); // Turn off multicast filter and verify it's off ipManagerCallback.resetApfProgramWait(); apfFilter.setMulticastFilter(false); program = ipManagerCallback.getApfProgram(); - assertPass(program, packet.array(), 0); + assertPass(program, v4packet.array(), 0); + assertPass(program, v6packet.array(), 0); // Verify it can be initialized to on ipManagerCallback.resetApfProgramWait(); apfFilter.shutdown(); apfFilter = new TestApfFilter(ipManagerCallback, true /* multicastFilter */); program = ipManagerCallback.getApfProgram(); - assertDrop(program, packet.array(), 0); + assertDrop(program, v4packet.array(), 0); + assertDrop(program, v6packet.array(), 0); + + // Verify that ICMPv6 multicast is not dropped. + v6packet.put(IPV6_NEXT_HEADER_OFFSET, (byte)IPPROTO_ICMPV6); + assertPass(program, v6packet.array(), 0); apfFilter.shutdown(); } @@ -839,7 +855,7 @@ public class ApfTest extends AndroidTestCase { @LargeTest public void testApfFilterRa() throws Exception { MockIpManagerCallback ipManagerCallback = new MockIpManagerCallback(); - TestApfFilter apfFilter = new TestApfFilter(ipManagerCallback, false /* multicastFilter */); + TestApfFilter apfFilter = new TestApfFilter(ipManagerCallback, true /* multicastFilter */); byte[] program = ipManagerCallback.getApfProgram(); // Verify RA is passed the first time @@ -848,6 +864,8 @@ public class ApfTest extends AndroidTestCase { basePacket.put(IPV6_NEXT_HEADER_OFFSET, (byte)IPPROTO_ICMPV6); basePacket.put(ICMP6_TYPE_OFFSET, (byte)ICMP6_ROUTER_ADVERTISEMENT); basePacket.putShort(ICMP6_RA_ROUTER_LIFETIME_OFFSET, (short)1000); + basePacket.position(IPV6_DEST_ADDR_OFFSET); + basePacket.put(IPV6_ALL_NODES_ADDRESS); assertPass(program, basePacket.array(), 0); testRaLifetime(apfFilter, ipManagerCallback, basePacket, 1000); diff --git a/services/tests/servicestests/src/com/android/server/notification/RateEstimatorTest.java b/services/tests/servicestests/src/com/android/server/notification/RateEstimatorTest.java new file mode 100644 index 000000000000..b5698d5bd40b --- /dev/null +++ b/services/tests/servicestests/src/com/android/server/notification/RateEstimatorTest.java @@ -0,0 +1,136 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.android.server.notification; + + +import android.test.AndroidTestCase; +import android.test.suitebuilder.annotation.SmallTest; + +public class RateEstimatorTest extends AndroidTestCase { + private long mTestStartTime; + private RateEstimator mEstimator; + + @Override + public void setUp() { + mTestStartTime = 1225731600000L; + mEstimator = new RateEstimator(); + } + + @SmallTest + public void testRunningTimeBackwardDoesntExplodeUpdate() throws Exception { + assertUpdateTime(mTestStartTime); + assertUpdateTime(mTestStartTime - 1000L); + } + + @SmallTest + public void testRunningTimeBackwardDoesntExplodeGet() throws Exception { + assertUpdateTime(mTestStartTime); + final float rate = mEstimator.getRate(mTestStartTime - 1000L); + assertFalse(Float.isInfinite(rate)); + assertFalse(Float.isNaN(rate)); + } + + @SmallTest + public void testInstantaneousEventsDontExplodeUpdate() throws Exception { + assertUpdateTime(mTestStartTime); + assertUpdateTime(mTestStartTime); + } + + @SmallTest + public void testInstantaneousEventsDontExplodeGet() throws Exception { + assertUpdateTime(mTestStartTime); + assertUpdateTime(mTestStartTime); + final float rate = mEstimator.getRate(mTestStartTime); + assertFalse(Float.isInfinite(rate)); + assertFalse(Float.isNaN(rate)); + } + + @SmallTest + public void testCompactBurstIsEstimatedUnderTwoPercent() throws Exception { + assertUpdateTime(mTestStartTime); + long eventStart = mTestStartTime + 1000; // start event a long time after initialization + long nextEventTime = postEvents(eventStart, 1, 5); // five events at 1000Hz + final float rate = mEstimator.getRate(nextEventTime); + assertLessThan("Rate", rate, 20f); + } + + @SmallTest + public void testSustained1000HzBurstIsEstimatedOverNinetyPercent() throws Exception { + assertUpdateTime(mTestStartTime); + long eventStart = mTestStartTime + 1000; // start event a long time after initialization + long nextEventTime = postEvents(eventStart, 1, 100); // one hundred events at 1000Hz + final float rate = mEstimator.getRate(nextEventTime); + assertGreaterThan("Rate", rate, 900f); + } + + @SmallTest + public void testSustained100HzBurstIsEstimatedOverNinetyPercent() throws Exception { + assertUpdateTime(mTestStartTime); + long eventStart = mTestStartTime + 1000; // start event a long time after initialization + long nextEventTime = postEvents(eventStart, 10, 100); // one hundred events at 100Hz + final float rate = mEstimator.getRate(nextEventTime); + + assertGreaterThan("Rate", rate, 90f); + } + + @SmallTest + public void testRecoverQuicklyAfterSustainedBurst() throws Exception { + assertUpdateTime(mTestStartTime); + long eventStart = mTestStartTime + 1000; // start event a long time after initialization + long nextEventTime = postEvents(eventStart, 10, 1000); // one hundred events at 100Hz + final float rate = mEstimator.getRate(nextEventTime + 5000L); // two seconds later + assertLessThan("Rate", rate, 2f); + } + + @SmallTest + public void testEstimateShouldNotOvershoot() throws Exception { + assertUpdateTime(mTestStartTime); + long eventStart = mTestStartTime + 1000; // start event a long time after initialization + long nextEventTime = postEvents(eventStart, 1, 1000); // one thousand events at 1000Hz + final float rate = mEstimator.getRate(nextEventTime); + assertLessThan("Rate", rate, 1000f); + } + + @SmallTest + public void testGetRateWithoutUpdate() throws Exception { + final float rate = mEstimator.getRate(mTestStartTime); + assertLessThan("Rate", rate, 0.1f); + } + + private void assertLessThan(String label, float a, float b) { + assertTrue(String.format("%s was %f, but should be less than %f", label, a, b), a < b); + } + + private void assertGreaterThan(String label, float a, float b) { + assertTrue(String.format("%s was %f, but should be more than %f", label, a, b), a > b); + } + + /** @returns the next event time. */ + private long postEvents(long start, long dt, int num) { + long time = start; + for (int i = 0; i < num; i++) { + mEstimator.update(time); + time += dt; + } + return time; + } + + private void assertUpdateTime(long time) { + final float rate = mEstimator.update(time); + assertFalse(Float.isInfinite(rate)); + assertFalse(Float.isNaN(rate)); + } +} diff --git a/services/usb/java/com/android/server/usb/UsbDeviceManager.java b/services/usb/java/com/android/server/usb/UsbDeviceManager.java index 08cbcf764a4e..df9242dc0aa1 100644 --- a/services/usb/java/com/android/server/usb/UsbDeviceManager.java +++ b/services/usb/java/com/android/server/usb/UsbDeviceManager.java @@ -319,6 +319,7 @@ public class UsbDeviceManager { // current USB state private boolean mConnected; private boolean mHostConnected; + private boolean mSourcePower; private boolean mConfigured; private boolean mUsbDataUnlocked; private String mCurrentFunctions; @@ -399,7 +400,8 @@ public class UsbDeviceManager { public void updateHostState(UsbPort port, UsbPortStatus status) { boolean hostConnected = status.getCurrentDataRole() == UsbPort.DATA_ROLE_HOST; - obtainMessage(MSG_UPDATE_HOST_STATE, hostConnected ? 1 :0, 0).sendToTarget(); + boolean sourcePower = status.getCurrentPowerRole() == UsbPort.POWER_ROLE_SOURCE; + obtainMessage(MSG_UPDATE_HOST_STATE, hostConnected ? 1 :0, sourcePower ? 1 :0).sendToTarget(); } private boolean waitForState(String state) { @@ -717,6 +719,7 @@ public class UsbDeviceManager { break; case MSG_UPDATE_HOST_STATE: mHostConnected = (msg.arg1 == 1); + mSourcePower = (msg.arg2 == 1); updateUsbNotification(); if (mBootCompleted) { updateUsbStateBroadcastIfNeeded(); @@ -782,7 +785,11 @@ public class UsbDeviceManager { Resources r = mContext.getResources(); if (mConnected) { if (!mUsbDataUnlocked) { - id = com.android.internal.R.string.usb_charging_notification_title; + if (mSourcePower) { + id = com.android.internal.R.string.usb_supplying_notification_title; + } else { + id = com.android.internal.R.string.usb_charging_notification_title; + } } else if (UsbManager.containsFunction(mCurrentFunctions, UsbManager.USB_FUNCTION_MTP)) { id = com.android.internal.R.string.usb_mtp_notification_title; @@ -795,10 +802,12 @@ public class UsbDeviceManager { } else if (UsbManager.containsFunction(mCurrentFunctions, UsbManager.USB_FUNCTION_ACCESSORY)) { id = com.android.internal.R.string.usb_accessory_notification_title; + } else if (mSourcePower) { + id = com.android.internal.R.string.usb_supplying_notification_title; } else { id = com.android.internal.R.string.usb_charging_notification_title; } - } else if (mHostConnected) { + } else if (mSourcePower) { id = com.android.internal.R.string.usb_supplying_notification_title; } if (id != mUsbNotificationId) { diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java index 57d68fd9e37e..51f5899b6841 100644 --- a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java +++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java @@ -1101,7 +1101,7 @@ public class VoiceInteractionManagerService extends SystemService { if (hit && doit) { // The user is force stopping our current interactor/recognizer. // Clear the current settings and restore default state. - synchronized (VoiceInteractionManagerService.this) { + synchronized (VoiceInteractionManagerServiceStub.this) { unloadAllKeyphraseModels(); if (mImpl != null) { mImpl.shutdownLocked(); @@ -1126,7 +1126,7 @@ public class VoiceInteractionManagerService extends SystemService { int userHandle = getChangingUserId(); if (DEBUG) Slog.d(TAG, "onSomePackagesChanged user=" + userHandle); - synchronized (VoiceInteractionManagerService.this) { + synchronized (VoiceInteractionManagerServiceStub.this) { ComponentName curInteractor = getCurInteractor(userHandle); ComponentName curRecognizer = getCurRecognizer(userHandle); if (curRecognizer == null) { diff --git a/telecomm/java/android/telecom/Call.java b/telecomm/java/android/telecom/Call.java index 39a12070a69b..7d7e1eb29e80 100644 --- a/telecomm/java/android/telecom/Call.java +++ b/telecomm/java/android/telecom/Call.java @@ -289,7 +289,7 @@ public final class Call { /** * Whether the call is associated with the work profile. */ - public static final int PROPERTY_WORK_CALL = 0x00000020; + public static final int PROPERTY_ENTERPRISE_CALL = 0x00000020; /** * When set, indicates that this {@code Call} does not actually exist locally for the diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java index 33e6cea7c77f..78efd055aa6d 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -459,12 +459,13 @@ public class CarrierConfigManager { /** * Whether cellular data is required to access visual voicemail. */ - public static final String KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL = "vvm_cellular_data_required"; + public static final String KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL = + "vvm_cellular_data_required_bool"; /** * Whether to prefetch audio data on new voicemail arrival, defaulted to true. */ - public static final String KEY_VVM_PREFETCH_BOOL = "vvm_prefetch"; + public static final String KEY_VVM_PREFETCH_BOOL = "vvm_prefetch_bool"; /** * The package name of the carrier's visual voicemail app to ensure that dialer visual voicemail diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/Layout.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/Layout.java index cbd041593d95..1afd90d39f31 100644 --- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/Layout.java +++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/Layout.java @@ -23,6 +23,7 @@ import com.android.ide.common.rendering.api.SessionParams; import com.android.ide.common.rendering.api.StyleResourceValue; import com.android.layoutlib.bridge.Bridge; import com.android.layoutlib.bridge.android.BridgeContext; +import com.android.layoutlib.bridge.android.RenderParamsFlags; import com.android.layoutlib.bridge.bars.AppCompatActionBar; import com.android.layoutlib.bridge.bars.BridgeActionBar; import com.android.layoutlib.bridge.bars.Config; @@ -232,8 +233,10 @@ class Layout extends RelativeLayout { private BridgeActionBar createActionBar(@NonNull BridgeContext context, @NonNull SessionParams params) { + boolean isMenu = "menu".equals(params.getFlag(RenderParamsFlags.FLAG_KEY_ROOT_TAG)); + BridgeActionBar actionBar; - if (mBuilder.isThemeAppCompat()) { + if (mBuilder.isThemeAppCompat() && !isMenu) { actionBar = new AppCompatActionBar(context, params); } else { actionBar = new FrameworkActionBar(context, params); |