diff options
593 files changed, 9256 insertions, 5249 deletions
diff --git a/Android.mk b/Android.mk index 313f329f50af..00dc78441028 100644 --- a/Android.mk +++ b/Android.mk @@ -530,6 +530,7 @@ LOCAL_SRC_FILES += \ telephony/java/com/android/ims/internal/uce/presence/IPresenceService.aidl \ telephony/java/com/android/ims/internal/uce/presence/IPresenceListener.aidl \ telephony/java/com/android/ims/ImsConfigListener.aidl \ + telephony/java/com/android/internal/telephony/IApnSourceService.aidl \ telephony/java/com/android/internal/telephony/ICarrierConfigLoader.aidl \ telephony/java/com/android/internal/telephony/IMms.aidl \ telephony/java/com/android/internal/telephony/IOnSubscriptionsChangedListener.aidl \ @@ -609,6 +610,7 @@ LOCAL_STATIC_JAVA_LIBRARIES := \ android.hardware.usb-V1.1-java-constants \ android.hardware.vibrator-V1.0-java-constants \ android.hardware.vibrator-V1.1-java-constants \ + android.hardware.wifi-V1.0-java-constants \ # Loaded with System.loadLibrary by android.view.textclassifier LOCAL_REQUIRED_MODULES += libtextclassifier diff --git a/api/current.txt b/api/current.txt index a71c63ae598c..5dd3839b48a9 100644 --- a/api/current.txt +++ b/api/current.txt @@ -10712,7 +10712,6 @@ package android.content.pm { field public static final java.lang.String FEATURE_NFC_HOST_CARD_EMULATION = "android.hardware.nfc.hce"; field public static final java.lang.String FEATURE_NFC_HOST_CARD_EMULATION_NFCF = "android.hardware.nfc.hcef"; field public static final java.lang.String FEATURE_OPENGLES_EXTENSION_PACK = "android.hardware.opengles.aep"; - field public static final java.lang.String FEATURE_PC = "android.hardware.type.pc"; field public static final java.lang.String FEATURE_PICTURE_IN_PICTURE = "android.software.picture_in_picture"; field public static final java.lang.String FEATURE_PRINTING = "android.software.print"; field public static final java.lang.String FEATURE_SCREEN_LANDSCAPE = "android.hardware.screen.landscape"; @@ -10754,7 +10753,6 @@ package android.content.pm { field public static final java.lang.String FEATURE_WIFI = "android.hardware.wifi"; field public static final java.lang.String FEATURE_WIFI_AWARE = "android.hardware.wifi.aware"; field public static final java.lang.String FEATURE_WIFI_DIRECT = "android.hardware.wifi.direct"; - field public static final java.lang.String FEATURE_WIFI_PASSPOINT = "android.hardware.wifi.passpoint"; field public static final int GET_ACTIVITIES = 1; // 0x1 field public static final int GET_CONFIGURATIONS = 16384; // 0x4000 field public static final deprecated int GET_DISABLED_COMPONENTS = 512; // 0x200 @@ -38673,8 +38671,7 @@ package android.telecom { public static final class Call.RttCall { method public int getRttAudioMode(); - method public java.lang.String read() throws java.io.IOException; - method public java.lang.String readImmediately() throws java.io.IOException; + method public java.lang.String read(); method public void setRttMode(int); method public void write(java.lang.String) throws java.io.IOException; field public static final int RTT_MODE_FULL = 1; // 0x1 @@ -43965,7 +43962,6 @@ package android.view { method public android.os.Vibrator getVibrator(); method public boolean[] hasKeys(int...); method public boolean hasMicrophone(); - method public boolean isEnabled(); method public boolean isVirtual(); method public boolean supportsSource(int); method public void writeToParcel(android.os.Parcel, int); @@ -46955,7 +46951,6 @@ package android.view.accessibility { } public final class AccessibilityManager { - method public void addAccessibilityRequestPreparer(android.view.accessibility.AccessibilityRequestPreparer); method public boolean addAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener); method public void addAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener, android.os.Handler); method public boolean addTouchExplorationStateChangeListener(android.view.accessibility.AccessibilityManager.TouchExplorationStateChangeListener); @@ -46966,7 +46961,6 @@ package android.view.accessibility { method public void interrupt(); method public boolean isEnabled(); method public boolean isTouchExplorationEnabled(); - method public void removeAccessibilityRequestPreparer(android.view.accessibility.AccessibilityRequestPreparer); method public boolean removeAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener); method public boolean removeTouchExplorationStateChangeListener(android.view.accessibility.AccessibilityManager.TouchExplorationStateChangeListener); method public void sendAccessibilityEvent(android.view.accessibility.AccessibilityEvent); @@ -47283,13 +47277,6 @@ package android.view.accessibility { method public void setToIndex(int); } - public abstract class AccessibilityRequestPreparer { - ctor public AccessibilityRequestPreparer(android.view.View, int); - method public android.view.View getView(); - method public abstract void onPrepareExtraData(int, java.lang.String, android.os.Bundle, android.os.Message); - field public static final int REQUEST_TYPE_EXTRA_DATA = 1; // 0x1 - } - public final class AccessibilityWindowInfo implements android.os.Parcelable { method public int describeContents(); method public android.view.accessibility.AccessibilityNodeInfo getAnchor(); @@ -48811,7 +48798,6 @@ package android.webkit { method public void goBack(); method public void goBackOrForward(int); method public void goForward(); - method public static void initSafeBrowsing(android.content.Context, android.webkit.ValueCallback<java.lang.Boolean>); method public void invokeZoomPicker(); method public boolean isPrivateBrowsingEnabled(); method public void loadData(java.lang.String, java.lang.String, java.lang.String); @@ -48856,7 +48842,6 @@ package android.webkit { method public static void setWebContentsDebuggingEnabled(boolean); method public void setWebViewClient(android.webkit.WebViewClient); method public deprecated boolean showFindDialog(java.lang.String, boolean); - method public static void shutdownSafeBrowsing(); method public void stopLoading(); method public void zoomBy(float); method public boolean zoomIn(); @@ -69846,7 +69831,6 @@ package javax.net.ssl { public abstract class SSLSocketFactory extends javax.net.SocketFactory { ctor public SSLSocketFactory(); method public abstract java.net.Socket createSocket(java.net.Socket, java.lang.String, int, boolean) throws java.io.IOException; - method public java.net.Socket createSocket(java.net.Socket, java.io.InputStream, boolean) throws java.io.IOException; method public static synchronized javax.net.SocketFactory getDefault(); method public abstract java.lang.String[] getDefaultCipherSuites(); method public abstract java.lang.String[] getSupportedCipherSuites(); diff --git a/api/system-current.txt b/api/system-current.txt index fbe210925ab3..dfad7a2d6883 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -6679,7 +6679,6 @@ package android.app.admin { field public static final java.lang.String ACTION_SET_NEW_PASSWORD = "android.app.action.SET_NEW_PASSWORD"; field public static final java.lang.String ACTION_SET_PROFILE_OWNER = "android.app.action.SET_PROFILE_OWNER"; field public static final java.lang.String ACTION_START_ENCRYPTION = "android.app.action.START_ENCRYPTION"; - field public static final java.lang.String ACTION_STATE_USER_SETUP_COMPLETE = "android.app.action.STATE_USER_SETUP_COMPLETE"; field public static final java.lang.String ACTION_SYSTEM_UPDATE_POLICY_CHANGED = "android.app.action.SYSTEM_UPDATE_POLICY_CHANGED"; field public static final java.lang.String DELEGATION_APP_RESTRICTIONS = "delegation-app-restrictions"; field public static final java.lang.String DELEGATION_BLOCK_UNINSTALL = "delegation-block-uninstall"; @@ -11336,7 +11335,6 @@ package android.content.pm { method public abstract java.util.List<android.content.pm.ResolveInfo> queryIntentContentProviders(android.content.Intent, int); method public abstract java.util.List<android.content.pm.ResolveInfo> queryIntentServices(android.content.Intent, int); method public abstract java.util.List<android.content.pm.PermissionInfo> queryPermissionsByGroup(java.lang.String, int) throws android.content.pm.PackageManager.NameNotFoundException; - method public abstract void registerDexModule(java.lang.String, android.content.pm.PackageManager.DexModuleRegisterCallback); method public abstract void removeOnPermissionsChangeListener(android.content.pm.PackageManager.OnPermissionsChangedListener); method public abstract deprecated void removePackageFromPreferred(java.lang.String); method public abstract void removePermission(java.lang.String); @@ -11415,7 +11413,6 @@ package android.content.pm { field public static final java.lang.String FEATURE_NFC_HOST_CARD_EMULATION = "android.hardware.nfc.hce"; field public static final java.lang.String FEATURE_NFC_HOST_CARD_EMULATION_NFCF = "android.hardware.nfc.hcef"; field public static final java.lang.String FEATURE_OPENGLES_EXTENSION_PACK = "android.hardware.opengles.aep"; - field public static final java.lang.String FEATURE_PC = "android.hardware.type.pc"; field public static final java.lang.String FEATURE_PICTURE_IN_PICTURE = "android.software.picture_in_picture"; field public static final java.lang.String FEATURE_PRINTING = "android.software.print"; field public static final java.lang.String FEATURE_SCREEN_LANDSCAPE = "android.hardware.screen.landscape"; @@ -11458,7 +11455,6 @@ package android.content.pm { field public static final java.lang.String FEATURE_WIFI = "android.hardware.wifi"; field public static final java.lang.String FEATURE_WIFI_AWARE = "android.hardware.wifi.aware"; field public static final java.lang.String FEATURE_WIFI_DIRECT = "android.hardware.wifi.direct"; - field public static final java.lang.String FEATURE_WIFI_PASSPOINT = "android.hardware.wifi.passpoint"; field public static final int FLAG_PERMISSION_GRANTED_BY_DEFAULT = 32; // 0x20 field public static final int FLAG_PERMISSION_POLICY_FIXED = 4; // 0x4 field public static final int FLAG_PERMISSION_REVIEW_REQUIRED = 64; // 0x40 @@ -11558,11 +11554,6 @@ package android.content.pm { field public static final int VERSION_CODE_HIGHEST = -1; // 0xffffffff } - public static abstract class PackageManager.DexModuleRegisterCallback { - ctor public PackageManager.DexModuleRegisterCallback(); - method public abstract void onDexModuleRegistered(java.lang.String, boolean, java.lang.String); - } - public static class PackageManager.NameNotFoundException extends android.util.AndroidException { ctor public PackageManager.NameNotFoundException(); ctor public PackageManager.NameNotFoundException(java.lang.String); @@ -41917,8 +41908,7 @@ package android.telecom { public static final class Call.RttCall { method public int getRttAudioMode(); - method public java.lang.String read() throws java.io.IOException; - method public java.lang.String readImmediately() throws java.io.IOException; + method public java.lang.String read(); method public void setRttMode(int); method public void write(java.lang.String) throws java.io.IOException; field public static final int RTT_MODE_FULL = 1; // 0x1 @@ -44389,7 +44379,6 @@ package android.test.mock { method public java.util.List<android.content.pm.ResolveInfo> queryIntentContentProviders(android.content.Intent, int); method public java.util.List<android.content.pm.ResolveInfo> queryIntentServices(android.content.Intent, int); method public java.util.List<android.content.pm.PermissionInfo> queryPermissionsByGroup(java.lang.String, int) throws android.content.pm.PackageManager.NameNotFoundException; - method public void registerDexModule(java.lang.String, android.content.pm.PackageManager.DexModuleRegisterCallback); method public void removeOnPermissionsChangeListener(android.content.pm.PackageManager.OnPermissionsChangedListener); method public void removePackageFromPreferred(java.lang.String); method public void removePermission(java.lang.String); @@ -47512,7 +47501,6 @@ package android.view { method public android.os.Vibrator getVibrator(); method public boolean[] hasKeys(int...); method public boolean hasMicrophone(); - method public boolean isEnabled(); method public boolean isVirtual(); method public boolean supportsSource(int); method public void writeToParcel(android.os.Parcel, int); @@ -50505,7 +50493,6 @@ package android.view.accessibility { } public final class AccessibilityManager { - method public void addAccessibilityRequestPreparer(android.view.accessibility.AccessibilityRequestPreparer); method public boolean addAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener); method public void addAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener, android.os.Handler); method public boolean addTouchExplorationStateChangeListener(android.view.accessibility.AccessibilityManager.TouchExplorationStateChangeListener); @@ -50517,7 +50504,6 @@ package android.view.accessibility { method public static boolean isAccessibilityButtonSupported(); method public boolean isEnabled(); method public boolean isTouchExplorationEnabled(); - method public void removeAccessibilityRequestPreparer(android.view.accessibility.AccessibilityRequestPreparer); method public boolean removeAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener); method public boolean removeTouchExplorationStateChangeListener(android.view.accessibility.AccessibilityManager.TouchExplorationStateChangeListener); method public void sendAccessibilityEvent(android.view.accessibility.AccessibilityEvent); @@ -50834,13 +50820,6 @@ package android.view.accessibility { method public void setToIndex(int); } - public abstract class AccessibilityRequestPreparer { - ctor public AccessibilityRequestPreparer(android.view.View, int); - method public android.view.View getView(); - method public abstract void onPrepareExtraData(int, java.lang.String, android.os.Bundle, android.os.Message); - field public static final int REQUEST_TYPE_EXTRA_DATA = 1; // 0x1 - } - public final class AccessibilityWindowInfo implements android.os.Parcelable { method public int describeContents(); method public android.view.accessibility.AccessibilityNodeInfo getAnchor(); @@ -52456,7 +52435,6 @@ package android.webkit { method public void goBack(); method public void goBackOrForward(int); method public void goForward(); - method public static void initSafeBrowsing(android.content.Context, android.webkit.ValueCallback<java.lang.Boolean>); method public void invokeZoomPicker(); method public boolean isPrivateBrowsingEnabled(); method public void loadData(java.lang.String, java.lang.String, java.lang.String); @@ -52501,7 +52479,6 @@ package android.webkit { method public static void setWebContentsDebuggingEnabled(boolean); method public void setWebViewClient(android.webkit.WebViewClient); method public deprecated boolean showFindDialog(java.lang.String, boolean); - method public static void shutdownSafeBrowsing(); method public void stopLoading(); method public void zoomBy(float); method public boolean zoomIn(); @@ -52689,10 +52666,8 @@ package android.webkit { method public abstract java.lang.String findAddress(java.lang.String); method public abstract void freeMemoryForTests(); method public abstract java.lang.String getDefaultUserAgent(android.content.Context); - method public abstract void initSafeBrowsing(android.content.Context, android.webkit.ValueCallback<java.lang.Boolean>); method public abstract android.net.Uri[] parseFileChooserResult(int, android.content.Intent); method public abstract void setWebContentsDebuggingEnabled(boolean); - method public abstract void shutdownSafeBrowsing(); } public class WebViewFragment extends android.app.Fragment { @@ -73764,7 +73739,6 @@ package javax.net.ssl { public abstract class SSLSocketFactory extends javax.net.SocketFactory { ctor public SSLSocketFactory(); method public abstract java.net.Socket createSocket(java.net.Socket, java.lang.String, int, boolean) throws java.io.IOException; - method public java.net.Socket createSocket(java.net.Socket, java.io.InputStream, boolean) throws java.io.IOException; method public static synchronized javax.net.SocketFactory getDefault(); method public abstract java.lang.String[] getDefaultCipherSuites(); method public abstract java.lang.String[] getSupportedCipherSuites(); diff --git a/api/test-current.txt b/api/test-current.txt index d586670b53f9..9bafd5f74b14 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -10753,7 +10753,6 @@ package android.content.pm { field public static final java.lang.String FEATURE_NFC_HOST_CARD_EMULATION = "android.hardware.nfc.hce"; field public static final java.lang.String FEATURE_NFC_HOST_CARD_EMULATION_NFCF = "android.hardware.nfc.hcef"; field public static final java.lang.String FEATURE_OPENGLES_EXTENSION_PACK = "android.hardware.opengles.aep"; - field public static final java.lang.String FEATURE_PC = "android.hardware.type.pc"; field public static final java.lang.String FEATURE_PICTURE_IN_PICTURE = "android.software.picture_in_picture"; field public static final java.lang.String FEATURE_PRINTING = "android.software.print"; field public static final java.lang.String FEATURE_SCREEN_LANDSCAPE = "android.hardware.screen.landscape"; @@ -10795,7 +10794,6 @@ package android.content.pm { field public static final java.lang.String FEATURE_WIFI = "android.hardware.wifi"; field public static final java.lang.String FEATURE_WIFI_AWARE = "android.hardware.wifi.aware"; field public static final java.lang.String FEATURE_WIFI_DIRECT = "android.hardware.wifi.direct"; - field public static final java.lang.String FEATURE_WIFI_PASSPOINT = "android.hardware.wifi.passpoint"; field public static final int GET_ACTIVITIES = 1; // 0x1 field public static final int GET_CONFIGURATIONS = 16384; // 0x4000 field public static final deprecated int GET_DISABLED_COMPONENTS = 512; // 0x200 @@ -32618,7 +32616,9 @@ package android.print { public final class PrintManager { method public java.util.List<android.print.PrintJob> getPrintJobs(); + method public java.util.List<android.printservice.PrintServiceInfo> getPrintServices(int); method public android.print.PrintJob print(java.lang.String, android.print.PrintDocumentAdapter, android.print.PrintAttributes); + field public static final int ALL_SERVICES = 3; // 0x3 } public final class PrinterCapabilitiesInfo implements android.os.Parcelable { @@ -32748,6 +32748,13 @@ package android.printservice { field public static final java.lang.String SERVICE_META_DATA = "android.printservice"; } + public final class PrintServiceInfo implements android.os.Parcelable { + method public int describeContents(); + method public android.content.ComponentName getComponentName(); + method public void writeToParcel(android.os.Parcel, int); + field public static final android.os.Parcelable.Creator<android.printservice.PrintServiceInfo> CREATOR; + } + public abstract class PrinterDiscoverySession { ctor public PrinterDiscoverySession(); method public final void addPrinters(java.util.List<android.print.PrinterInfo>); @@ -35011,6 +35018,7 @@ package android.provider { field public static final java.lang.String DEFAULT_INPUT_METHOD = "default_input_method"; field public static final deprecated java.lang.String DEVELOPMENT_SETTINGS_ENABLED = "development_settings_enabled"; field public static final deprecated java.lang.String DEVICE_PROVISIONED = "device_provisioned"; + field public static final java.lang.String DISABLED_PRINT_SERVICES = "disabled_print_services"; field public static final java.lang.String ENABLED_ACCESSIBILITY_SERVICES = "enabled_accessibility_services"; field public static final java.lang.String ENABLED_INPUT_METHODS = "enabled_input_methods"; field public static final java.lang.String ENABLED_NOTIFICATION_POLICY_ACCESS_PACKAGES = "enabled_notification_policy_access_packages"; @@ -38870,7 +38878,7 @@ package android.telecom { public static final class Call.RttCall { method public int getRttAudioMode(); - method public java.lang.String read() throws java.io.IOException; + method public java.lang.String read(); method public java.lang.String readImmediately() throws java.io.IOException; method public void setRttMode(int); method public void write(java.lang.String) throws java.io.IOException; @@ -44350,7 +44358,6 @@ package android.view { method public android.os.Vibrator getVibrator(); method public boolean[] hasKeys(int...); method public boolean hasMicrophone(); - method public boolean isEnabled(); method public boolean isVirtual(); method public boolean supportsSource(int); method public void writeToParcel(android.os.Parcel, int); @@ -49216,7 +49223,6 @@ package android.webkit { method public void goBack(); method public void goBackOrForward(int); method public void goForward(); - method public static void initSafeBrowsing(android.content.Context, android.webkit.ValueCallback<java.lang.Boolean>); method public void invokeZoomPicker(); method public boolean isPrivateBrowsingEnabled(); method public void loadData(java.lang.String, java.lang.String, java.lang.String); @@ -49261,7 +49267,6 @@ package android.webkit { method public static void setWebContentsDebuggingEnabled(boolean); method public void setWebViewClient(android.webkit.WebViewClient); method public deprecated boolean showFindDialog(java.lang.String, boolean); - method public static void shutdownSafeBrowsing(); method public void stopLoading(); method public void zoomBy(float); method public boolean zoomIn(); @@ -70266,7 +70271,6 @@ package javax.net.ssl { public abstract class SSLSocketFactory extends javax.net.SocketFactory { ctor public SSLSocketFactory(); method public abstract java.net.Socket createSocket(java.net.Socket, java.lang.String, int, boolean) throws java.io.IOException; - method public java.net.Socket createSocket(java.net.Socket, java.io.InputStream, boolean) throws java.io.IOException; method public static synchronized javax.net.SocketFactory getDefault(); method public abstract java.lang.String[] getDefaultCipherSuites(); method public abstract java.lang.String[] getSupportedCipherSuites(); diff --git a/cmds/pm/src/com/android/commands/pm/Pm.java b/cmds/pm/src/com/android/commands/pm/Pm.java index d71573f7ca50..c4193f647c32 100644 --- a/cmds/pm/src/com/android/commands/pm/Pm.java +++ b/cmds/pm/src/com/android/commands/pm/Pm.java @@ -1473,7 +1473,7 @@ public final class Pm { ClearDataObserver obs = new ClearDataObserver(); try { mPm.freeStorageAndNotify(volumeUuid, sizeVal, - StorageManager.FLAG_ALLOCATE_DEFY_RESERVED, obs); + StorageManager.FLAG_ALLOCATE_DEFY_ALL_RESERVED, obs); synchronized (obs) { while (!obs.finished) { try { diff --git a/core/java/android/animation/ValueAnimator.java b/core/java/android/animation/ValueAnimator.java index e686a89accef..ee89ca8d55e2 100644 --- a/core/java/android/animation/ValueAnimator.java +++ b/core/java/android/animation/ValueAnimator.java @@ -1469,24 +1469,21 @@ public class ValueAnimator extends Animator implements AnimationHandler.Animatio if (!mSelfPulse) { return; } - AnimationHandler handler = AnimationHandler.getInstance(); - handler.addOneShotCommitCallback(this); + getAnimationHandler().addOneShotCommitCallback(this); } private void removeAnimationCallback() { if (!mSelfPulse) { return; } - AnimationHandler handler = AnimationHandler.getInstance(); - handler.removeCallback(this); + getAnimationHandler().removeCallback(this); } private void addAnimationCallback(long delay) { if (!mSelfPulse) { return; } - AnimationHandler handler = AnimationHandler.getInstance(); - handler.addAnimationFrameCallback(this, delay); + getAnimationHandler().addAnimationFrameCallback(this, delay); } /** @@ -1643,4 +1640,12 @@ public class ValueAnimator extends Animator implements AnimationHandler.Animatio public void setAllowRunningAsynchronously(boolean mayRunAsync) { // It is up to subclasses to support this, if they can. } + + /** + * @return The {@link AnimationHandler} that will be used to schedule updates for this animator. + * @hide + */ + public AnimationHandler getAnimationHandler() { + return AnimationHandler.getInstance(); + } } diff --git a/core/java/android/app/ActivityManagerInternal.java b/core/java/android/app/ActivityManagerInternal.java index e9ee13866b1a..d3b4b403e1ac 100644 --- a/core/java/android/app/ActivityManagerInternal.java +++ b/core/java/android/app/ActivityManagerInternal.java @@ -249,4 +249,15 @@ public abstract class ActivityManagerInternal { * {@param vr2dDisplayId}. */ public abstract void setVr2dDisplayId(int vr2dDisplayId); + + /** + * Saves the current activity manager state and includes the saved state in the next dump of + * activity manager. + */ + public abstract void saveANRState(String reason); + + /** + * Clears the previously saved activity manager ANR state. + */ + public abstract void clearSavedANRState(); } diff --git a/core/java/android/app/AppOpsManager.java b/core/java/android/app/AppOpsManager.java index e672ada3cbb4..b331d84010d0 100644 --- a/core/java/android/app/AppOpsManager.java +++ b/core/java/android/app/AppOpsManager.java @@ -1947,4 +1947,13 @@ public class AppOpsManager { public void finishOp(int op) { finishOp(op, Process.myUid(), mContext.getOpPackageName()); } + + /** @hide */ + public boolean isOperationActive(int code, int uid, String packageName) { + try { + return mService.isOperationActive(code, uid, packageName); + } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); + } + } } diff --git a/core/java/android/app/FragmentManager.java b/core/java/android/app/FragmentManager.java index 9fb9c00ee9e9..6cb987c228b5 100644 --- a/core/java/android/app/FragmentManager.java +++ b/core/java/android/app/FragmentManager.java @@ -1355,9 +1355,11 @@ final class FragmentManagerImpl extends FragmentManager implements LayoutInflate f.performDestroyView(); dispatchOnFragmentViewDestroyed(f, false); if (f.mView != null && f.mContainer != null) { - // Stop any current animations: - f.mView.clearAnimation(); - f.mContainer.endViewTransition(f.mView); + if (getTargetSdk() >= Build.VERSION_CODES.O) { + // Stop any current animations: + f.mView.clearAnimation(); + f.mContainer.endViewTransition(f.mView); + } Animator anim = null; if (mCurState > Fragment.INITIALIZING && !mDestroyed && f.mView.getVisibility() == View.VISIBLE diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java index ff9425ebd155..9eacd2166bfd 100644 --- a/core/java/android/app/admin/DevicePolicyManager.java +++ b/core/java/android/app/admin/DevicePolicyManager.java @@ -279,7 +279,6 @@ public class DevicePolicyManager { * @hide */ @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION) - @SystemApi public static final String ACTION_STATE_USER_SETUP_COMPLETE = "android.app.action.STATE_USER_SETUP_COMPLETE"; diff --git a/core/java/android/app/assist/AssistStructure.java b/core/java/android/app/assist/AssistStructure.java index c99a1e4311dd..266fa7e24b2c 100644 --- a/core/java/android/app/assist/AssistStructure.java +++ b/core/java/android/app/assist/AssistStructure.java @@ -18,7 +18,6 @@ import android.os.PooledStringReader; import android.os.PooledStringWriter; import android.os.RemoteException; import android.os.SystemClock; -import android.service.autofill.FillContext; import android.service.autofill.FillRequest; import android.text.TextUtils; import android.util.Log; @@ -31,7 +30,6 @@ import android.view.ViewStructure.HtmlInfo.Builder; import android.view.WindowManager; import android.view.WindowManagerGlobal; import android.view.autofill.AutofillId; -import android.view.autofill.AutofillManager; import android.view.autofill.AutofillValue; import java.util.ArrayList; @@ -39,18 +37,18 @@ import java.util.Arrays; import java.util.List; /** - * Assist data automatically created by the platform's implementation of Assist and Autofill. + * Assist data automatically created by the platform's implementation of assist and autofill. * - * <p>The structure is used for Assist purposes when created by + * <p>The structure is used for assist purposes when created by * {@link android.app.Activity#onProvideAssistData}, {@link View#onProvideStructure(ViewStructure)}, * or {@link View#onProvideVirtualStructure(ViewStructure)}. * - * <p>The structure is used for Autofill purposes when created by + * <p>The structure is used for autofill purposes when created by * {@link View#onProvideAutofillStructure(ViewStructure, int)}, * or {@link View#onProvideAutofillVirtualStructure(ViewStructure, int)}. * - * <p>For performance reasons, some properties of the Assist data might be available just for Assist - * or Autofill purposes; in those case, the property availability will be document in its javadoc. + * <p>For performance reasons, some properties of the assist data might be available just for assist + * or autofill purposes; in those case, the property availability will be document in its javadoc. */ public class AssistStructure implements Parcelable { static final String TAG = "AssistStructure"; @@ -958,10 +956,10 @@ public class AssistStructure implements Parcelable { /** * Gets the id that can be used to autofill the view contents. * - * <p>It's relevant set when the {@link AssistStructure} is used for Autofill purposes. + * <p>It's only relevant when the {@link AssistStructure} is used for autofill purposes. * * @return id that can be used to autofill the view contents, or {@code null} if the - * structure was created for Assist purposes. + * structure was created for assist purposes. */ @Nullable public AutofillId getAutofillId() { return mAutofillId; @@ -970,10 +968,10 @@ public class AssistStructure implements Parcelable { /** * Gets the the type of value that can be used to autofill the view contents. * - * <p>It's only relevant when the {@link AssistStructure} is used for Autofill purposes. + * <p>It's only relevant when the {@link AssistStructure} is used for autofill purposes. * * @return autofill type as defined by {@link View#getAutofillType()}, - * or {@link View#AUTOFILL_TYPE_NONE} if the structure was created for Assist purposes. + * or {@link View#AUTOFILL_TYPE_NONE} if the structure was created for assist purposes. */ public @View.AutofillType int getAutofillType() { return mAutofillType; @@ -983,11 +981,11 @@ public class AssistStructure implements Parcelable { * Describes the content of a view so that a autofill service can fill in the appropriate * data. * - * <p>It's only relevant when the {@link AssistStructure} is used for Autofill purposes, + * <p>It's only relevant when the {@link AssistStructure} is used for autofill purposes, * not for Assist - see {@link View#getAutofillHints()} for more info. * * @return The autofill hints for this view, or {@code null} if the structure was created - * for Assist purposes. + * for assist purposes. */ @Nullable public String[] getAutofillHints() { return mAutofillHints; @@ -996,11 +994,11 @@ public class AssistStructure implements Parcelable { /** * Gets the the value of this view. * - * <p>It's only relevant when the {@link AssistStructure} is used for Autofill purposes, - * not for Assist purposes. + * <p>It's only relevant when the {@link AssistStructure} is used for autofill purposes, + * not for assist purposes. * * @return the autofill value of this view, or {@code null} if the structure was created - * for Assist purposes. + * for assist purposes. */ @Nullable public AutofillValue getAutofillValue() { return mAutofillValue; @@ -1017,11 +1015,11 @@ public class AssistStructure implements Parcelable { * <p>Typically used by nodes whose {@link View#getAutofillType()} is a list to indicate * the meaning of each possible value in the list. * - * <p>It's relevant when the {@link AssistStructure} is used for Autofill purposes, not - * for Assist purposes. + * <p>It's relevant when the {@link AssistStructure} is used for autofill purposes, not + * for assist purposes. * * @return the options that can be used to autofill this view, or {@code null} if the - * structure was created for Assist purposes. + * structure was created for assist purposes. */ @Nullable public CharSequence[] getAutofillOptions() { return mAutofillOptions; @@ -1106,8 +1104,8 @@ public class AssistStructure implements Parcelable { * or scaling. The returned Matrix object is owned by ViewNode; do not modify it. * Returns null if there is no transformation applied to the view. * - * <p>It's only relevant when the {@link AssistStructure} is used for Assist purposes, - * not for Autofill purposes. + * <p>It's only relevant when the {@link AssistStructure} is used for assist purposes, + * not for autofill purposes. */ public Matrix getTransformation() { return mMatrix; @@ -1118,8 +1116,8 @@ public class AssistStructure implements Parcelable { * characterstics, as set by {@link ViewStructure#setElevation * ViewStructure.setElevation(float)}. * - * <p>It's only relevant when the {@link AssistStructure} is used for Assist purposes, - * not for Autofill purposes. + * <p>It's only relevant when the {@link AssistStructure} is used for assist purposes, + * not for autofill purposes. */ public float getElevation() { return mElevation; @@ -1130,8 +1128,8 @@ public class AssistStructure implements Parcelable { * of the view's contents, as set by {@link ViewStructure#setAlpha * ViewStructure.setAlpha(float)}. * - * <p>It's only relevant when the {@link AssistStructure} is used for Assist purposes, - * not for Autofill purposes. + * <p>It's only relevant when the {@link AssistStructure} is used for assist purposes, + * not for autofill purposes. */ public float getAlpha() { return mAlpha; @@ -1260,7 +1258,7 @@ public class AssistStructure implements Parcelable { * document. * * <strong>WARNING:</strong> a {@link android.service.autofill.AutofillService} should only - * use this domain for Autofill purposes when it trusts the app generating it (i.e., the app + * use this domain for autofill purposes when it trusts the app generating it (i.e., the app * defined by {@link AssistStructure#getActivityComponent()}). * * @return domain-only part of the document. For example, if the full URL is @@ -1273,11 +1271,11 @@ public class AssistStructure implements Parcelable { /** * Returns the HTML properties associated with this view. * - * <p>It's only relevant when the {@link AssistStructure} is used for Autofill purposes, - * not for Assist purposes. + * <p>It's only relevant when the {@link AssistStructure} is used for autofill purposes, + * not for assist purposes. * * @return the HTML properties associated with this view, or {@code null} if the - * structure was created for Assist purposes. + * structure was created for assist purposes. */ @Nullable public HtmlInfo getHtmlInfo() { return mHtmlInfo; @@ -1301,8 +1299,8 @@ public class AssistStructure implements Parcelable { /** * If {@link #getText()} is non-null, this is where the current selection starts. * - * <p>It's only relevant when the {@link AssistStructure} is used for Assist purposes, - * not for Autofill purposes. + * <p>It's only relevant when the {@link AssistStructure} is used for assist purposes, + * not for autofill purposes. */ public int getTextSelectionStart() { return mText != null ? mText.mTextSelectionStart : -1; @@ -1313,8 +1311,8 @@ public class AssistStructure implements Parcelable { * If there is no selection, returns the same value as {@link #getTextSelectionStart()}, * indicating the cursor position. * - * <p>It's only relevant when the {@link AssistStructure} is used for Assist purposes, - * not for Autofill purposes. + * <p>It's only relevant when the {@link AssistStructure} is used for assist purposes, + * not for autofill purposes. */ public int getTextSelectionEnd() { return mText != null ? mText.mTextSelectionEnd : -1; @@ -1337,8 +1335,8 @@ public class AssistStructure implements Parcelable { * Note that the text may also contain style spans that modify the color of specific * parts of the text. * - * <p>It's only relevant when the {@link AssistStructure} is used for Assist purposes, - * not for Autofill purposes. + * <p>It's only relevant when the {@link AssistStructure} is used for assist purposes, + * not for autofill purposes. */ public int getTextBackgroundColor() { return mText != null ? mText.mTextBackgroundColor : TEXT_COLOR_UNDEFINED; @@ -1350,8 +1348,8 @@ public class AssistStructure implements Parcelable { * Note that the text may also contain style spans that modify the size of specific * parts of the text. * - * <p>It's only relevant when the {@link AssistStructure} is used for Assist purposes, - * not for Autofill purposes. + * <p>It's only relevant when the {@link AssistStructure} is used for assist purposes, + * not for autofill purposes. */ public float getTextSize() { return mText != null ? mText.mTextSize : 0; @@ -1365,8 +1363,8 @@ public class AssistStructure implements Parcelable { * Note that the text may also contain style spans that modify the style of specific * parts of the text. * - * <p>It's only relevant when the {@link AssistStructure} is used for Assist purposes, - * not for Autofill purposes. + * <p>It's only relevant when the {@link AssistStructure} is used for assist purposes, + * not for autofill purposes. */ public int getTextStyle() { return mText != null ? mText.mTextStyle : 0; @@ -1378,8 +1376,8 @@ public class AssistStructure implements Parcelable { * into the text string where that line starts. May return null if there is no line * information. * - * <p>It's only relevant when the {@link AssistStructure} is used for Assist purposes, - * not for Autofill purposes. + * <p>It's only relevant when the {@link AssistStructure} is used for assist purposes, + * not for autofill purposes. */ public int[] getTextLineCharOffsets() { return mText != null ? mText.mLineCharOffsets : null; @@ -1391,8 +1389,8 @@ public class AssistStructure implements Parcelable { * where that text appears in the view. May return null if there is no line * information. * - * <p>It's only relevant when the {@link AssistStructure} is used for Assist purposes, - * not for Autofill purposes. + * <p>It's only relevant when the {@link AssistStructure} is used for assist purposes, + * not for autofill purposes. */ public int[] getTextLineBaselines() { return mText != null ? mText.mLineBaselines : null; diff --git a/core/java/android/bluetooth/BluetoothDevice.java b/core/java/android/bluetooth/BluetoothDevice.java index e8ad69d2f52e..7ff37d29323e 100644 --- a/core/java/android/bluetooth/BluetoothDevice.java +++ b/core/java/android/bluetooth/BluetoothDevice.java @@ -1658,7 +1658,7 @@ public final class BluetoothDevice implements Parcelable { */ public BluetoothGatt connectGatt(Context context, boolean autoConnect, BluetoothGattCallback callback, int transport) { - return (connectGatt(context, autoConnect,callback, TRANSPORT_AUTO, PHY_LE_1M_MASK)); + return (connectGatt(context, autoConnect,callback, transport, PHY_LE_1M_MASK)); } /** @@ -1682,7 +1682,7 @@ public final class BluetoothDevice implements Parcelable { */ public BluetoothGatt connectGatt(Context context, boolean autoConnect, BluetoothGattCallback callback, int transport, int phy) { - return connectGatt(context, autoConnect,callback, TRANSPORT_AUTO, PHY_LE_1M_MASK, null); + return connectGatt(context, autoConnect,callback, transport, phy, null); } /** diff --git a/core/java/android/content/ContentProvider.java b/core/java/android/content/ContentProvider.java index 9d46da16965e..64e464c318d3 100644 --- a/core/java/android/content/ContentProvider.java +++ b/core/java/android/content/ContentProvider.java @@ -44,6 +44,7 @@ import android.os.ParcelFileDescriptor; import android.os.Process; import android.os.RemoteException; import android.os.UserHandle; +import android.os.storage.StorageManager; import android.text.TextUtils; import android.util.Log; import android.util.MathUtils; @@ -1376,6 +1377,12 @@ public abstract class ContentProvider implements ComponentCallbacks2 { * android.os.Handler, android.os.ParcelFileDescriptor.OnCloseListener)}, * {@link ParcelFileDescriptor#createReliablePipe()}, or * {@link ParcelFileDescriptor#createReliableSocketPair()}. + * <p> + * If you need to return a large file that isn't backed by a real file on + * disk, such as a file on a network share or cloud storage service, + * consider using + * {@link StorageManager#openProxyFileDescriptor(int, android.os.ProxyFileDescriptorCallback, android.os.Handler)} + * which will let you to stream the content on-demand. * * <p class="note">For use in Intents, you will want to implement {@link #getType} * to return the appropriate MIME type for the data returned here with diff --git a/core/java/android/content/pm/PackageInstaller.java b/core/java/android/content/pm/PackageInstaller.java index 7f3f35ffd4f3..5eca57b29ea8 100644 --- a/core/java/android/content/pm/PackageInstaller.java +++ b/core/java/android/content/pm/PackageInstaller.java @@ -24,6 +24,7 @@ import android.annotation.SdkConstant; import android.annotation.SdkConstant.SdkConstantType; import android.annotation.SystemApi; import android.app.ActivityManager; +import android.app.AppGlobals; import android.content.Intent; import android.content.IntentSender; import android.content.pm.PackageManager.InstallReason; @@ -1355,6 +1356,16 @@ public class PackageInstaller { * if unavailable. */ public @Nullable Bitmap getAppIcon() { + if (appIcon == null) { + // Icon may have been omitted for calls that return bulk session + // lists, so try fetching the specific icon. + try { + appIcon = AppGlobals.getPackageManager().getPackageInstaller() + .getSessionInfo(sessionId).appIcon; + } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); + } + } return appIcon; } diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java index 6bc7d42a14b2..06dbc0b37f92 100644 --- a/core/java/android/content/pm/PackageManager.java +++ b/core/java/android/content/pm/PackageManager.java @@ -2285,6 +2285,7 @@ public abstract class PackageManager { /** * Feature for {@link #getSystemAvailableFeatures} and * {@link #hasSystemFeature}: The device supports Wi-Fi Passpoint. + * @hide */ @SdkConstant(SdkConstantType.FEATURE) public static final String FEATURE_WIFI_PASSPOINT = "android.hardware.wifi.passpoint"; @@ -2342,6 +2343,7 @@ public abstract class PackageManager { * computers, laptops and variants such as convertibles or detachables. * Due to the larger screen, the device will most likely use the * {@link #FEATURE_FREEFORM_WINDOW_MANAGEMENT} feature as well. + * @hide */ @SdkConstant(SdkConstantType.FEATURE) public static final String FEATURE_PC = "android.hardware.type.pc"; @@ -5773,7 +5775,6 @@ public abstract class PackageManager { * * @hide */ - @SystemApi public static abstract class DexModuleRegisterCallback { public abstract void onDexModuleRegistered(String dexModulePath, boolean success, String message); @@ -5807,7 +5808,6 @@ public abstract class PackageManager { * * @hide */ - @SystemApi public abstract void registerDexModule(String dexModulePath, @Nullable DexModuleRegisterCallback callback); } diff --git a/core/java/android/content/pm/PackageManagerInternal.java b/core/java/android/content/pm/PackageManagerInternal.java index 4cee2dfb66cb..99700df2b990 100644 --- a/core/java/android/content/pm/PackageManagerInternal.java +++ b/core/java/android/content/pm/PackageManagerInternal.java @@ -18,7 +18,11 @@ package android.content.pm; import android.content.ComponentName; import android.content.Intent; +import android.content.pm.PackageManager.ApplicationInfoFlags; +import android.content.pm.PackageManager.ComponentInfoFlags; import android.content.pm.PackageManager.NameNotFoundException; +import android.content.pm.PackageManager.PackageInfoFlags; +import android.content.pm.PackageManager.ResolveInfoFlags; import android.os.Bundle; import android.util.SparseArray; @@ -133,16 +137,40 @@ public abstract class PackageManagerInternal { public abstract boolean isPermissionsReviewRequired(String packageName, int userId); /** - * Gets all of the information we know about a particular package. - * - * @param packageName The package name to find. - * @param userId The user under which to check. - * - * @return An {@link ApplicationInfo} containing information about the - * package, or {@code null} if no application exists with that - * package name. + * Retrieve all of the information we know about a particular package/application. + * @param filterCallingUid The results will be filtered in the context of this UID instead + * of the calling UID. + * @see PackageManager#getPackageInfo(String, int) + */ + public abstract PackageInfo getPackageInfo(String packageName, + @PackageInfoFlags int flags, int filterCallingUid, int userId); + + /** + * Retrieve all of the information we know about a particular package/application. + * @param filterCallingUid The results will be filtered in the context of this UID instead + * of the calling UID. + * @see PackageManager#getApplicationInfo(String, int) + */ + public abstract ApplicationInfo getApplicationInfo(String packageName, + @ApplicationInfoFlags int flags, int filterCallingUid, int userId); + + /** + * Retrieve all of the information we know about a particular activity class. + * @param filterCallingUid The results will be filtered in the context of this UID instead + * of the calling UID. + * @see PackageManager#getActivityInfo(ComponentName, int) + */ + public abstract ActivityInfo getActivityInfo(ComponentName component, + @ComponentInfoFlags int flags, int filterCallingUid, int userId); + + /** + * Retrieve all activities that can be performed for the given intent. + * @param filterCallingUid The results will be filtered in the context of this UID instead + * of the calling UID. + * @see PackageManager#queryIntentActivities(Intent, int) */ - public abstract ApplicationInfo getApplicationInfo(String packageName, int userId); + public abstract List<ResolveInfo> queryIntentActivities(Intent intent, + @ResolveInfoFlags int flags, int filterCallingUid, int userId); /** * Interface to {@link com.android.server.pm.PackageManagerService#getHomeActivitiesAsUser}. diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java index 5e5a6fca2ca3..fdb0f2bae64b 100644 --- a/core/java/android/content/pm/PackageParser.java +++ b/core/java/android/content/pm/PackageParser.java @@ -6852,7 +6852,7 @@ public class PackageParser { ai.category = FallbackCategoryProvider.getFallbackCategory(ai.packageName); } ai.seInfoUser = SELinuxUtil.assignSeinfoUser(state); - ai.resourceDirs = state.resourceDirs; + ai.resourceDirs = state.overlayPaths; } public static ApplicationInfo generateApplicationInfo(Package p, int flags, diff --git a/core/java/android/content/pm/PackageUserState.java b/core/java/android/content/pm/PackageUserState.java index 4e53914a3c68..470336cc70c7 100644 --- a/core/java/android/content/pm/PackageUserState.java +++ b/core/java/android/content/pm/PackageUserState.java @@ -55,7 +55,7 @@ public class PackageUserState { public ArraySet<String> disabledComponents; public ArraySet<String> enabledComponents; - public String[] resourceDirs; + public String[] overlayPaths; public PackageUserState() { installed = true; @@ -83,8 +83,8 @@ public class PackageUserState { installReason = o.installReason; disabledComponents = ArrayUtils.cloneOrNull(o.disabledComponents); enabledComponents = ArrayUtils.cloneOrNull(o.enabledComponents); - resourceDirs = - o.resourceDirs == null ? null : Arrays.copyOf(o.resourceDirs, o.resourceDirs.length); + overlayPaths = + o.overlayPaths == null ? null : Arrays.copyOf(o.overlayPaths, o.overlayPaths.length); } /** diff --git a/core/java/android/content/res/Configuration.java b/core/java/android/content/res/Configuration.java index 417a95fbc417..88c1627f955b 100644 --- a/core/java/android/content/res/Configuration.java +++ b/core/java/android/content/res/Configuration.java @@ -16,7 +16,10 @@ package android.content.res; +import android.graphics.Point; import android.graphics.Rect; +import android.util.DisplayMetrics; +import android.view.Display; import android.view.DisplayInfo; import com.android.internal.util.XmlUtils; @@ -42,12 +45,6 @@ import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; import java.util.Locale; -import static android.view.Surface.ROTATION_UNDEFINED; -import static android.view.Surface.ROTATION_0; -import static android.view.Surface.ROTATION_90; -import static android.view.Surface.ROTATION_180; -import static android.view.Surface.ROTATION_270; - /** * This class describes all device configuration information that can * impact the resources the application retrieves. This includes both @@ -603,13 +600,6 @@ public final class Configuration implements Parcelable, Comparable<Configuration */ public int orientation; - /** - * The rotation used at the time orientation was determined. - * TODO(b/36812336): Move rotation out of {@link Configuration}. - * {@hide} - */ - private int rotation; - /** Constant for {@link #uiMode}: bits that encode the mode type. */ public static final int UI_MODE_TYPE_MASK = 0x0f; /** Constant for {@link #uiMode}: a {@link #UI_MODE_TYPE_MASK} @@ -897,7 +887,6 @@ public final class Configuration implements Parcelable, Comparable<Configuration navigation = o.navigation; navigationHidden = o.navigationHidden; orientation = o.orientation; - rotation = o.rotation; screenLayout = o.screenLayout; colorMode = o.colorMode; uiMode = o.uiMode; @@ -1001,14 +990,6 @@ public final class Configuration implements Parcelable, Comparable<Configuration case ORIENTATION_PORTRAIT: sb.append(" port"); break; default: sb.append(" orien="); sb.append(orientation); break; } - switch (rotation) { - case ROTATION_UNDEFINED: sb.append(" ?rotation"); break; - case ROTATION_0: sb.append(" rot0"); break; - case ROTATION_90: sb.append(" rot90"); break; - case ROTATION_180: sb.append(" rot180"); break; - case ROTATION_270: sb.append(" rot270"); break; - default: sb.append(" rot="); sb.append(rotation); break; - } switch ((uiMode&UI_MODE_TYPE_MASK)) { case UI_MODE_TYPE_UNDEFINED: sb.append(" ?uimode"); break; case UI_MODE_TYPE_NORMAL: /* normal is not interesting to print */ break; @@ -1096,7 +1077,6 @@ public final class Configuration implements Parcelable, Comparable<Configuration navigation = NAVIGATION_UNDEFINED; navigationHidden = NAVIGATIONHIDDEN_UNDEFINED; orientation = ORIENTATION_UNDEFINED; - rotation = ROTATION_UNDEFINED; screenLayout = SCREENLAYOUT_UNDEFINED; colorMode = COLOR_MODE_UNDEFINED; uiMode = UI_MODE_TYPE_UNDEFINED; @@ -1205,11 +1185,6 @@ public final class Configuration implements Parcelable, Comparable<Configuration changed |= ActivityInfo.CONFIG_ORIENTATION; orientation = delta.orientation; } - if (delta.rotation != ROTATION_UNDEFINED - && rotation != delta.rotation) { - changed |= ActivityInfo.CONFIG_ORIENTATION; - rotation = delta.rotation; - } if (((delta.screenLayout & SCREENLAYOUT_SIZE_MASK) != SCREENLAYOUT_SIZE_UNDEFINED) && (delta.screenLayout & SCREENLAYOUT_SIZE_MASK) @@ -1404,10 +1379,6 @@ public final class Configuration implements Parcelable, Comparable<Configuration && orientation != delta.orientation) { changed |= ActivityInfo.CONFIG_ORIENTATION; } - if ((compareUndefined || delta.rotation != ROTATION_UNDEFINED) - && rotation != delta.rotation) { - changed |= ActivityInfo.CONFIG_ORIENTATION; - } if ((compareUndefined || getScreenLayoutNoDirection(delta.screenLayout) != (SCREENLAYOUT_SIZE_UNDEFINED | SCREENLAYOUT_LONG_UNDEFINED)) && getScreenLayoutNoDirection(screenLayout) != @@ -1544,7 +1515,6 @@ public final class Configuration implements Parcelable, Comparable<Configuration dest.writeInt(navigation); dest.writeInt(navigationHidden); dest.writeInt(orientation); - dest.writeInt(rotation); dest.writeInt(screenLayout); dest.writeInt(colorMode); dest.writeInt(uiMode); @@ -1581,7 +1551,6 @@ public final class Configuration implements Parcelable, Comparable<Configuration navigation = source.readInt(); navigationHidden = source.readInt(); orientation = source.readInt(); - rotation = source.readInt(); screenLayout = source.readInt(); colorMode = source.readInt(); uiMode = source.readInt(); @@ -1666,8 +1635,6 @@ public final class Configuration implements Parcelable, Comparable<Configuration if (n != 0) return n; n = this.orientation - that.orientation; if (n != 0) return n; - n = this.rotation - that.rotation; - if (n != 0) return n; n = this.colorMode - that.colorMode; if (n != 0) return n; n = this.screenLayout - that.screenLayout; @@ -1799,24 +1766,6 @@ public final class Configuration implements Parcelable, Comparable<Configuration /** * @hide * - * Setter for orientation converts from {@link Surface} values to internal representation. - */ - public void setRotation(int rotation) { - this.rotation = rotation; - } - - /** - * @hide - * - * Getter for orientation. Converts from internal representation to {@link Surface} values. - */ - public int getRotation() { - return rotation != ROTATION_UNDEFINED ? rotation : ROTATION_0; - } - - /** - * @hide - * * Clears the locale without changing layout direction. */ public void clearLocales() { @@ -2051,23 +2000,6 @@ public final class Configuration implements Parcelable, Comparable<Configuration break; } - switch (config.rotation) { - case ROTATION_0: - parts.add("rot0"); - break; - case ROTATION_90: - parts.add("rot90"); - break; - case ROTATION_180: - parts.add("rot180"); - break; - case ROTATION_270: - parts.add("rot270"); - break; - default: - break; - } - switch (config.uiMode & Configuration.UI_MODE_TYPE_MASK) { case Configuration.UI_MODE_TYPE_APPLIANCE: parts.add("appliance"); @@ -2262,10 +2194,6 @@ public final class Configuration implements Parcelable, Comparable<Configuration delta.orientation = change.orientation; } - if (base.rotation != change.rotation) { - base.rotation = change.rotation; - } - if ((base.screenLayout & SCREENLAYOUT_SIZE_MASK) != (change.screenLayout & SCREENLAYOUT_SIZE_MASK)) { delta.screenLayout |= change.screenLayout & SCREENLAYOUT_SIZE_MASK; @@ -2337,7 +2265,6 @@ public final class Configuration implements Parcelable, Comparable<Configuration private static final String XML_ATTR_NAVIGATION = "nav"; private static final String XML_ATTR_NAVIGATION_HIDDEN = "navHid"; private static final String XML_ATTR_ORIENTATION = "ori"; - private static final String XML_ATTR_ROTATION = "rot"; private static final String XML_ATTR_SCREEN_LAYOUT = "scrLay"; private static final String XML_ATTR_COLOR_MODE = "clrMod"; private static final String XML_ATTR_UI_MODE = "ui"; @@ -2397,8 +2324,6 @@ public final class Configuration implements Parcelable, Comparable<Configuration DENSITY_DPI_UNDEFINED); configOut.appBounds = Rect.unflattenFromString(XmlUtils.readStringAttribute(parser, XML_ATTR_APP_BOUNDS)); - configOut.rotation = XmlUtils.readIntAttribute(parser, XML_ATTR_ROTATION, - ROTATION_UNDEFINED); // For persistence, we don't care about assetsSeq, so do not read it out. } @@ -2475,10 +2400,6 @@ public final class Configuration implements Parcelable, Comparable<Configuration config.appBounds.flattenToString()); } - if (config.rotation != ROTATION_UNDEFINED) { - XmlUtils.writeIntAttribute(xml, XML_ATTR_ROTATION, config.rotation); - } - // For persistence, we do not care about assetsSeq, so do not write it out. } } diff --git a/core/java/android/hardware/camera2/dispatch/MethodNameInvoker.java b/core/java/android/hardware/camera2/dispatch/MethodNameInvoker.java index c66a3a40718f..8296b7a915a4 100644 --- a/core/java/android/hardware/camera2/dispatch/MethodNameInvoker.java +++ b/core/java/android/hardware/camera2/dispatch/MethodNameInvoker.java @@ -15,13 +15,13 @@ */ package android.hardware.camera2.dispatch; +import static com.android.internal.util.Preconditions.checkNotNull; + import android.hardware.camera2.utils.UncheckedThrow; import java.lang.reflect.Method; import java.util.concurrent.ConcurrentHashMap; -import static com.android.internal.util.Preconditions.*; - /** * Invoke a method on a dispatchable by its name (without knowing the {@code Method} ahead of time). * @@ -31,6 +31,7 @@ public class MethodNameInvoker<T> { private final Dispatchable<T> mTarget; private final Class<T> mTargetClass; + private final Method[] mTargetClassMethods; private final ConcurrentHashMap<String, Method> mMethods = new ConcurrentHashMap<>(); @@ -42,6 +43,7 @@ public class MethodNameInvoker<T> { */ public MethodNameInvoker(Dispatchable<T> target, Class<T> targetClass) { mTargetClass = targetClass; + mTargetClassMethods = targetClass.getMethods(); mTarget = target; } @@ -68,7 +70,7 @@ public class MethodNameInvoker<T> { Method targetMethod = mMethods.get(methodName); if (targetMethod == null) { - for (Method method : mTargetClass.getMethods()) { + for (Method method : mTargetClassMethods) { // TODO future: match types of params if possible if (method.getName().equals(methodName) && (params.length == method.getParameterTypes().length) ) { diff --git a/core/java/android/net/NetworkBadging.java b/core/java/android/net/NetworkBadging.java index 6de28b7146e8..c119b637140f 100644 --- a/core/java/android/net/NetworkBadging.java +++ b/core/java/android/net/NetworkBadging.java @@ -66,15 +66,7 @@ public class NetworkBadging { */ @NonNull public static Drawable getWifiIcon( @IntRange(from=0, to=4) int signalLevel, @Badging int badging, @Nullable Theme theme) { - Resources resources = Resources.getSystem(); - if (badging == BADGING_NONE) { - return resources.getDrawable(getWifiSignalResource(signalLevel), theme); - } - Drawable[] layers = new Drawable[] { - resources.getDrawable(getBadgedWifiSignalResource(signalLevel), theme), - resources.getDrawable(getWifiBadgeResource(badging), theme) - }; - return new LayerDrawable(layers); + return Resources.getSystem().getDrawable(getWifiSignalResource(signalLevel), theme); } /** @@ -134,31 +126,4 @@ public class NetworkBadging { throw new IllegalArgumentException("Invalid signal level: " + signalLevel); } } - - /** - * Returns the wifi quality badge resource id for the the given badging balue. - * - * <p>This badge should be displayed with the badge signal resource retrieved from - * {@link #getBadgedWifiSignalResource(int)}. - * - * @param badging {@see NetworkBadging#Badging} from {@link ScoredNetwork#calculateBadge(int)}. - * @return the @DrawableRes for the icon or {@link View#NO_ID} for - * {@link NetworkBadging#BADGING_NONE} - * @throws IllegalArgumentException for an invalid badging value. - * @hide - */ - @DrawableRes private static int getWifiBadgeResource(@Badging int badging) { - switch (badging) { - case BADGING_NONE: - return View.NO_ID; - case BADGING_SD: - return com.android.internal.R.drawable.ic_signal_wifi_badged_sd; - case BADGING_HD: - return com.android.internal.R.drawable.ic_signal_wifi_badged_hd; - case BADGING_4K: - return com.android.internal.R.drawable.ic_signal_wifi_badged_4k; - default: - throw new IllegalArgumentException("No resource found for badge: " + badging); - } - } } diff --git a/core/java/android/os/BatteryStats.java b/core/java/android/os/BatteryStats.java index 162dddb1f797..b178d814a3f7 100644 --- a/core/java/android/os/BatteryStats.java +++ b/core/java/android/os/BatteryStats.java @@ -201,7 +201,7 @@ public abstract class BatteryStats implements Parcelable { * New in version 22: * - BLE scan result background count, BLE unoptimized scan time */ - static final String CHECKIN_VERSION = "22"; + static final String CHECKIN_VERSION = "23"; /** * Old version, we hit 9 and ran out of room, need to remove. @@ -3054,6 +3054,7 @@ public abstract class BatteryStats implements Parcelable { boolean wifiOnly) { final long rawUptime = SystemClock.uptimeMillis() * 1000; final long rawRealtime = SystemClock.elapsedRealtime() * 1000; + final long rawRealtimeMs = (rawRealtime + 500) / 1000; final long batteryUptime = getBatteryUptime(rawUptime); final long whichBatteryUptime = computeBatteryUptime(rawUptime, which); final long whichBatteryRealtime = computeBatteryRealtime(rawRealtime, which); @@ -3335,7 +3336,10 @@ public abstract class BatteryStats implements Parcelable { label = "???"; } dumpLine(pw, uid, category, POWER_USE_ITEM_DATA, label, - BatteryStatsHelper.makemAh(bs.totalPowerMah)); + BatteryStatsHelper.makemAh(bs.totalPowerMah), + bs.shouldHide ? 1 : 0, + BatteryStatsHelper.makemAh(bs.screenPowerMah), + BatteryStatsHelper.makemAh(bs.proportionalSmearMah)); } } @@ -3440,7 +3444,6 @@ public abstract class BatteryStats implements Parcelable { final int count = bleTimer.getCountLocked(which); final Timer bleTimerBg = u.getBluetoothScanBackgroundTimer(); final int countBg = bleTimerBg != null ? bleTimerBg.getCountLocked(which) : 0; - final long rawRealtimeMs = (rawRealtime + 500) / 1000; // 'actualTime' are unpooled and always since reset (regardless of 'which') final long actualTime = bleTimer.getTotalDurationMsLocked(rawRealtimeMs); final long actualTimeBg = bleTimerBg != null ? @@ -3489,11 +3492,11 @@ public abstract class BatteryStats implements Parcelable { if (u.getAggregatedPartialWakelockTimer() != null) { final Timer timer = u.getAggregatedPartialWakelockTimer(); - // Convert from microseconds to milliseconds with rounding - final long totTimeMs = (timer.getTotalTimeLocked(rawRealtime, which) + 500) / 1000; + // Times are since reset (regardless of 'which') + final long totTimeMs = timer.getTotalDurationMsLocked(rawRealtimeMs); final Timer bgTimer = timer.getSubTimer(); final long bgTimeMs = bgTimer != null ? - (bgTimer.getTotalTimeLocked(rawRealtime, which) + 500) / 1000 : 0; + bgTimer.getTotalDurationMsLocked(rawRealtimeMs) : 0; dumpLine(pw, uid, category, AGGREGATED_WAKELOCK_DATA, totTimeMs, bgTimeMs); } @@ -3530,7 +3533,7 @@ public abstract class BatteryStats implements Parcelable { final int count = timer.getCountLocked(which); final Timer bgTimer = timer.getSubTimer(); final long bgTime = bgTimer != null ? - (bgTimer.getTotalTimeLocked(rawRealtime, which) + 500) / 1000 : -1; + bgTimer.getTotalDurationMsLocked(rawRealtimeMs) : -1; final int bgCount = bgTimer != null ? bgTimer.getCountLocked(which) : -1; if (totalTime != 0) { dumpLine(pw, uid, category, SYNC_DATA, "\"" + syncs.keyAt(isy) + "\"", @@ -3546,7 +3549,7 @@ public abstract class BatteryStats implements Parcelable { final int count = timer.getCountLocked(which); final Timer bgTimer = timer.getSubTimer(); final long bgTime = bgTimer != null ? - (bgTimer.getTotalTimeLocked(rawRealtime, which) + 500) / 1000 : -1; + bgTimer.getTotalDurationMsLocked(rawRealtimeMs) : -1; final int bgCount = bgTimer != null ? bgTimer.getCountLocked(which) : -1; if (totalTime != 0) { dumpLine(pw, uid, category, JOB_DATA, "\"" + jobs.keyAt(ij) + "\"", @@ -3577,7 +3580,6 @@ public abstract class BatteryStats implements Parcelable { final int count = timer.getCountLocked(which); final Timer bgTimer = se.getSensorBackgroundTime(); final int bgCount = bgTimer != null ? bgTimer.getCountLocked(which) : 0; - final long rawRealtimeMs = (rawRealtime + 500) / 1000; // 'actualTime' are unpooled and always since reset (regardless of 'which') final long actualTime = timer.getTotalDurationMsLocked(rawRealtimeMs); final long bgActualTime = bgTimer != null ? @@ -3718,6 +3720,7 @@ public abstract class BatteryStats implements Parcelable { int reqUid, boolean wifiOnly) { final long rawUptime = SystemClock.uptimeMillis() * 1000; final long rawRealtime = SystemClock.elapsedRealtime() * 1000; + final long rawRealtimeMs = (rawRealtime + 500) / 1000; final long batteryUptime = getBatteryUptime(rawUptime); final long whichBatteryUptime = computeBatteryUptime(rawUptime, which); @@ -4365,6 +4368,26 @@ public abstract class BatteryStats implements Parcelable { } pw.print(" )"); } + + // If there is additional smearing information, include it. + if (bs.totalSmearedPowerMah != bs.totalPowerMah) { + pw.print(" Including smearing: "); + printmAh(pw, bs.totalSmearedPowerMah); + pw.print(" ("); + if (bs.screenPowerMah != 0) { + pw.print(" screen="); + printmAh(pw, bs.screenPowerMah); + } + if (bs.proportionalSmearMah != 0) { + pw.print(" proportional="); + printmAh(pw, bs.proportionalSmearMah); + } + pw.print(" )"); + } + if (bs.shouldHide) { + pw.print(" Excluded from smearing"); + } + pw.println(); } pw.println(); @@ -4658,7 +4681,6 @@ public abstract class BatteryStats implements Parcelable { final int count = bleTimer.getCountLocked(which); final Timer bleTimerBg = u.getBluetoothScanBackgroundTimer(); final int countBg = bleTimerBg != null ? bleTimerBg.getCountLocked(which) : 0; - final long rawRealtimeMs = (rawRealtime + 500) / 1000; // 'actualTime' are unpooled and always since reset (regardless of 'which') final long actualTimeMs = bleTimer.getTotalDurationMsLocked(rawRealtimeMs); final long actualTimeMsBg = bleTimerBg != null ? @@ -4826,10 +4848,10 @@ public abstract class BatteryStats implements Parcelable { final Timer aggTimer = u.getAggregatedPartialWakelockTimer(); // Convert from microseconds to milliseconds with rounding actualTotalPartialWakelock = - (aggTimer.getTotalTimeLocked(rawRealtime, which) + 500) / 1000; + aggTimer.getTotalDurationMsLocked(rawRealtimeMs); final Timer bgAggTimer = aggTimer.getSubTimer(); actualBgPartialWakelock = bgAggTimer != null ? - (bgAggTimer.getTotalTimeLocked(rawRealtime, which) + 500) / 1000 : 0; + bgAggTimer.getTotalDurationMsLocked(rawRealtimeMs) : 0; } if (actualTotalPartialWakelock != 0 || actualBgPartialWakelock != 0 || @@ -4897,7 +4919,7 @@ public abstract class BatteryStats implements Parcelable { final int count = timer.getCountLocked(which); final Timer bgTimer = timer.getSubTimer(); final long bgTime = bgTimer != null ? - (bgTimer.getTotalTimeLocked(rawRealtime, which) + 500) / 1000 : -1; + bgTimer.getTotalDurationMsLocked(rawRealtimeMs) : -1; final int bgCount = bgTimer != null ? bgTimer.getCountLocked(which) : -1; sb.setLength(0); sb.append(prefix); @@ -4931,7 +4953,7 @@ public abstract class BatteryStats implements Parcelable { final int count = timer.getCountLocked(which); final Timer bgTimer = timer.getSubTimer(); final long bgTime = bgTimer != null ? - (bgTimer.getTotalTimeLocked(rawRealtime, which) + 500) / 1000 : -1; + bgTimer.getTotalDurationMsLocked(rawRealtimeMs) : -1; final int bgCount = bgTimer != null ? bgTimer.getCountLocked(which) : -1; sb.setLength(0); sb.append(prefix); @@ -4990,7 +5012,6 @@ public abstract class BatteryStats implements Parcelable { final int count = timer.getCountLocked(which); final Timer bgTimer = se.getSensorBackgroundTime(); final int bgCount = bgTimer != null ? bgTimer.getCountLocked(which) : 0; - final long rawRealtimeMs = (rawRealtime + 500) / 1000; // 'actualTime' are unpooled and always since reset (regardless of 'which') final long actualTime = timer.getTotalDurationMsLocked(rawRealtimeMs); final long bgActualTime = bgTimer != null ? diff --git a/core/java/android/os/storage/IStorageManager.aidl b/core/java/android/os/storage/IStorageManager.aidl index 92f7f319a14b..50855bb349d9 100644 --- a/core/java/android/os/storage/IStorageManager.aidl +++ b/core/java/android/os/storage/IStorageManager.aidl @@ -293,7 +293,7 @@ interface IStorageManager { ParcelFileDescriptor openProxyFileDescriptor(int mountPointId, int fileId, int mode) = 74; long getCacheQuotaBytes(String volumeUuid, int uid) = 75; long getCacheSizeBytes(String volumeUuid, int uid) = 76; - long getAllocatableBytes(String volumeUuid, int flags) = 77; - void allocateBytes(String volumeUuid, long bytes, int flags) = 78; + long getAllocatableBytes(String volumeUuid, int flags, String callingPackage) = 77; + void allocateBytes(String volumeUuid, long bytes, int flags, String callingPackage) = 78; void secdiscard(in String path) = 79; } diff --git a/core/java/android/os/storage/StorageManager.java b/core/java/android/os/storage/StorageManager.java index 504673529238..f2aa113ea28e 100644 --- a/core/java/android/os/storage/StorageManager.java +++ b/core/java/android/os/storage/StorageManager.java @@ -29,6 +29,7 @@ import android.annotation.SuppressLint; import android.annotation.SystemApi; import android.annotation.SystemService; import android.annotation.WorkerThread; +import android.app.Activity; import android.app.ActivityThread; import android.content.ContentResolver; import android.content.Context; @@ -159,6 +160,12 @@ public class StorageManager { * If the sending application has a specific storage device or allocation * size in mind, they can optionally define {@link #EXTRA_UUID} or * {@link #EXTRA_REQUESTED_BYTES}, respectively. + * <p> + * This intent should be launched using + * {@link Activity#startActivityForResult(Intent, int)} so that the user + * knows which app is requesting the storage space. The returned result will + * be {@link Activity#RESULT_OK} if the requested space was made available, + * or {@link Activity#RESULT_CANCELED} otherwise. */ @SdkConstant(SdkConstant.SdkConstantType.ACTIVITY_INTENT_ACTION) public static final String ACTION_MANAGE_STORAGE = "android.os.storage.action.MANAGE_STORAGE"; @@ -1174,7 +1181,7 @@ public class StorageManager { * * @hide */ - public long getStorageCacheBytes(File path) { + public long getStorageCacheBytes(File path, @AllocateFlags int flags) { final long cachePercent = Settings.Global.getInt(mResolver, Settings.Global.SYS_STORAGE_CACHE_PERCENTAGE, DEFAULT_CACHE_PERCENTAGE); final long cacheBytes = (path.getTotalSpace() * cachePercent) / 100; @@ -1182,7 +1189,16 @@ public class StorageManager { final long maxCacheBytes = Settings.Global.getLong(mResolver, Settings.Global.SYS_STORAGE_CACHE_MAX_BYTES, DEFAULT_CACHE_MAX_BYTES); - return Math.min(cacheBytes, maxCacheBytes); + final long result = Math.min(cacheBytes, maxCacheBytes); + if ((flags & StorageManager.FLAG_ALLOCATE_AGGRESSIVE) != 0) { + return 0; + } else if ((flags & StorageManager.FLAG_ALLOCATE_DEFY_ALL_RESERVED) != 0) { + return 0; + } else if ((flags & StorageManager.FLAG_ALLOCATE_DEFY_HALF_RESERVED) != 0) { + return result / 2; + } else { + return result; + } } /** @@ -1467,15 +1483,26 @@ public class StorageManager { } /** - * Opens seekable ParcelFileDescriptor that routes file operation requests to - * ProxyFileDescriptorCallback. + * Opens a seekable {@link ParcelFileDescriptor} that proxies all low-level + * I/O requests back to the given {@link ProxyFileDescriptorCallback}. + * <p> + * This can be useful when you want to provide quick access to a large file + * that isn't backed by a real file on disk, such as a file on a network + * share, cloud storage service, etc. As an example, you could respond to a + * {@link ContentResolver#openFileDescriptor(android.net.Uri, String)} + * request by returning a {@link ParcelFileDescriptor} created with this + * method, and then stream the content on-demand as requested. + * <p> + * Another useful example might be where you have an encrypted file that + * you're willing to decrypt on-demand, but where you want to avoid + * persisting the cleartext version. * * @param mode The desired access mode, must be one of - * {@link ParcelFileDescriptor#MODE_READ_ONLY}, - * {@link ParcelFileDescriptor#MODE_WRITE_ONLY}, or - * {@link ParcelFileDescriptor#MODE_READ_WRITE} - * @param callback Callback to process file operation requests issued on returned file - * descriptor. + * {@link ParcelFileDescriptor#MODE_READ_ONLY}, + * {@link ParcelFileDescriptor#MODE_WRITE_ONLY}, or + * {@link ParcelFileDescriptor#MODE_READ_WRITE} + * @param callback Callback to process file operation requests issued on + * returned file descriptor. * @param handler Handler that invokes callback methods. * @return Seekable ParcelFileDescriptor. * @throws IOException @@ -1487,7 +1514,6 @@ public class StorageManager { return openProxyFileDescriptor(mode, callback, handler, null); } - /** {@hide} */ @VisibleForTesting public int getProxyFileDescriptorMountPointId() { @@ -1628,17 +1654,26 @@ public class StorageManager { public static final int FLAG_ALLOCATE_AGGRESSIVE = 1 << 0; /** - * Flag indicating that a disk space allocation request should defy any - * reserved disk space. + * Flag indicating that a disk space allocation request should be allowed to + * clear up to all reserved disk space. + * + * @hide + */ + public static final int FLAG_ALLOCATE_DEFY_ALL_RESERVED = 1 << 1; + + /** + * Flag indicating that a disk space allocation request should be allowed to + * clear up to half of all reserved disk space. * * @hide */ - public static final int FLAG_ALLOCATE_DEFY_RESERVED = 1 << 1; + public static final int FLAG_ALLOCATE_DEFY_HALF_RESERVED = 1 << 2; /** @hide */ @IntDef(flag = true, value = { FLAG_ALLOCATE_AGGRESSIVE, - FLAG_ALLOCATE_DEFY_RESERVED, + FLAG_ALLOCATE_DEFY_ALL_RESERVED, + FLAG_ALLOCATE_DEFY_HALF_RESERVED, }) @Retention(RetentionPolicy.SOURCE) public @interface AllocateFlags {} @@ -1660,6 +1695,10 @@ public class StorageManager { * persist, you can launch {@link #ACTION_MANAGE_STORAGE} with the * {@link #EXTRA_UUID} and {@link #EXTRA_REQUESTED_BYTES} options to help * involve the user in freeing up disk space. + * <p> + * If you're progressively allocating an unbounded amount of storage space + * (such as when recording a video) you should avoid calling this method + * more than once every 30 seconds. * <p class="note"> * Note: if your app uses the {@code android:sharedUserId} manifest feature, * then allocatable space for all packages in your shared UID is tracked @@ -1677,6 +1716,7 @@ public class StorageManager { * @throws IOException when the storage device isn't present, or when it * doesn't support allocating space. */ + @WorkerThread public @BytesLong long getAllocatableBytes(@NonNull UUID storageUuid) throws IOException { return getAllocatableBytes(storageUuid, 0); @@ -1684,11 +1724,13 @@ public class StorageManager { /** @hide */ @SystemApi + @WorkerThread @SuppressLint("Doclava125") public long getAllocatableBytes(@NonNull UUID storageUuid, @RequiresPermission @AllocateFlags int flags) throws IOException { try { - return mStorageManager.getAllocatableBytes(convert(storageUuid), flags); + return mStorageManager.getAllocatableBytes(convert(storageUuid), flags, + mContext.getOpPackageName()); } catch (ParcelableException e) { e.maybeRethrow(IOException.class); throw new RuntimeException(e); @@ -1699,6 +1741,7 @@ public class StorageManager { /** @removed */ @Deprecated + @WorkerThread @SuppressLint("Doclava125") public long getAllocatableBytes(@NonNull File path, @RequiresPermission @AllocateFlags int flags) throws IOException { @@ -1717,6 +1760,10 @@ public class StorageManager { * subject to race conditions. If possible, consider using * {@link #allocateBytes(FileDescriptor, long, int)} which will guarantee * that bytes are allocated to an opened file. + * <p> + * If you're progressively allocating an unbounded amount of storage space + * (such as when recording a video) you should avoid calling this method + * more than once every 60 seconds. * * @param storageUuid the UUID of the storage volume where you'd like to * allocate disk space. The UUID for a specific path can be @@ -1727,6 +1774,7 @@ public class StorageManager { * trouble allocating the requested space. * @see #getAllocatableBytes(UUID, int) */ + @WorkerThread public void allocateBytes(@NonNull UUID storageUuid, @BytesLong long bytes) throws IOException { allocateBytes(storageUuid, bytes, 0); @@ -1734,11 +1782,13 @@ public class StorageManager { /** @hide */ @SystemApi + @WorkerThread @SuppressLint("Doclava125") public void allocateBytes(@NonNull UUID storageUuid, @BytesLong long bytes, @RequiresPermission @AllocateFlags int flags) throws IOException { try { - mStorageManager.allocateBytes(convert(storageUuid), bytes, flags); + mStorageManager.allocateBytes(convert(storageUuid), bytes, flags, + mContext.getOpPackageName()); } catch (ParcelableException e) { e.maybeRethrow(IOException.class); } catch (RemoteException e) { @@ -1748,6 +1798,7 @@ public class StorageManager { /** @removed */ @Deprecated + @WorkerThread @SuppressLint("Doclava125") public void allocateBytes(@NonNull File path, @BytesLong long bytes, @RequiresPermission @AllocateFlags int flags) throws IOException { @@ -1766,6 +1817,10 @@ public class StorageManager { * otherwise it will throw if fast allocation is not possible. Fast * allocation is typically only supported in private app data directories, * and on shared/external storage devices which are emulated. + * <p> + * If you're progressively allocating an unbounded amount of storage space + * (such as when recording a video) you should avoid calling this method + * more than once every 60 seconds. * * @param fd the open file that you'd like to allocate disk space for. * @param bytes the number of bytes to allocate. This is the desired final @@ -1779,12 +1834,14 @@ public class StorageManager { * @see #getAllocatableBytes(UUID, int) * @see Environment#isExternalStorageEmulated(File) */ + @WorkerThread public void allocateBytes(FileDescriptor fd, @BytesLong long bytes) throws IOException { allocateBytes(fd, bytes, 0); } /** @hide */ @SystemApi + @WorkerThread @SuppressLint("Doclava125") public void allocateBytes(FileDescriptor fd, @BytesLong long bytes, @RequiresPermission @AllocateFlags int flags) throws IOException { diff --git a/core/java/android/print/PrintManager.java b/core/java/android/print/PrintManager.java index e8ff2e2cee98..52dccb432766 100644 --- a/core/java/android/print/PrintManager.java +++ b/core/java/android/print/PrintManager.java @@ -20,6 +20,7 @@ import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.SystemApi; import android.annotation.SystemService; +import android.annotation.TestApi; import android.app.Activity; import android.app.Application.ActivityLifecycleCallbacks; import android.content.ComponentName; @@ -141,6 +142,7 @@ public final class PrintManager { * @see #getPrintServices * @hide */ + @TestApi public static final int ALL_SERVICES = ENABLED_SERVICES | DISABLED_SERVICES; /** @@ -627,6 +629,7 @@ public final class PrintManager { * * @hide */ + @TestApi @SystemApi public @NonNull List<PrintServiceInfo> getPrintServices(int selectionFlags) { Preconditions.checkFlagsArgument(selectionFlags, ALL_SERVICES); diff --git a/core/java/android/printservice/PrintServiceInfo.java b/core/java/android/printservice/PrintServiceInfo.java index 57f122923c69..5ef93193c67c 100644 --- a/core/java/android/printservice/PrintServiceInfo.java +++ b/core/java/android/printservice/PrintServiceInfo.java @@ -18,6 +18,7 @@ package android.printservice; import android.annotation.NonNull; import android.annotation.SystemApi; +import android.annotation.TestApi; import android.content.ComponentName; import android.content.Context; import android.content.pm.PackageManager; @@ -48,6 +49,7 @@ import java.io.IOException; * * @hide */ +@TestApi @SystemApi public final class PrintServiceInfo implements Parcelable { diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index e0abfb56c1b0..784ed7a25a47 100755 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -5878,6 +5878,7 @@ public final class Settings { * * @hide */ + @TestApi public static final String DISABLED_PRINT_SERVICES = "disabled_print_services"; @@ -6802,6 +6803,13 @@ public final class Settings { public static final String ASSIST_GESTURE_SENSITIVITY = "assist_gesture_sensitivity"; /** + * Whether Assist Gesture Deferred Setup has been completed + * + * @hide + */ + public static final String ASSIST_GESTURE_SETUP_COMPLETE = "assist_gesture_setup_complete"; + + /** * Control whether Night display is currently activated. * @hide */ diff --git a/core/java/android/service/autofill/FillResponse.java b/core/java/android/service/autofill/FillResponse.java index bc96e439811f..fcf18eb5130e 100644 --- a/core/java/android/service/autofill/FillResponse.java +++ b/core/java/android/service/autofill/FillResponse.java @@ -327,17 +327,6 @@ public final class FillResponse implements Parcelable { } /** - * @deprecated Use {@link #setClientState(Bundle)} instead. - * @hide - */ - @Deprecated - public Builder setExtras(@Nullable Bundle extras) { - throwIfDestroyed(); - mCLientState = extras; - return this; - } - - /** * Sets a {@link Bundle state} that will be passed to subsequent APIs that * manipulate this response. For example, they are passed to subsequent * calls to {@link AutofillService#onFillRequest(FillRequest, android.os.CancellationSignal, diff --git a/core/java/android/view/Choreographer.java b/core/java/android/view/Choreographer.java index aac5baacdb11..597be6864494 100644 --- a/core/java/android/view/Choreographer.java +++ b/core/java/android/view/Choreographer.java @@ -16,6 +16,9 @@ package android.view; +import static android.view.DisplayEventReceiver.VSYNC_SOURCE_APP; +import static android.view.DisplayEventReceiver.VSYNC_SOURCE_SURFACE_FLINGER; + import android.hardware.display.DisplayManagerGlobal; import android.os.Handler; import android.os.Looper; @@ -102,10 +105,23 @@ public final class Choreographer { if (looper == null) { throw new IllegalStateException("The current thread must have a looper!"); } - return new Choreographer(looper); + return new Choreographer(looper, VSYNC_SOURCE_APP); } }; + // Thread local storage for the SF choreographer. + private static final ThreadLocal<Choreographer> sSfThreadInstance = + new ThreadLocal<Choreographer>() { + @Override + protected Choreographer initialValue() { + Looper looper = Looper.myLooper(); + if (looper == null) { + throw new IllegalStateException("The current thread must have a looper!"); + } + return new Choreographer(looper, VSYNC_SOURCE_SURFACE_FLINGER); + } + }; + // Enable/disable vsync for animations and drawing. private static final boolean USE_VSYNC = SystemProperties.getBoolean( "debug.choreographer.vsync", true); @@ -202,10 +218,12 @@ public final class Choreographer { private static final int CALLBACK_LAST = CALLBACK_COMMIT; - private Choreographer(Looper looper) { + private Choreographer(Looper looper, int vsyncSource) { mLooper = looper; mHandler = new FrameHandler(looper); - mDisplayEventReceiver = USE_VSYNC ? new FrameDisplayEventReceiver(looper) : null; + mDisplayEventReceiver = USE_VSYNC + ? new FrameDisplayEventReceiver(looper, vsyncSource) + : null; mLastFrameTimeNanos = Long.MIN_VALUE; mFrameIntervalNanos = (long)(1000000000 / getRefreshRate()); @@ -233,6 +251,13 @@ public final class Choreographer { return sThreadInstance.get(); } + /** + * @hide + */ + public static Choreographer getSfInstance() { + return sSfThreadInstance.get(); + } + /** Destroys the calling thread's choreographer * @hide */ @@ -816,8 +841,8 @@ public final class Choreographer { private long mTimestampNanos; private int mFrame; - public FrameDisplayEventReceiver(Looper looper) { - super(looper); + public FrameDisplayEventReceiver(Looper looper, int vsyncSource) { + super(looper, vsyncSource); } @Override diff --git a/core/java/android/view/DisplayEventReceiver.java b/core/java/android/view/DisplayEventReceiver.java index 67cdfc53fb39..caadc364a3fb 100644 --- a/core/java/android/view/DisplayEventReceiver.java +++ b/core/java/android/view/DisplayEventReceiver.java @@ -35,6 +35,23 @@ import java.lang.ref.WeakReference; * @hide */ public abstract class DisplayEventReceiver { + + /** + * When retrieving vsync events, this specifies that the vsync event should happen at the normal + * vsync-app tick. + * <p> + * Needs to be kept in sync with frameworks/native/include/gui/ISurfaceComposer.h + */ + public static final int VSYNC_SOURCE_APP = 0; + + /** + * When retrieving vsync events, this specifies that the vsync event should happen whenever + * Surface Flinger is processing a frame. + * <p> + * Needs to be kept in sync with frameworks/native/include/gui/ISurfaceComposer.h + */ + public static final int VSYNC_SOURCE_SURFACE_FLINGER = 1; + private static final String TAG = "DisplayEventReceiver"; private final CloseGuard mCloseGuard = CloseGuard.get(); @@ -46,7 +63,7 @@ public abstract class DisplayEventReceiver { private MessageQueue mMessageQueue; private static native long nativeInit(WeakReference<DisplayEventReceiver> receiver, - MessageQueue messageQueue); + MessageQueue messageQueue, int vsyncSource); private static native void nativeDispose(long receiverPtr); @FastNative private static native void nativeScheduleVsync(long receiverPtr); @@ -55,14 +72,16 @@ public abstract class DisplayEventReceiver { * Creates a display event receiver. * * @param looper The looper to use when invoking callbacks. + * @param vsyncSource The source of the vsync tick. Must be on of the VSYNC_SOURCE_* values. */ - public DisplayEventReceiver(Looper looper) { + public DisplayEventReceiver(Looper looper, int vsyncSource) { if (looper == null) { throw new IllegalArgumentException("looper must not be null"); } mMessageQueue = looper.getQueue(); - mReceiverPtr = nativeInit(new WeakReference<DisplayEventReceiver>(this), mMessageQueue); + mReceiverPtr = nativeInit(new WeakReference<DisplayEventReceiver>(this), mMessageQueue, + vsyncSource); mCloseGuard.open("dispose"); } diff --git a/core/java/android/view/IWindowSession.aidl b/core/java/android/view/IWindowSession.aidl index 286e79055448..51d65144f260 100644 --- a/core/java/android/view/IWindowSession.aidl +++ b/core/java/android/view/IWindowSession.aidl @@ -96,7 +96,7 @@ interface IWindowSession { int flags, out Rect outFrame, out Rect outOverscanInsets, out Rect outContentInsets, out Rect outVisibleInsets, out Rect outStableInsets, out Rect outOutsets, out Rect outBackdropFrame, - inout MergedConfiguration mergedConfiguration, out Surface outSurface); + out MergedConfiguration outMergedConfiguration, out Surface outSurface); /* * Notify the window manager that an application is relaunching and diff --git a/core/java/android/view/InputDevice.java b/core/java/android/view/InputDevice.java index 8405d9ea8c38..15be2b0bd8ab 100644 --- a/core/java/android/view/InputDevice.java +++ b/core/java/android/view/InputDevice.java @@ -772,6 +772,7 @@ public final class InputDevice implements Parcelable { /** * Returns true if input device is enabled. * @return Whether the input device is enabled. + * @hide */ public boolean isEnabled() { return InputManager.getInstance().isInputDeviceEnabled(mId); diff --git a/core/java/android/view/MenuItem.java b/core/java/android/view/MenuItem.java index b171ad0cf52f..88b9c0d31659 100644 --- a/core/java/android/view/MenuItem.java +++ b/core/java/android/view/MenuItem.java @@ -70,7 +70,12 @@ public interface MenuItem { * a larger segment of its container. */ public static final int SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW = 8; - + + /** + * @hide + */ + int SHOW_AS_OVERFLOW_ALWAYS = 1 << 31; + /** * Interface definition for a callback to be invoked when a menu item is * clicked. @@ -799,4 +804,14 @@ public interface MenuItem { default CharSequence getTooltipText() { return null; } + + /** + * Returns true if {@link #setShowAsAction(int)} was set to {@link #SHOW_AS_OVERFLOW_ALWAYS}. + * Default value if {@code false}. + * + * @hide + */ + default boolean requiresOverflow() { + return false; + } } diff --git a/core/java/android/view/Surface.java b/core/java/android/view/Surface.java index 0ad591be2cf8..8bb3fa988a45 100644 --- a/core/java/android/view/Surface.java +++ b/core/java/android/view/Surface.java @@ -129,17 +129,11 @@ public class Surface implements Parcelable { public static final int SCALING_MODE_NO_SCALE_CROP = 3; /** @hide */ - @IntDef({ROTATION_UNDEFINED, ROTATION_0, ROTATION_90, ROTATION_180, ROTATION_270}) + @IntDef({ROTATION_0, ROTATION_90, ROTATION_180, ROTATION_270}) @Retention(RetentionPolicy.SOURCE) public @interface Rotation {} /** - * Rotation constant: undefined - * @hide - */ - public static final int ROTATION_UNDEFINED = -1; - - /** * Rotation constant: 0 degree rotation (natural orientation) */ public static final int ROTATION_0 = 0; diff --git a/core/java/android/view/SurfaceView.java b/core/java/android/view/SurfaceView.java index ef78559e2b53..679a9cd92bc2 100644 --- a/core/java/android/view/SurfaceView.java +++ b/core/java/android/view/SurfaceView.java @@ -1196,6 +1196,12 @@ public class SurfaceView extends View implements ViewRootImpl.WindowStoppedCallb mBackgroundControl.deferTransactionUntil(handle, frame); } + @Override + public void deferTransactionUntil(Surface barrier, long frame) { + super.deferTransactionUntil(barrier, frame); + mBackgroundControl.deferTransactionUntil(barrier, frame); + } + void updateBackgroundVisibility() { if (mOpaque && mVisible) { mBackgroundControl.show(); diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index 8105d243bd3c..97f53313baaf 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -1139,6 +1139,10 @@ public class View implements Drawable.Callback, KeyEvent.Callback, /** * Autofill type for views that cannot be autofilled. + * + * <p>Typically used when the view is read-only; for example, a text label. + * + * @see #getAutofillType() */ public static final int AUTOFILL_TYPE_NONE = 0; @@ -1148,6 +1152,8 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * <p>{@link AutofillValue} instances for autofilling a {@link View} can be obtained through * {@link AutofillValue#forText(CharSequence)}, and the value passed to autofill a * {@link View} can be fetched through {@link AutofillValue#getTextValue()}. + * + * @see #getAutofillType() */ public static final int AUTOFILL_TYPE_TEXT = 1; @@ -1157,6 +1163,8 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * <p>{@link AutofillValue} instances for autofilling a {@link View} can be obtained through * {@link AutofillValue#forToggle(boolean)}, and the value passed to autofill a * {@link View} can be fetched through {@link AutofillValue#getToggleValue()}. + * + * @see #getAutofillType() */ public static final int AUTOFILL_TYPE_TOGGLE = 2; @@ -1170,6 +1178,8 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * * <p>The available options in the selection list are typically provided by * {@link android.app.assist.AssistStructure.ViewNode#getAutofillOptions()}. + * + * @see #getAutofillType() */ public static final int AUTOFILL_TYPE_LIST = 3; @@ -1182,6 +1192,8 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * <p>{@link AutofillValue} instances for autofilling a {@link View} can be obtained through * {@link AutofillValue#forDate(long)}, and the values passed to * autofill a {@link View} can be fetched through {@link AutofillValue#getDateValue()}. + * + * @see #getAutofillType() */ public static final int AUTOFILL_TYPE_DATE = 4; @@ -1198,26 +1210,41 @@ public class View implements Drawable.Callback, KeyEvent.Callback, /** * Automatically determine whether a view is important for autofill. + * + * @see #isImportantForAutofill() + * @see #setImportantForAutofill(int) */ public static final int IMPORTANT_FOR_AUTOFILL_AUTO = 0x0; /** * The view is important for autofill, and its children (if any) will be traversed. + * + * @see #isImportantForAutofill() + * @see #setImportantForAutofill(int) */ public static final int IMPORTANT_FOR_AUTOFILL_YES = 0x1; /** * The view is not important for autofill, but its children (if any) will be traversed. + * + * @see #isImportantForAutofill() + * @see #setImportantForAutofill(int) */ public static final int IMPORTANT_FOR_AUTOFILL_NO = 0x2; /** * The view is important for autofill, but its children (if any) will not be traversed. + * + * @see #isImportantForAutofill() + * @see #setImportantForAutofill(int) */ public static final int IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS = 0x4; /** * The view is not important for autofill, and its children (if any) will not be traversed. + * + * @see #isImportantForAutofill() + * @see #setImportantForAutofill(int) */ public static final int IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS = 0x8; @@ -7364,23 +7391,70 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } /** - * Called when assist structure is being retrieved from a view as part of an autofill request. + * Populates a {@link ViewStructure} to fullfil an autofill request. + * + * <p>The structure should contain at least the following properties: + * <ul> + * <li>Autofill id ({@link ViewStructure#setAutofillId(AutofillId, int)}). + * <li>Autofill type ({@link ViewStructure#setAutofillType(int)}). + * <li>Autofill value ({@link ViewStructure#setAutofillValue(AutofillValue)}). + * <li>Whether the data is sensitive ({@link ViewStructure#setDataIsSensitive(boolean)}). + * </ul> + * + * <p>It's also recommended to set the following properties - the more properties the structure + * has, the higher the changes of an {@link android.service.autofill.AutofillService} properly + * using the structure: + * + * <ul> + * <li>Autofill hints ({@link ViewStructure#setAutofillHints(String[])}). + * <li>Autofill options ({@link ViewStructure#setAutofillOptions(CharSequence[])}) when the + * view can only be filled with predefined values (typically used when the autofill type + * is {@link #AUTOFILL_TYPE_LIST}). + * <li>Resource id ({@link ViewStructure#setId(int, String, String, String)}). + * <li>Class name ({@link ViewStructure#setClassName(String)}). + * <li>Content description ({@link ViewStructure#setContentDescription(CharSequence)}). + * <li>Visual properties such as visibility ({@link ViewStructure#setVisibility(int)}), + * dimensions ({@link ViewStructure#setDimens(int, int, int, int, int, int)}), and + * opacity ({@link ViewStructure#setOpaque(boolean)}). + * <li>For views representing text fields, text properties such as the text itself + * ({@link ViewStructure#setText(CharSequence)}), text hints + * ({@link ViewStructure#setHint(CharSequence)}, input type + * ({@link ViewStructure#setInputType(int)}), + * <li>For views representing HTML nodes, its web domain + * ({@link ViewStructure#setWebDomain(String)}) and HTML properties + * (({@link ViewStructure#setHtmlInfo(android.view.ViewStructure.HtmlInfo)}). + * </ul> + * + * <p>The default implementation of this method already sets most of these properties based on + * related {@link View} methods (for example, the autofill id is set using + * {@link #getAutofillId()}, the autofill type set using {@link #getAutofillType()}, etc.), + * and views in the standard Android widgets library also override it to set their + * relevant properties (for example, {@link android.widget.TextView} already sets the text + * properties), so it's recommended to only override this method + * (and call {@code super.onProvideAutofillStructure()}) when: * - * <p>This method already provides most of what's needed for autofill, but should be overridden - * when: * <ul> * <li>The view contents does not include PII (Personally Identifiable Information), so it - * can call {@link ViewStructure#setDataIsSensitive(boolean)} passing {@code false}. - * <li>It must set fields such {@link ViewStructure#setText(CharSequence)}, - * {@link ViewStructure#setAutofillOptions(CharSequence[])}, - * or {@link ViewStructure#setWebDomain(String)}. - * <li> The {@code left} and {@code top} values set in - * {@link ViewStructure#setDimens(int, int, int, int, int, int)} need to be relative to the next - * {@link ViewGroup#isImportantForAutofill() included} parent in the structure. + * can call {@link ViewStructure#setDataIsSensitive(boolean)} passing {@code false}. + * <li>The view can only be autofilled with predefined options, so it can call + * {@link ViewStructure#setAutofillOptions(CharSequence[])}. * </ul> * - * @param structure Fill in with structured view data. The default implementation - * fills in all data that can be inferred from the view itself. + * <p><b>NOTE:</b> the {@code left} and {@code top} values set in + * {@link ViewStructure#setDimens(int, int, int, int, int, int)} must be relative to the next + * {@link ViewGroup#isImportantForAutofill()} predecessor view included in the structure. + * + * <p>Views support the Autofill Framework mainly by: + * <ul> + * <li>Providing the metadata defining what the view means and how it can be autofilled. + * <li>Notifying the Android System when the view value changed by calling + * {@link AutofillManager#notifyValueChanged(View)}. + * <li>Implementing the methods that autofill the view. + * </ul> + * <p>This method is responsible for the former; {@link #autofill(AutofillValue)} is responsible + * for the latter. + * + * @param structure fill in with structured view data for autofill purposes. * @param flags optional flags. * * @see #AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS @@ -7508,32 +7582,56 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } /** - * Called when assist structure is being retrieved from a view as part of an autofill request - * to generate additional virtual structure under this view. + * Populates a {@link ViewStructure} containing virtual children to fullfil an autofill + * request. + * + * <p>This method should be used when the view manages a virtual structure under this view. For + * example, a view that draws input fields using {@link #draw(Canvas)}. * * <p>When implementing this method, subclasses must follow the rules below: * - * <ol> - * <li>Also implement {@link #autofill(SparseArray)} to autofill the virtual - * children. - * <li>Call - * {@link android.view.autofill.AutofillManager#notifyViewEntered} and - * {@link android.view.autofill.AutofillManager#notifyViewExited(View, int)} - * when the focus inside the view changed. - * <li>Call {@link android.view.autofill.AutofillManager#notifyValueChanged(View, int, - * AutofillValue)} when the value of a child changed. - * <li>Call {@link AutofillManager#commit()} when the autofill context - * of the view structure changed and you want the current autofill interaction if such - * to be commited. - * <li>Call {@link AutofillManager#cancel()} when the autofill context - * of the view structure changed and you want the current autofill interaction if such - * to be cancelled. - * <li> The {@code left} and {@code top} values set in - * {@link ViewStructure#setDimens(int, int, int, int, int, int)} need to be relative to the next - * {@link ViewGroup#isImportantForAutofill() included} parent in the structure. - * </ol> + * <ul> + * <li>Add virtual children by calling the {@link ViewStructure#newChild(int)} or + * {@link ViewStructure#asyncNewChild(int)} methods, where the {@code id} is an unique id + * identifying the children in the virtual structure. + * <li>The children hierarchy can have multiple levels if necessary, but ideally it should + * exclude intermediate levels that are irrelevant for autofill; that would improve the + * autofill performance. + * <li>Also implement {@link #autofill(SparseArray)} to autofill the virtual + * children. + * <li>Set the autofill properties of the child structure as defined by + * {@link #onProvideAutofillStructure(ViewStructure, int)}, using + * {@link ViewStructure#setAutofillId(AutofillId, int)} to set its autofill id. + * <li>Call {@link android.view.autofill.AutofillManager#notifyViewEntered(View, int, Rect)} + * and/or {@link android.view.autofill.AutofillManager#notifyViewExited(View, int)} + * when the focused virtual child changed. + * <li>Call + * {@link android.view.autofill.AutofillManager#notifyValueChanged(View, int, AutofillValue)} + * when the value of a virtual child changed. + * <li>Call {@link AutofillManager#commit()} when the autofill context of the view structure + * changed and the current context should be committed (for example, when the user tapped + * a {@code SUBMIT} button in an HTML page). + * <li>Call {@link AutofillManager#cancel()} when the autofill context of the view structure + * changed and the current context should be canceled (for example, when the user tapped + * a {@code CANCEL} button in an HTML page). + * <li>Provide ways for users to manually request autofill by calling + * {@link AutofillManager#requestAutofill(View, int, Rect)}. + * <li>The {@code left} and {@code top} values set in + * {@link ViewStructure#setDimens(int, int, int, int, int, int)} must be relative to the + * next {@link ViewGroup#isImportantForAutofill()} predecessor view included in the + * structure. + * </ul> * - * @param structure Fill in with structured view data. + * <p>Views with virtual children support the Autofill Framework mainly by: + * <ul> + * <li>Providing the metadata defining what the virtual children mean and how they can be + * autofilled. + * <li>Implementing the methods that autofill the virtual children. + * </ul> + * <p>This method is responsible for the former; {@link #autofill(SparseArray)} is responsible + * for the latter. + * + * @param structure fill in with virtual children data for autofill purposes. * @param flags optional flags. * * @see #AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS @@ -7544,15 +7642,21 @@ public class View implements Drawable.Callback, KeyEvent.Callback, /** * Automatically fills the content of this view with the {@code value}. * - * <p>By default does nothing, but views should override it (and {@link #getAutofillType()}, - * {@link #getAutofillValue()}, and {@link #onProvideAutofillStructure(ViewStructure, int)} - * to support the Autofill Framework. - * - * <p>Typically, it is implemented by: + * <p>Views support the Autofill Framework mainly by: + * <ul> + * <li>Providing the metadata defining what the view means and how it can be autofilled. + * <li>Implementing the methods that autofill the view. + * </ul> + * <p>{@link #onProvideAutofillStructure(ViewStructure, int)} is responsible for the former, + * this method is responsible for latter. * + * <p>This method does nothing by default, but when overridden it typically: * <ol> - * <li>Calling the proper getter method on {@link AutofillValue} to fetch the actual value. - * <li>Passing the actual value to the equivalent setter in the view. + * <li>Checks if the provided value matches the expected type (which is defined by + * {@link #getAutofillType()}). + * <li>Checks if the view is editable - if it isn't, it should return right away. + * <li>Call the proper getter method on {@link AutofillValue} to fetch the actual value. + * <li>Pass the actual value to the equivalent setter in the view. * </ol> * * <p>For example, a text-field view could implement the method this way: @@ -7570,8 +7674,8 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * } * </pre> * - * <p>If the value is updated asynchronously the next call to - * {@link AutofillManager#notifyValueChanged(View)} must happen <u>after</u> the value was + * <p>If the value is updated asynchronously, the next call to + * {@link AutofillManager#notifyValueChanged(View)} must happen <b>after</b> the value was * changed to the autofilled value. If not, the view will not be considered autofilled. * * @param value value to be autofilled. @@ -7580,11 +7684,24 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } /** - * Automatically fills the content of a virtual views. + * Automatically fills the content of the virtual children within this view. + * + * <p>Views with virtual children support the Autofill Framework mainly by: + * <ul> + * <li>Providing the metadata defining what the virtual children mean and how they can be + * autofilled. + * <li>Implementing the methods that autofill the virtual children. + * </ul> + * <p>{@link #onProvideAutofillVirtualStructure(ViewStructure, int)} is responsible for the + * former, this method is responsible for the latter - see {@link #autofill(AutofillValue)} and + * {@link #onProvideAutofillVirtualStructure(ViewStructure, int)} for more info about autofill. * - * <p>See {@link #autofill(AutofillValue)} and - * {@link #onProvideAutofillVirtualStructure(ViewStructure, int)} for more info. - * <p>To indicate that a virtual view was autofilled + * <p>If a child value is updated asynchronously, the next call to + * {@link AutofillManager#notifyValueChanged(View, int, AutofillValue)} must happen + * <b>after</b> the value was changed to the autofilled value. If not, the child will not be + * considered autofilled. + * + * <p><b>NOTE:</b> to indicate that a virtual view was autofilled, * <code>?android:attr/autofilledHighlight</code> should be drawn over it until the data * changes. * @@ -7596,9 +7713,9 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } /** - * Gets the unique identifier of this view on the screen for Autofill purposes. + * Gets the unique identifier of this view in the screen, for autofill purposes. * - * @return The View's Autofill id. + * @return The View's autofill id. */ public final AutofillId getAutofillId() { if (mAutofillId == null) { @@ -7610,11 +7727,18 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } /** - * Describes the autofill type that should be used on calls to - * {@link #autofill(AutofillValue)} and {@link #autofill(SparseArray)}. + * Describes the autofill type of this view, so an + * {@link android.service.autofill.AutofillService} can create the proper {@link AutofillValue} + * when autofilling the view. + * + * <p>By default returns {@link #AUTOFILL_TYPE_NONE}, but views should override it to properly + * support the Autofill Framework. * - * <p>By default returns {@link #AUTOFILL_TYPE_NONE}, but views should override it (and - * {@link #autofill(AutofillValue)} to support the Autofill Framework. + * @return either {@link #AUTOFILL_TYPE_NONE}, {@link #AUTOFILL_TYPE_TEXT}, + * {@link #AUTOFILL_TYPE_LIST}, {@link #AUTOFILL_TYPE_DATE}, or {@link #AUTOFILL_TYPE_TOGGLE}. + * + * @see #onProvideAutofillStructure(ViewStructure, int) + * @see #autofill(AutofillValue) */ public @AutofillType int getAutofillType() { return AUTOFILL_TYPE_NONE; @@ -7646,9 +7770,11 @@ public class View implements Drawable.Callback, KeyEvent.Callback, /** * Gets the {@link View}'s current autofill value. * - * <p>By default returns {@code null}, but views should override it (and - * {@link #autofill(AutofillValue)}, and {@link #getAutofillType()} to support the Autofill - * Framework. + * <p>By default returns {@code null}, but views should override it to properly support the + * Autofill Framework. + * + * @see #onProvideAutofillStructure(ViewStructure, int) + * @see #autofill(AutofillValue) */ @Nullable public AutofillValue getAutofillValue() { @@ -7656,9 +7782,10 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } /** - * Gets the mode for determining whether this View is important for autofill. + * Gets the mode for determining whether this view is important for autofill. * - * <p>See {@link #setImportantForAutofill(int)} for more info about this mode. + * <p>See {@link #setImportantForAutofill(int)} and {@link #isImportantForAutofill()} for more + * info about this mode. * * @return {@link #IMPORTANT_FOR_AUTOFILL_AUTO} by default, or value passed to * {@link #setImportantForAutofill(int)}. @@ -7679,20 +7806,29 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } /** - * Sets the mode for determining whether this View is important for autofill. - * - * <p>This property controls how this view is presented to the autofill components - * which help users to fill credentials, addresses, etc. For example, views - * that contain labels and input fields are useful for autofill components to - * determine the user context and provide values for the inputs. Note that the - * user can always override this by manually triggering autotill which would - * expose the view to the autofill provider. + * Sets the mode for determining whether this view is considered important for autofill. * * <p>The platform determines the importance for autofill automatically but you - * can use this method to customize the behavior. See the autofill modes below - * for more details. + * can use this method to customize the behavior. For example: + * + * <ol> + * <li>When the view contents is irrelevant for autofill (for example, a text field used in a + * "Captcha" challenge), it should be {@link #IMPORTANT_FOR_AUTOFILL_NO}. + * <li>When both the view and its children are irrelevant for autofill (for example, the root + * view of an activity containing a spreadhseet editor), it should be + * {@link #IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS}. + * <li>When the view content is relevant for autofill but its children aren't (for example, + * a credit card expiration date represented by a custom view that overrides the proper + * autofill methods and has 2 children representing the month and year), it should + * be {@link #IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS}. + * </ol> * - * <p>See {@link #setImportantForAutofill(int)} for more info about this mode. + * <p><b>NOTE:</strong> setting the mode as does {@link #IMPORTANT_FOR_AUTOFILL_NO} or + * {@link #IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS} does not guarantee the view (and its + * children) will be always be considered not important; for example, when the user explicitly + * makes an autofill request, all views are considered important. See + * {@link #isImportantForAutofill()} for more details about how the View's importance for + * autofill is used. * * @param mode {@link #IMPORTANT_FOR_AUTOFILL_AUTO}, {@link #IMPORTANT_FOR_AUTOFILL_YES}, * {@link #IMPORTANT_FOR_AUTOFILL_NO}, {@link #IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS}, @@ -7708,40 +7844,51 @@ public class View implements Drawable.Callback, KeyEvent.Callback, /** * Hints the Android System whether the {@link android.app.assist.AssistStructure.ViewNode} - * associated with this View should be included in a {@link ViewStructure} used for - * autofill purposes. + * associated with this view is considered important for autofill purposes. * * <p>Generally speaking, a view is important for autofill if: * <ol> - * <li>The view can-be autofilled by an {@link android.service.autofill.AutofillService}. - * <li>The view contents can help an {@link android.service.autofill.AutofillService} to - * autofill other views. + * <li>The view can be autofilled by an {@link android.service.autofill.AutofillService}. + * <li>The view contents can help an {@link android.service.autofill.AutofillService} + * determine how other views can be autofilled. * <ol> * * <p>For example, view containers should typically return {@code false} for performance reasons - * (since the important info is provided by their children), but if the container is actually - * whose children are part of a compound view, it should return {@code true} (and then override - * {@link #dispatchProvideAutofillStructure(ViewStructure, int)} to simply call - * {@link #onProvideAutofillStructure(ViewStructure, int)} so its children are not included in - * the structure). On the other hand, views representing labels or editable fields should - * typically return {@code true}, but in some cases they could return {@code false} (for - * example, if they're part of a "Captcha" mechanism). - * - * <p>By default, this method returns {@code true} if {@link #getImportantForAutofill()} returns - * {@link #IMPORTANT_FOR_AUTOFILL_YES}, {@code false } if it returns - * {@link #IMPORTANT_FOR_AUTOFILL_NO}, and use some heuristics to define the importance when it - * returns {@link #IMPORTANT_FOR_AUTOFILL_AUTO}. Hence, it should rarely be overridden - Views - * should use {@link #setImportantForAutofill(int)} instead. - * - * <p><strong>Note:</strong> returning {@code false} does not guarantee the view will be - * excluded from the structure; for example, if the user explicitly requested autofill, the - * View might be always included. - * - * <p>This decision applies just for the view, not its children - if the view children are not - * important for autofill, the view should override - * {@link #dispatchProvideAutofillStructure(ViewStructure, int)} to simply call - * {@link #onProvideAutofillStructure(ViewStructure, int)} (instead of calling - * {@link #dispatchProvideAutofillStructure(ViewStructure, int)} for each child). + * (since the important info is provided by their children), but if its properties have relevant + * information (for example, a resource id called {@code credentials}, it should return + * {@code true}. On the other hand, views representing labels or editable fields should + * typically return {@code true}, but in some cases they could return {@code false} + * (for example, if they're part of a "Captcha" mechanism). + * + * <p>The value returned by this method depends on the value returned by + * {@link #getImportantForAutofill()}: + * + * <ol> + * <li>if it returns {@link #IMPORTANT_FOR_AUTOFILL_YES} or + * {@link #IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS}, then it returns {@code true} + * <li>if it returns {@link #IMPORTANT_FOR_AUTOFILL_NO} or + * {@link #IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS}, then it returns {@code false} + * <li>if it returns {@link #IMPORTANT_FOR_AUTOFILL_AUTO}, then it uses some simple heuristics + * that can return {@code true} in some cases (like a container with a resource id), + * but {@code false} in most. + * <li>otherwise, it returns {@code false}. + * </ol> + * + * <p>When a view is considered important for autofill: + * <ul> + * <li>The view might automatically trigger an autofill request when focused on. + * <li>The contents of the view are included in the {@link ViewStructure} used in an autofill + * request. + * </ul> + * + * <p>On the other hand, when a view is considered not important for autofill: + * <ul> + * <li>The view never automatically triggers autofill requests, but it can trigger a manual + * request through {@link AutofillManager#requestAutofill(View)}. + * <li>The contents of the view are not included in the {@link ViewStructure} used in an + * autofill request, unless the request has the + * {@link #AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS} flag. + * </ul> * * @return whether the view is considered important for autofill. * @@ -7751,6 +7898,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * @see #IMPORTANT_FOR_AUTOFILL_NO * @see #IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS * @see #IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS + * @see AutofillManager#requestAutofill(View) */ public final boolean isImportantForAutofill() { // Check parent mode to ensure we're not hidden. @@ -7875,29 +8023,38 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } /** - * Dispatch creation of {@link ViewStructure} down the hierarchy. + * Dispatches creation of a {@link ViewStructure}s for autofill purposes down the hierarchy, + * when an Assist structure is being created as part of an autofill request. * * <p>The default implementation does the following: - * * <ul> * <li>Sets the {@link AutofillId} in the structure. * <li>Calls {@link #onProvideAutofillStructure(ViewStructure, int)}. * <li>Calls {@link #onProvideAutofillVirtualStructure(ViewStructure, int)}. * </ul> * - * <p>When overridden, it must either call - * {@code super.dispatchProvideAutofillStructure(structure, flags)} or explicitly - * set the {@link AutofillId} in the structure (for example, by calling - * {@code structure.setAutofillId(getAutofillId())}). + * <p>Typically, this method should only be overridden by subclasses that provide a view + * hierarchy (such as {@link ViewGroup}) - other classes should override + * {@link #onProvideAutofillStructure(ViewStructure, int)} or + * {@link #onProvideAutofillVirtualStructure(ViewStructure, int)} instead. + * + * <p>When overridden, it must: * - * <p>When providing your implementation you need to decide how to handle - * the {@link #AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS} flag which instructs you - * to report all views to the structure regardless if {@link #isImportantForAutofill()} - * returns true. We encourage you respect the importance property for a better - * user experience in your app. If the flag is not set then you should filter out - * not important views to optimize autofill performance in your app. + * <ul> + * <li>Either call + * {@code super.dispatchProvideAutofillStructure(structure, flags)} or explicitly + * set the {@link AutofillId} in the structure (for example, by calling + * {@code structure.setAutofillId(getAutofillId())}). + * <li>Decide how to handle the {@link #AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS} flag - when + * set, all views in the structure should be considered important for autofill, + * regardless of what {@link #isImportantForAutofill()} returns. We encourage you to + * respect this flag to provide a better user experience - this flag is typically used + * when an user explicitly requested autofill. If the flag is not set, + * then only views marked as important for autofill should be included in the + * structure - skipping non-important views optimizes the overall autofill performance. + * </ul> * - * @param structure Fill in with structured view data. + * @param structure fill in with structured view data for autofill purposes. * @param flags optional flags. * * @see #AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS @@ -7911,6 +8068,10 @@ public class View implements Drawable.Callback, KeyEvent.Callback, boolean forAutofill, @AutofillFlags int flags) { if (forAutofill) { structure.setAutofillId(getAutofillId()); + if (!isLaidOut()) { + Log.w(VIEW_LOG_TAG, "dispatchProvideAutofillStructure(): not laid out, ignoring"); + return; + } onProvideAutofillStructure(structure, flags); onProvideAutofillVirtualStructure(structure, flags); } else if (!isAssistBlocked()) { diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index be0bd840c8fa..4a231efcdd07 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -1850,12 +1850,8 @@ public final class ViewRootImpl implements ViewParent, final boolean isViewVisible = viewVisibility == View.VISIBLE; final boolean windowRelayoutWasForced = mForceNextWindowRelayout; - final int contextConfigSeq = mContext.getResources().getConfiguration().seq; - final int lastConfigSeq = mLastReportedMergedConfiguration.getMergedConfiguration().seq; - final boolean staleConfig = lastConfigSeq != 0 && contextConfigSeq != lastConfigSeq; - - if (mFirst || windowShouldResize || insetsChanged || staleConfig || viewVisibilityChanged - || params != null || mForceNextWindowRelayout) { + if (mFirst || windowShouldResize || insetsChanged || + viewVisibilityChanged || params != null || mForceNextWindowRelayout) { mForceNextWindowRelayout = false; if (isViewVisible) { @@ -6092,13 +6088,7 @@ public final class ViewRootImpl implements ViewParent, if (params != null) { if (DBG) Log.d(mTag, "WindowLayout in layoutWindow:" + params); } - - if (mPendingMergedConfiguration.getMergedConfiguration().seq == 0) { - mPendingMergedConfiguration.setTo(mLastReportedMergedConfiguration); - } - - int initialConfigSeq = mPendingMergedConfiguration.getMergedConfiguration().seq; - + mPendingMergedConfiguration.getMergedConfiguration().seq = 0; //Log.d(mTag, ">>>>>> CALLING relayout"); if (params != null && mOrigWindowType != params.type) { // For compatibility with old apps, don't crash here. @@ -6117,10 +6107,6 @@ public final class ViewRootImpl implements ViewParent, mPendingStableInsets, mPendingOutsets, mPendingBackDropFrame, mPendingMergedConfiguration, mSurface); - if (initialConfigSeq == mPendingMergedConfiguration.getMergedConfiguration().seq) { - mPendingMergedConfiguration.getMergedConfiguration().seq = 0; - } - mPendingAlwaysConsumeNavBar = (relayoutResult & WindowManagerGlobal.RELAYOUT_RES_CONSUME_ALWAYS_NAV_BAR) != 0; diff --git a/core/java/android/view/ViewStructure.java b/core/java/android/view/ViewStructure.java index ddfe697da053..0ecd20da21c5 100644 --- a/core/java/android/view/ViewStructure.java +++ b/core/java/android/view/ViewStructure.java @@ -269,6 +269,9 @@ public abstract class ViewStructure { * Create a new child {@link ViewStructure} in this view, putting into the list of * children at <var>index</var>. * + * <p><b>NOTE: </b>you must pre-allocate space for the child first, by calling either + * {@link #addChildCount(int)} or {@link #setChildCount(int)}. + * * @return Returns an fresh {@link ViewStructure} ready to be filled in. */ public abstract ViewStructure newChild(int index); @@ -279,6 +282,10 @@ public abstract class ViewStructure { * to build its content (and children etc). Once done, some thread must call * {@link #asyncCommit} to tell the containing {@link ViewStructure} that the async * population is done. + * + * <p><b>NOTE: </b>you must pre-allocate space for the child first, by calling either + * {@link #addChildCount(int)} or {@link #setChildCount(int)}. + * * @return Returns an fresh {@link ViewStructure} ready to be filled in. */ public abstract ViewStructure asyncNewChild(int index); diff --git a/core/java/android/view/accessibility/AccessibilityManager.java b/core/java/android/view/accessibility/AccessibilityManager.java index 8fc586eba21d..3a3e17123d3c 100644 --- a/core/java/android/view/accessibility/AccessibilityManager.java +++ b/core/java/android/view/accessibility/AccessibilityManager.java @@ -25,6 +25,7 @@ import android.annotation.Nullable; import android.annotation.SdkConstant; import android.annotation.SystemApi; import android.annotation.SystemService; +import android.annotation.TestApi; import android.content.ComponentName; import android.content.Context; import android.content.pm.PackageManager; @@ -704,7 +705,9 @@ public final class AccessibilityManager { /** * Registers a {@link AccessibilityRequestPreparer}. + * @hide */ + @TestApi public void addAccessibilityRequestPreparer(AccessibilityRequestPreparer preparer) { if (mRequestPreparerLists == null) { mRequestPreparerLists = new SparseArray<>(1); @@ -720,7 +723,9 @@ public final class AccessibilityManager { /** * Unregisters a {@link AccessibilityRequestPreparer}. + * @hide */ + @TestApi public void removeAccessibilityRequestPreparer(AccessibilityRequestPreparer preparer) { if (mRequestPreparerLists == null) { return; diff --git a/core/java/android/view/accessibility/AccessibilityRequestPreparer.java b/core/java/android/view/accessibility/AccessibilityRequestPreparer.java index 889feb983be4..c0323902aa95 100644 --- a/core/java/android/view/accessibility/AccessibilityRequestPreparer.java +++ b/core/java/android/view/accessibility/AccessibilityRequestPreparer.java @@ -18,6 +18,7 @@ package android.view.accessibility; import android.annotation.IntDef; import android.annotation.Nullable; +import android.annotation.TestApi; import android.content.Context; import android.os.Bundle; import android.os.Message; @@ -39,7 +40,9 @@ import java.lang.ref.WeakReference; * <p> * <strong>Note:</strong> This class should only be needed in exceptional situations where a * {@link View} cannot otherwise synchronously meet the request for accessibility data. + * @hide */ +@TestApi public abstract class AccessibilityRequestPreparer { public static final int REQUEST_TYPE_EXTRA_DATA = 0x00000001; diff --git a/core/java/android/view/autofill/AutofillManagerInternal.java b/core/java/android/view/autofill/AutofillManagerInternal.java new file mode 100644 index 000000000000..fc5d306ddcef --- /dev/null +++ b/core/java/android/view/autofill/AutofillManagerInternal.java @@ -0,0 +1,29 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package android.view.autofill; + +/** + * Autofill Manager local system service interface. + * + * @hide Only for use within the system server. + */ +public abstract class AutofillManagerInternal { + + /** + * Notifies the manager that the back key was pressed. + */ + public abstract void onBackKeyPressed(); +} diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java index ec2b302d35ca..2753ff675dec 100644 --- a/core/java/android/webkit/WebView.java +++ b/core/java/android/webkit/WebView.java @@ -1625,6 +1625,7 @@ public class WebView extends AbsoluteLayout * @param context is the activity context the WebView will be used in. * @param callback will be called with the value true if initialization is * successful. The callback will be run on the UI thread. + * @hide */ public static void initSafeBrowsing(Context context, ValueCallback<Boolean> callback) { getFactory().getStatics().initSafeBrowsing(context, callback); @@ -1632,6 +1633,7 @@ public class WebView extends AbsoluteLayout /** * Shuts down Safe Browsing. This should only be called once. + * @hide */ public static void shutdownSafeBrowsing() { getFactory().getStatics().shutdownSafeBrowsing(); diff --git a/core/java/android/webkit/WebViewFactoryProvider.java b/core/java/android/webkit/WebViewFactoryProvider.java index 5cf48b585b16..00fdac89d028 100644 --- a/core/java/android/webkit/WebViewFactoryProvider.java +++ b/core/java/android/webkit/WebViewFactoryProvider.java @@ -78,14 +78,18 @@ public interface WebViewFactoryProvider { /** * Implement the API method * {@link android.webkit.WebView#initSafeBrowsing(Context , ValueCallback<Boolean>)} + * @hide */ - void initSafeBrowsing(Context context, ValueCallback<Boolean> callback); + default void initSafeBrowsing(Context context, ValueCallback<Boolean> callback) { + } /** * Implement the API method * {@link android.webkit.WebView#shutdownSafeBrowsing()} + * @hide */ - void shutdownSafeBrowsing(); + default void shutdownSafeBrowsing() { + } } Statics getStatics(); diff --git a/core/java/android/widget/DayPickerView.java b/core/java/android/widget/DayPickerView.java index cfd1445ea3f8..1e8207a2e7b3 100644 --- a/core/java/android/widget/DayPickerView.java +++ b/core/java/android/widget/DayPickerView.java @@ -16,8 +16,6 @@ package android.widget; -import static android.os.Build.VERSION_CODES.O; - import android.annotation.Nullable; import android.content.Context; import android.content.res.ColorStateList; @@ -293,22 +291,10 @@ class DayPickerView extends ViewGroup { * @param timeInMillis the target day in milliseconds * @param animate whether to smooth scroll to the new position * @param setSelected whether to set the specified day as selected - * - * @throws IllegalArgumentException if the build version is greater than - * {@link android.os.Build.VERSION_CODES#N_MR1} and the provided timeInMillis is before - * the range start or after the range end. */ private void setDate(long timeInMillis, boolean animate, boolean setSelected) { getTempCalendarForTime(timeInMillis); - final int targetSdkVersion = mContext.getApplicationInfo().targetSdkVersion; - if (targetSdkVersion >= O) { - if (mTempCalendar.before(mMinDate) || mTempCalendar.after(mMaxDate)) { - throw new IllegalArgumentException("timeInMillis must be between the values of " - + "getMinDate() and getMaxDate()"); - } - } - if (setSelected) { mSelectedDay.setTimeInMillis(timeInMillis); } @@ -367,6 +353,13 @@ class DayPickerView extends ViewGroup { public void onRangeChanged() { mAdapter.setRange(mMinDate, mMaxDate); + // Clamp the selected day to the new min/max. + if (mSelectedDay.before(mMinDate)) { + mSelectedDay.setTimeInMillis(mMinDate.getTimeInMillis()); + } else if (mSelectedDay.after(mMaxDate)) { + mSelectedDay.setTimeInMillis(mMaxDate.getTimeInMillis()); + } + // Changing the min/max date changes the selection position since we // don't really have stable IDs. Jumps immediately to the new position. setDate(mSelectedDay.getTimeInMillis(), false, false); diff --git a/core/java/android/widget/Editor.java b/core/java/android/widget/Editor.java index c19ee56e7636..0e6e3aee28b1 100644 --- a/core/java/android/widget/Editor.java +++ b/core/java/android/widget/Editor.java @@ -3846,7 +3846,7 @@ public class Editor { if (selected == null || selected.isEmpty()) { menu.add(Menu.NONE, TextView.ID_AUTOFILL, MENU_ITEM_ORDER_AUTOFILL, com.android.internal.R.string.autofill) - .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); + .setShowAsAction(MenuItem.SHOW_AS_OVERFLOW_ALWAYS); } } diff --git a/core/java/android/widget/RemoteViews.java b/core/java/android/widget/RemoteViews.java index 49e1d4486cf8..d2b9018e7abd 100644 --- a/core/java/android/widget/RemoteViews.java +++ b/core/java/android/widget/RemoteViews.java @@ -2419,23 +2419,25 @@ public class RemoteViews implements Parcelable, Filter { public RemoteViews clone() { - Preconditions.checkState(mIsRoot, "RemoteView has been attached to another RemoteView. " - + "May only clone the root of a RemoteView hierarchy."); + synchronized (this) { + Preconditions.checkState(mIsRoot, "RemoteView has been attached to another RemoteView. " + + "May only clone the root of a RemoteView hierarchy."); - Parcel p = Parcel.obtain(); + Parcel p = Parcel.obtain(); - // Do not parcel the Bitmap cache - doing so creates an expensive copy of all bitmaps. - // Instead pretend we're not owning the cache while parceling. - mIsRoot = false; - writeToParcel(p, PARCELABLE_ELIDE_DUPLICATES); - p.setDataPosition(0); - mIsRoot = true; + // Do not parcel the Bitmap cache - doing so creates an expensive copy of all bitmaps. + // Instead pretend we're not owning the cache while parceling. + mIsRoot = false; + writeToParcel(p, PARCELABLE_ELIDE_DUPLICATES); + p.setDataPosition(0); + mIsRoot = true; - RemoteViews rv = new RemoteViews(p, mBitmapCache.clone(), mApplication, 0); - rv.mIsRoot = true; + RemoteViews rv = new RemoteViews(p, mBitmapCache.clone(), mApplication, 0); + rv.mIsRoot = true; - p.recycle(); - return rv; + p.recycle(); + return rv; + } } public String getPackage() { diff --git a/core/java/com/android/internal/app/IAppOpsService.aidl b/core/java/com/android/internal/app/IAppOpsService.aidl index 35d4ba81bd69..7a119b4351c0 100644 --- a/core/java/com/android/internal/app/IAppOpsService.aidl +++ b/core/java/com/android/internal/app/IAppOpsService.aidl @@ -48,4 +48,6 @@ interface IAppOpsService { void setUserRestrictions(in Bundle restrictions, IBinder token, int userHandle); void setUserRestriction(int code, boolean restricted, IBinder token, int userHandle, in String[] exceptionPackages); void removeUser(int userHandle); + + boolean isOperationActive(int code, int uid, String packageName); } diff --git a/core/java/com/android/internal/graphics/SfVsyncFrameCallbackProvider.java b/core/java/com/android/internal/graphics/SfVsyncFrameCallbackProvider.java new file mode 100644 index 000000000000..931eb9901288 --- /dev/null +++ b/core/java/com/android/internal/graphics/SfVsyncFrameCallbackProvider.java @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.internal.graphics; + +import android.animation.AnimationHandler.AnimationFrameCallbackProvider; +import android.view.Choreographer; + +/** + * Provider of timing pulse that uses SurfaceFlinger Vsync Choreographer for frame callbacks. + * + * @hide + */ +public final class SfVsyncFrameCallbackProvider implements AnimationFrameCallbackProvider { + + private final Choreographer mChoreographer = Choreographer.getSfInstance(); + + @Override + public void postFrameCallback(Choreographer.FrameCallback callback) { + mChoreographer.postFrameCallback(callback); + } + + @Override + public void postCommitCallback(Runnable runnable) { + mChoreographer.postCallback(Choreographer.CALLBACK_COMMIT, runnable, null); + } + + @Override + public long getFrameTime() { + return mChoreographer.getFrameTime(); + } + + @Override + public long getFrameDelay() { + return Choreographer.getFrameDelay(); + } + + @Override + public void setFrameDelay(long delay) { + Choreographer.setFrameDelay(delay); + } +}
\ No newline at end of file diff --git a/core/java/com/android/internal/os/BatterySipper.java b/core/java/com/android/internal/os/BatterySipper.java index 5ea9475dbd9a..5457c1d4cc03 100644 --- a/core/java/com/android/internal/os/BatterySipper.java +++ b/core/java/com/android/internal/os/BatterySipper.java @@ -17,16 +17,52 @@ package com.android.internal.os; import android.os.BatteryStats.Uid; +import java.util.List; + /** * Contains power usage of an application, system service, or hardware type. */ public class BatterySipper implements Comparable<BatterySipper> { public int userId; public Uid uidObj; - public double totalPowerMah; public DrainType drainType; /** + * Smeared power from screen usage. + * We split the screen usage power and smear them among apps, based on activity time. + */ + public double screenPowerMah; + + /** + * Smeared power using proportional method. + * + * we smear power usage from hidden sippers to all apps proportionally.(except for screen usage) + * + * @see BatteryStatsHelper#shouldHideSipper(BatterySipper) + * @see BatteryStatsHelper#removeHiddenBatterySippers(List) + */ + public double proportionalSmearMah; + + /** + * Total power that adding the smeared power. + * + * @see #sumPower() + */ + public double totalSmearedPowerMah; + + /** + * Total power before smearing + */ + public double totalPowerMah; + + /** + * Whether we should hide this sipper + * + * @see BatteryStatsHelper#shouldHideSipper(BatterySipper) + */ + public boolean shouldHide; + + /** * Generic usage time in milliseconds. */ public long usageTimeMs; @@ -99,8 +135,8 @@ public class BatterySipper implements Comparable<BatterySipper> { } public void computeMobilemspp() { - long packets = mobileRxPackets+mobileTxPackets; - mobilemspp = packets > 0 ? (mobileActive / (double)packets) : 0; + long packets = mobileRxPackets + mobileTxPackets; + mobilemspp = packets > 0 ? (mobileActive / (double) packets) : 0; } @Override @@ -169,15 +205,23 @@ public class BatterySipper implements Comparable<BatterySipper> { cameraPowerMah += other.cameraPowerMah; flashlightPowerMah += other.flashlightPowerMah; bluetoothPowerMah += other.bluetoothPowerMah; + screenPowerMah += other.screenPowerMah; + proportionalSmearMah += other.proportionalSmearMah; + totalSmearedPowerMah += other.totalSmearedPowerMah; } /** * Sum all the powers and store the value into `value`. + * Also sum the {@code smearedTotalPowerMah} by adding smeared powerMah. + * * @return the sum of all the power in this BatterySipper. */ public double sumPower() { - return totalPowerMah = usagePowerMah + wifiPowerMah + gpsPowerMah + cpuPowerMah + + totalPowerMah = usagePowerMah + wifiPowerMah + gpsPowerMah + cpuPowerMah + sensorPowerMah + mobileRadioPowerMah + wakeLockPowerMah + cameraPowerMah + flashlightPowerMah + bluetoothPowerMah; + totalSmearedPowerMah = totalPowerMah + screenPowerMah + proportionalSmearMah; + + return totalPowerMah; } } diff --git a/core/java/com/android/internal/os/BatteryStatsHelper.java b/core/java/com/android/internal/os/BatteryStatsHelper.java index 1ae5c6625652..f3632f08880d 100644 --- a/core/java/com/android/internal/os/BatteryStatsHelper.java +++ b/core/java/com/android/internal/os/BatteryStatsHelper.java @@ -19,6 +19,8 @@ package com.android.internal.os; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; +import android.content.pm.PackageManager; +import android.content.res.Resources; import android.hardware.SensorManager; import android.net.ConnectivityManager; import android.os.BatteryStats; @@ -32,12 +34,16 @@ import android.os.RemoteException; import android.os.ServiceManager; import android.os.SystemClock; import android.os.UserHandle; +import android.text.format.DateUtils; import android.util.ArrayMap; import android.util.Log; import android.util.SparseArray; +import android.util.SparseLongArray; +import com.android.internal.annotations.VisibleForTesting; import com.android.internal.app.IBatteryStats; import com.android.internal.os.BatterySipper.DrainType; +import com.android.internal.util.ArrayUtils; import java.io.File; import java.io.FileInputStream; @@ -55,7 +61,7 @@ import java.util.Locale; * The caller must initialize this class as soon as activity object is ready to use (for example, in * onAttach() for Fragment), call create() in onCreate() and call destroy() in onDestroy(). */ -public final class BatteryStatsHelper { +public class BatteryStatsHelper { static final boolean DEBUG = false; private static final String TAG = BatteryStatsHelper.class.getSimpleName(); @@ -73,6 +79,10 @@ public final class BatteryStatsHelper { private Intent mBatteryBroadcast; private PowerProfile mPowerProfile; + private String[] mSystemPackageArray; + private String[] mServicepackageArray; + private PackageManager mPackageManager; + /** * List of apps using power. */ @@ -131,7 +141,7 @@ public final class BatteryStatsHelper { boolean mHasBluetoothPowerReporting = false; public static boolean checkWifiOnly(Context context) { - ConnectivityManager cm = (ConnectivityManager)context.getSystemService( + ConnectivityManager cm = (ConnectivityManager) context.getSystemService( Context.CONNECTIVITY_SERVICE); return !cm.isNetworkSupported(ConnectivityManager.TYPE_MOBILE); } @@ -144,7 +154,7 @@ public final class BatteryStatsHelper { } public static boolean checkHasBluetoothPowerReporting(BatteryStats stats, - PowerProfile profile) { + PowerProfile profile) { return stats.hasBluetoothActivityReporting() && profile.getAveragePower(PowerProfile.POWER_BLUETOOTH_CONTROLLER_IDLE) != 0 && profile.getAveragePower(PowerProfile.POWER_BLUETOOTH_CONTROLLER_RX) != 0 && @@ -163,6 +173,13 @@ public final class BatteryStatsHelper { mContext = context; mCollectBatteryBroadcast = collectBatteryBroadcast; mWifiOnly = wifiOnly; + mPackageManager = context.getPackageManager(); + + final Resources resources = context.getResources(); + mSystemPackageArray = resources.getStringArray( + com.android.internal.R.array.config_batteryPackageTypeSystem); + mServicepackageArray = resources.getStringArray( + com.android.internal.R.array.config_batteryPackageTypeService); } public void storeStatsHistoryInFile(String fname) { @@ -216,7 +233,7 @@ public final class BatteryStatsHelper { } } return getStats(IBatteryStats.Stub.asInterface( - ServiceManager.getService(BatteryStats.SERVICE_NAME))); + ServiceManager.getService(BatteryStats.SERVICE_NAME))); } public static void dropFile(Context context, String fname) { @@ -274,15 +291,25 @@ public final class BatteryStatsHelper { if (power == 0) return "0"; final String format; - if (power < .00001) format = "%.8f"; - else if (power < .0001) format = "%.7f"; - else if (power < .001) format = "%.6f"; - else if (power < .01) format = "%.5f"; - else if (power < .1) format = "%.4f"; - else if (power < 1) format = "%.3f"; - else if (power < 10) format = "%.2f"; - else if (power < 100) format = "%.1f"; - else format = "%.0f"; + if (power < .00001) { + format = "%.8f"; + } else if (power < .0001) { + format = "%.7f"; + } else if (power < .001) { + format = "%.6f"; + } else if (power < .01) { + format = "%.5f"; + } else if (power < .1) { + format = "%.4f"; + } else if (power < 1) { + format = "%.3f"; + } else if (power < 10) { + format = "%.2f"; + } else if (power < 100) { + format = "%.1f"; + } else { + format = "%.0f"; + } // Use English locale because this is never used in UI (only in checkin and dump). return String.format(Locale.ENGLISH, format, power); @@ -370,7 +397,7 @@ public final class BatteryStatsHelper { mWifiPowerCalculator.reset(); final boolean hasBluetoothPowerReporting = checkHasBluetoothPowerReporting(mStats, - mPowerProfile); + mPowerProfile); if (mBluetoothPowerCalculator == null || hasBluetoothPowerReporting != mHasBluetoothPowerReporting) { mBluetoothPowerCalculator = new BluetoothPowerCalculator(mPowerProfile); @@ -405,12 +432,12 @@ public final class BatteryStatsHelper { mChargeTimeRemainingUs = mStats.computeChargeTimeRemaining(rawRealtimeUs); if (DEBUG) { - Log.d(TAG, "Raw time: realtime=" + (rawRealtimeUs/1000) + " uptime=" - + (rawUptimeUs/1000)); - Log.d(TAG, "Battery time: realtime=" + (mBatteryRealtimeUs /1000) + " uptime=" - + (mBatteryUptimeUs /1000)); - Log.d(TAG, "Battery type time: realtime=" + (mTypeBatteryRealtimeUs /1000) + " uptime=" - + (mTypeBatteryUptimeUs /1000)); + Log.d(TAG, "Raw time: realtime=" + (rawRealtimeUs / 1000) + " uptime=" + + (rawUptimeUs / 1000)); + Log.d(TAG, "Battery time: realtime=" + (mBatteryRealtimeUs / 1000) + " uptime=" + + (mBatteryUptimeUs / 1000)); + Log.d(TAG, "Battery type time: realtime=" + (mTypeBatteryRealtimeUs / 1000) + " uptime=" + + (mTypeBatteryUptimeUs / 1000)); } mMinDrainedPower = (mStats.getLowDischargeAmountSinceCharge() * mPowerProfile.getBatteryCapacity()) / 100; @@ -420,7 +447,7 @@ public final class BatteryStatsHelper { processAppUsage(asUsers); // Before aggregating apps in to users, collect all apps to sort by their ms per packet. - for (int i=0; i<mUsageList.size(); i++) { + for (int i = 0; i < mUsageList.size(); i++) { BatterySipper bs = mUsageList.get(i); bs.computeMobilemspp(); if (bs.mobilemspp != 0) { @@ -428,9 +455,9 @@ public final class BatteryStatsHelper { } } - for (int i=0; i<mUserSippers.size(); i++) { + for (int i = 0; i < mUserSippers.size(); i++) { List<BatterySipper> user = mUserSippers.valueAt(i); - for (int j=0; j<user.size(); j++) { + for (int j = 0; j < user.size(); j++) { BatterySipper bs = user.get(j); bs.computeMobilemspp(); if (bs.mobilemspp != 0) { @@ -491,6 +518,21 @@ public final class BatteryStatsHelper { mMaxPower = Math.max(mMaxPower, amount); } } + + // Smear it! + final double hiddenPowerMah = removeHiddenBatterySippers(mUsageList); + final double totalRemainingPower = getTotalPower() - hiddenPowerMah; + if (Math.abs(totalRemainingPower) > 1e-3) { + for (int i = 0, size = mUsageList.size(); i < size; i++) { + final BatterySipper sipper = mUsageList.get(i); + if (!sipper.shouldHide) { + sipper.proportionalSmearMah = hiddenPowerMah + * ((sipper.totalPowerMah + sipper.screenPowerMah) + / totalRemainingPower); + sipper.sumPower(); + } + } + } } private void processAppUsage(SparseArray<UserHandle> asUsers) { @@ -506,12 +548,15 @@ public final class BatteryStatsHelper { mCpuPowerCalculator.calculateApp(app, u, mRawRealtimeUs, mRawUptimeUs, mStatsType); mWakelockPowerCalculator.calculateApp(app, u, mRawRealtimeUs, mRawUptimeUs, mStatsType); - mMobileRadioPowerCalculator.calculateApp(app, u, mRawRealtimeUs, mRawUptimeUs, mStatsType); + mMobileRadioPowerCalculator.calculateApp(app, u, mRawRealtimeUs, mRawUptimeUs, + mStatsType); mWifiPowerCalculator.calculateApp(app, u, mRawRealtimeUs, mRawUptimeUs, mStatsType); - mBluetoothPowerCalculator.calculateApp(app, u, mRawRealtimeUs, mRawUptimeUs, mStatsType); + mBluetoothPowerCalculator.calculateApp(app, u, mRawRealtimeUs, mRawUptimeUs, + mStatsType); mSensorPowerCalculator.calculateApp(app, u, mRawRealtimeUs, mRawUptimeUs, mStatsType); mCameraPowerCalculator.calculateApp(app, u, mRawRealtimeUs, mRawUptimeUs, mStatsType); - mFlashlightPowerCalculator.calculateApp(app, u, mRawRealtimeUs, mRawUptimeUs, mStatsType); + mFlashlightPowerCalculator.calculateApp(app, u, mRawRealtimeUs, mRawUptimeUs, + mStatsType); final double totalPower = app.sumPower(); if (DEBUG && totalPower != 0) { @@ -562,7 +607,7 @@ public final class BatteryStatsHelper { private void addPhoneUsage() { long phoneOnTimeMs = mStats.getPhoneOnTime(mRawRealtimeUs, mStatsType) / 1000; double phoneOnPower = mPowerProfile.getAveragePower(PowerProfile.POWER_RADIO_ACTIVE) - * phoneOnTimeMs / (60*60*1000); + * phoneOnTimeMs / (60 * 60 * 1000); if (phoneOnPower != 0) { addEntry(BatterySipper.DrainType.PHONE, phoneOnTimeMs, phoneOnPower); } @@ -582,14 +627,14 @@ public final class BatteryStatsHelper { / BatteryStats.NUM_SCREEN_BRIGHTNESS_BINS; long brightnessTime = mStats.getScreenBrightnessTime(i, mRawRealtimeUs, mStatsType) / 1000; - double p = screenBinPower*brightnessTime; + double p = screenBinPower * brightnessTime; if (DEBUG && p != 0) { Log.d(TAG, "Screen bin #" + i + ": time=" + brightnessTime + " power=" + makemAh(p / (60 * 60 * 1000))); } power += p; } - power /= (60*60*1000); // To hours + power /= (60 * 60 * 1000); // To hours if (power != 0) { addEntry(BatterySipper.DrainType.SCREEN, screenOnTimeMs, power); } @@ -606,7 +651,7 @@ public final class BatteryStatsHelper { } private void aggregateSippers(BatterySipper bs, List<BatterySipper> from, String tag) { - for (int i=0; i<from.size(); i++) { + for (int i = 0; i < from.size(); i++) { BatterySipper wbs = from.get(i); if (DEBUG) Log.d(TAG, tag + " adding sipper " + wbs + ": cpu=" + wbs.cpuTimeMs); bs.add(wbs); @@ -647,7 +692,8 @@ public final class BatteryStatsHelper { */ private void addWiFiUsage() { BatterySipper bs = new BatterySipper(DrainType.WIFI, null, 0); - mWifiPowerCalculator.calculateRemaining(bs, mStats, mRawRealtimeUs, mRawUptimeUs, mStatsType); + mWifiPowerCalculator.calculateRemaining(bs, mStats, mRawRealtimeUs, mRawUptimeUs, + mStatsType); aggregateSippers(bs, mWifiSippers, "WIFI"); if (bs.totalPowerMah > 0) { mUsageList.add(bs); @@ -719,17 +765,29 @@ public final class BatteryStatsHelper { return mMobilemsppList; } - public long getStatsPeriod() { return mStatsPeriod; } + public long getStatsPeriod() { + return mStatsPeriod; + } - public int getStatsType() { return mStatsType; } + public int getStatsType() { + return mStatsType; + } - public double getMaxPower() { return mMaxPower; } + public double getMaxPower() { + return mMaxPower; + } - public double getMaxRealPower() { return mMaxRealPower; } + public double getMaxRealPower() { + return mMaxRealPower; + } - public double getTotalPower() { return mTotalPower; } + public double getTotalPower() { + return mTotalPower; + } - public double getComputedPower() { return mComputedPower; } + public double getComputedPower() { + return mComputedPower; + } public double getMinDrainedPower() { return mMinDrainedPower; @@ -747,7 +805,7 @@ public final class BatteryStatsHelper { int pos = 0; byte[] data = new byte[avail]; while (true) { - int amt = stream.read(data, pos, data.length-pos); + int amt = stream.read(data, pos, data.length - pos); //Log.i("foo", "Read " + amt + " bytes at " + pos // + " of avail " + data.length); if (amt <= 0) { @@ -757,14 +815,152 @@ public final class BatteryStatsHelper { } pos += amt; avail = stream.available(); - if (avail > data.length-pos) { - byte[] newData = new byte[pos+avail]; + if (avail > data.length - pos) { + byte[] newData = new byte[pos + avail]; System.arraycopy(data, 0, newData, 0, pos); data = newData; } } } + /** + * Mark the {@link BatterySipper} that we should hide and smear the screen usage based on + * foreground activity time. + * + * @param sippers sipper list that need to check and remove + * @return the total power of the hidden items of {@link BatterySipper} + * for proportional smearing + */ + public double removeHiddenBatterySippers(List<BatterySipper> sippers) { + double proportionalSmearPowerMah = 0; + BatterySipper screenSipper = null; + for (int i = sippers.size() - 1; i >= 0; i--) { + final BatterySipper sipper = sippers.get(i); + sipper.shouldHide = shouldHideSipper(sipper); + if (sipper.shouldHide) { + if (sipper.drainType != BatterySipper.DrainType.OVERCOUNTED + && sipper.drainType != BatterySipper.DrainType.SCREEN + && sipper.drainType != BatterySipper.DrainType.UNACCOUNTED) { + // Don't add it if it is overcounted, unaccounted or screen + proportionalSmearPowerMah += sipper.totalPowerMah; + } + } + + if (sipper.drainType == BatterySipper.DrainType.SCREEN) { + screenSipper = sipper; + } + } + + smearScreenBatterySipper(sippers, screenSipper); + + return proportionalSmearPowerMah; + } + + /** + * Smear the screen on power usage among {@code sippers}, based on ratio of foreground activity + * time. + */ + public void smearScreenBatterySipper(List<BatterySipper> sippers, BatterySipper screenSipper) { + final long rawRealtimeMs = SystemClock.elapsedRealtime(); + long totalActivityTimeMs = 0; + final SparseLongArray activityTimeArray = new SparseLongArray(); + for (int i = 0, size = sippers.size(); i < size; i++) { + final BatteryStats.Uid uid = sippers.get(i).uidObj; + if (uid != null) { + final long timeMs = getForegroundActivityTotalTimeMs(uid, rawRealtimeMs); + activityTimeArray.put(uid.getUid(), timeMs); + totalActivityTimeMs += timeMs; + } + } + + if (totalActivityTimeMs >= 10 * DateUtils.MINUTE_IN_MILLIS) { + final double screenPowerMah = screenSipper.totalPowerMah; + for (int i = 0, size = sippers.size(); i < size; i++) { + final BatterySipper sipper = sippers.get(i); + sipper.screenPowerMah = screenPowerMah * activityTimeArray.get(sipper.getUid(), 0) + / totalActivityTimeMs; + } + } + } + + /** + * Check whether we should hide the battery sipper. + */ + public boolean shouldHideSipper(BatterySipper sipper) { + final BatterySipper.DrainType drainType = sipper.drainType; + + return drainType == BatterySipper.DrainType.IDLE + || drainType == BatterySipper.DrainType.CELL + || drainType == BatterySipper.DrainType.SCREEN + || drainType == BatterySipper.DrainType.UNACCOUNTED + || drainType == BatterySipper.DrainType.OVERCOUNTED + || isTypeService(sipper) + || isTypeSystem(sipper); + } + + /** + * Check whether {@code sipper} is type service + */ + public boolean isTypeService(BatterySipper sipper) { + final String[] packages = mPackageManager.getPackagesForUid(sipper.getUid()); + if (packages == null) { + return false; + } + + for (String packageName : packages) { + if (ArrayUtils.contains(mServicepackageArray, packageName)) { + return true; + } + } + + return false; + } + + /** + * Check whether {@code sipper} is type system + */ + public boolean isTypeSystem(BatterySipper sipper) { + final int uid = sipper.uidObj == null ? -1 : sipper.getUid(); + sipper.mPackages = mPackageManager.getPackagesForUid(uid); + // Classify all the sippers to type system if the range of uid is 0...FIRST_APPLICATION_UID + if (uid >= Process.ROOT_UID && uid < Process.FIRST_APPLICATION_UID) { + return true; + } else if (sipper.mPackages != null) { + for (final String packageName : sipper.mPackages) { + if (ArrayUtils.contains(mSystemPackageArray, packageName)) { + return true; + } + } + } + + return false; + } + + @VisibleForTesting + public long getForegroundActivityTotalTimeMs(BatteryStats.Uid uid, long rawRealtimeMs) { + final BatteryStats.Timer timer = uid.getForegroundActivityTimer(); + if (timer != null) { + return timer.getTotalTimeLocked(rawRealtimeMs, BatteryStats.STATS_SINCE_CHARGED); + } + + return 0; + } + + @VisibleForTesting + public void setPackageManager(PackageManager packageManager) { + mPackageManager = packageManager; + } + + @VisibleForTesting + public void setSystemPackageArray(String[] array) { + mSystemPackageArray = array; + } + + @VisibleForTesting + public void setServicePackageArray(String[] array) { + mServicepackageArray = array; + } + private void load() { if (mBatteryInfo == null) { return; diff --git a/core/java/com/android/internal/os/BatteryStatsImpl.java b/core/java/com/android/internal/os/BatteryStatsImpl.java index cbe4c15cf790..2363f6820da4 100644 --- a/core/java/com/android/internal/os/BatteryStatsImpl.java +++ b/core/java/com/android/internal/os/BatteryStatsImpl.java @@ -3525,6 +3525,7 @@ public class BatteryStatsImpl extends BatteryStats { public void removeIsolatedUidLocked(int isolatedUid) { mIsolatedUids.delete(isolatedUid); mKernelUidCpuTimeReader.removeUid(isolatedUid); + mKernelUidCpuFreqTimeReader.removeUid(isolatedUid); } public int mapUid(int uid) { @@ -10358,6 +10359,9 @@ public class BatteryStatsImpl extends BatteryStats { public void onUidCpuFreqTime(int uid, long[] cpuFreqTimeMs) { uid = mapUid(uid); if (Process.isIsolated(uid)) { + mKernelUidCpuFreqTimeReader.removeUid(uid); + Slog.d(TAG, "Got freq readings for an isolated uid with" + + " no mapping to owning uid: " + uid); return; } final Uid u = getUidStatsLocked(uid); @@ -11026,6 +11030,7 @@ public class BatteryStatsImpl extends BatteryStats { */ public void removeUidStatsLocked(int uid) { mKernelUidCpuTimeReader.removeUid(uid); + mKernelUidCpuFreqTimeReader.removeUid(uid); mUidStats.remove(uid); } diff --git a/core/java/com/android/internal/os/KernelUidCpuFreqTimeReader.java b/core/java/com/android/internal/os/KernelUidCpuFreqTimeReader.java index 9fbc4a8871b3..ff521c242fad 100644 --- a/core/java/com/android/internal/os/KernelUidCpuFreqTimeReader.java +++ b/core/java/com/android/internal/os/KernelUidCpuFreqTimeReader.java @@ -72,6 +72,10 @@ public class KernelUidCpuFreqTimeReader { } } + public void removeUid(int uid) { + mLastUidCpuFreqTimeMs.delete(uid); + } + @VisibleForTesting public void readDelta(BufferedReader reader, @Nullable Callback callback) throws IOException { String line = reader.readLine(); diff --git a/core/java/com/android/internal/view/TooltipPopup.java b/core/java/com/android/internal/view/TooltipPopup.java index d834e6383acd..52357ac486c2 100644 --- a/core/java/com/android/internal/view/TooltipPopup.java +++ b/core/java/com/android/internal/view/TooltipPopup.java @@ -25,7 +25,6 @@ import android.view.LayoutInflater; import android.view.View; import android.view.WindowManager; import android.view.WindowManagerGlobal; -import android.widget.PopupWindow; import android.widget.TextView; public class TooltipPopup { @@ -33,7 +32,6 @@ public class TooltipPopup { private final Context mContext; - private final PopupWindow mPopupWindow; private final View mContentView; private final TextView mMessageView; @@ -45,8 +43,6 @@ public class TooltipPopup { public TooltipPopup(Context context) { mContext = context; - mPopupWindow = new PopupWindow(context); - mPopupWindow.setBackgroundDrawable(null); mContentView = LayoutInflater.from(mContext).inflate( com.android.internal.R.layout.tooltip, null); mMessageView = (TextView) mContentView.findViewById( @@ -74,16 +70,17 @@ public class TooltipPopup { computePosition(anchorView, anchorX, anchorY, fromTouch, mLayoutParams); - mPopupWindow.setContentView(mContentView); - mPopupWindow.showAtLocation( - anchorView, mLayoutParams.gravity, mLayoutParams.x, mLayoutParams.y); + WindowManager wm = (WindowManager)mContext.getSystemService(Context.WINDOW_SERVICE); + wm.addView(mContentView, mLayoutParams); } public void hide() { if (!isShowing()) { return; } - mPopupWindow.dismiss(); + + WindowManager wm = (WindowManager)mContext.getSystemService(Context.WINDOW_SERVICE); + wm.removeView(mContentView); } public View getContentView() { @@ -91,7 +88,7 @@ public class TooltipPopup { } public boolean isShowing() { - return mPopupWindow.isShowing(); + return mContentView.getParent() != null; } public void updateContent(CharSequence tooltipText) { @@ -100,6 +97,8 @@ public class TooltipPopup { private void computePosition(View anchorView, int anchorX, int anchorY, boolean fromTouch, WindowManager.LayoutParams outParams) { + outParams.token = anchorView.getWindowToken(); + final int tooltipPreciseAnchorThreshold = mContext.getResources().getDimensionPixelOffset( com.android.internal.R.dimen.tooltip_precise_anchor_threshold); diff --git a/core/java/com/android/internal/view/menu/MenuItemImpl.java b/core/java/com/android/internal/view/menu/MenuItemImpl.java index 37ae97cd6928..15e271edc882 100644 --- a/core/java/com/android/internal/view/menu/MenuItemImpl.java +++ b/core/java/com/android/internal/view/menu/MenuItemImpl.java @@ -656,6 +656,11 @@ public final class MenuItemImpl implements MenuItem { return (mShowAsAction & SHOW_AS_ACTION_ALWAYS) == SHOW_AS_ACTION_ALWAYS; } + @Override + public boolean requiresOverflow() { + return (mShowAsAction & SHOW_AS_OVERFLOW_ALWAYS) == SHOW_AS_OVERFLOW_ALWAYS; + } + public void setIsActionButton(boolean isActionButton) { if (isActionButton) { mFlags |= IS_ACTION; diff --git a/core/java/com/android/internal/widget/FloatingToolbar.java b/core/java/com/android/internal/widget/FloatingToolbar.java index 40796e156e49..1d56e1ad3e03 100644 --- a/core/java/com/android/internal/widget/FloatingToolbar.java +++ b/core/java/com/android/internal/widget/FloatingToolbar.java @@ -49,9 +49,9 @@ import android.view.Window; import android.view.WindowManager; import android.view.animation.Animation; import android.view.animation.AnimationSet; -import android.view.animation.Transformation; import android.view.animation.AnimationUtils; import android.view.animation.Interpolator; +import android.view.animation.Transformation; import android.widget.ArrayAdapter; import android.widget.ImageButton; import android.widget.ImageView; @@ -60,12 +60,12 @@ import android.widget.ListView; import android.widget.PopupWindow; import android.widget.TextView; +import com.android.internal.R; +import com.android.internal.util.Preconditions; + import java.util.ArrayList; import java.util.LinkedList; import java.util.List; - -import com.android.internal.R; -import com.android.internal.util.Preconditions; import java.util.Objects; /** @@ -1141,7 +1141,18 @@ public final class FloatingToolbar { Preconditions.checkNotNull(menuItems); int availableWidth = toolbarWidth; - final LinkedList<MenuItem> remainingMenuItems = new LinkedList<MenuItem>(menuItems); + + final LinkedList<MenuItem> remainingMenuItems = new LinkedList<>(); + // add the overflow menu items to the end of the remainingMenuItems list. + final LinkedList<MenuItem> overflowMenuItems = new LinkedList(); + for (MenuItem menuItem : menuItems) { + if (menuItem.requiresOverflow()) { + overflowMenuItems.add(menuItem); + } else { + remainingMenuItems.add(menuItem); + } + } + remainingMenuItems.addAll(overflowMenuItems); mMainPanel.removeAllViews(); mMainPanel.setPaddingRelative(0, 0, 0, 0); @@ -1150,6 +1161,14 @@ public final class FloatingToolbar { boolean isFirstItem = true; while (!remainingMenuItems.isEmpty()) { final MenuItem menuItem = remainingMenuItems.peek(); + + // if this is the first item, regardless of requiresOverflow(), it should be + // displayed on the main panel. Otherwise all items including this one will be + // overflow items, and should be displayed in overflow panel. + if(!isFirstItem && menuItem.requiresOverflow()) { + break; + } + View menuItemButton = createMenuItemButton(mContext, menuItem, mIconTextSpacing); // Adding additional start padding for the first button to even out button spacing. @@ -1226,13 +1245,17 @@ public final class FloatingToolbar { availableWidth -= menuItemButtonWidth + extraPadding; remainingMenuItems.pop(); } else { - // Reserve space for overflowButton. - mMainPanel.setPaddingRelative(0, 0, mOverflowButtonSize.getWidth(), 0); break; } lastGroupId = menuItem.getGroupId(); isFirstItem = false; } + + if (!remainingMenuItems.isEmpty()) { + // Reserve space for overflowButton. + mMainPanel.setPaddingRelative(0, 0, mOverflowButtonSize.getWidth(), 0); + } + mMainPanelSize = measure(mMainPanel); return remainingMenuItems; } diff --git a/core/jni/android/graphics/Bitmap.cpp b/core/jni/android/graphics/Bitmap.cpp index fdb19121846b..be8b9de47869 100755 --- a/core/jni/android/graphics/Bitmap.cpp +++ b/core/jni/android/graphics/Bitmap.cpp @@ -328,11 +328,12 @@ static void FromColor_F16_Raw(void* dst, const SkColor src[], int width, uint64_t* d = (uint64_t*)dst; for (int i = 0; i < width; i++) { - const float* color = SkColor4f::FromColor(*src++).vec(); + const SkColor4f color = SkColor4f::FromColor(*src++); uint16_t* scratch = reinterpret_cast<uint16_t*>(d++); - for (int i = 0; i < 4; ++i) { - scratch[i] = SkFloatToHalf(color[i]); - } + scratch[0] = SkFloatToHalf(color.fR); + scratch[1] = SkFloatToHalf(color.fG); + scratch[2] = SkFloatToHalf(color.fB); + scratch[3] = SkFloatToHalf(color.fA); } } diff --git a/core/jni/android_util_Binder.cpp b/core/jni/android_util_Binder.cpp index de67c50e7195..26b00344b789 100644 --- a/core/jni/android_util_Binder.cpp +++ b/core/jni/android_util_Binder.cpp @@ -29,6 +29,7 @@ #include <sys/types.h> #include <unistd.h> +#include <android-base/stringprintf.h> #include <binder/IInterface.h> #include <binder/IServiceManager.h> #include <binder/IPCThreadState.h> @@ -194,10 +195,34 @@ static void report_exception(JNIEnv* env, jthrowable excep, const char* msg) /* * It's an Error: Reraise the exception and ask the runtime to abort. */ + + // Try to get the exception string. Sometimes logcat isn't available, + // so try to add it to the abort message. + std::string exc_msg = "(Unknown exception message)"; + { + ScopedLocalRef<jclass> exc_class(env, env->GetObjectClass(excep)); + jmethodID method_id = env->GetMethodID(exc_class.get(), + "toString", + "()Ljava/lang/String;"); + ScopedLocalRef<jstring> jstr( + env, + reinterpret_cast<jstring>( + env->CallObjectMethod(excep, method_id))); + env->ExceptionClear(); // Just for good measure. + if (jstr.get() != nullptr) { + ScopedUtfChars jstr_utf(env, jstr.get()); + exc_msg = jstr_utf.c_str(); + } + } + env->Throw(excep); ALOGE("java.lang.Error thrown during binder transaction (stack trace follows) : "); env->ExceptionDescribe(); - env->FatalError("java.lang.Error thrown during binder transaction."); + + std::string error_msg = base::StringPrintf( + "java.lang.Error thrown during binder transaction: %s", + exc_msg.c_str()); + env->FatalError(error_msg.c_str()); } bail: diff --git a/core/jni/android_view_DisplayEventReceiver.cpp b/core/jni/android_view_DisplayEventReceiver.cpp index 2eada3e51eb3..831393bd0535 100644 --- a/core/jni/android_view_DisplayEventReceiver.cpp +++ b/core/jni/android_view_DisplayEventReceiver.cpp @@ -47,7 +47,7 @@ static struct { class NativeDisplayEventReceiver : public DisplayEventDispatcher { public: NativeDisplayEventReceiver(JNIEnv* env, - jobject receiverWeak, const sp<MessageQueue>& messageQueue); + jobject receiverWeak, const sp<MessageQueue>& messageQueue, jint vsyncSource); void dispose(); @@ -65,8 +65,9 @@ private: NativeDisplayEventReceiver::NativeDisplayEventReceiver(JNIEnv* env, - jobject receiverWeak, const sp<MessageQueue>& messageQueue) : - DisplayEventDispatcher(messageQueue->getLooper()), + jobject receiverWeak, const sp<MessageQueue>& messageQueue, jint vsyncSource) : + DisplayEventDispatcher(messageQueue->getLooper(), + static_cast<ISurfaceComposer::VsyncSource>(vsyncSource)), mReceiverWeakGlobal(env->NewGlobalRef(receiverWeak)), mMessageQueue(messageQueue) { ALOGV("receiver %p ~ Initializing display event receiver.", this); @@ -113,7 +114,7 @@ void NativeDisplayEventReceiver::dispatchHotplug(nsecs_t timestamp, int32_t id, static jlong nativeInit(JNIEnv* env, jclass clazz, jobject receiverWeak, - jobject messageQueueObj) { + jobject messageQueueObj, jint vsyncSource) { sp<MessageQueue> messageQueue = android_os_MessageQueue_getMessageQueue(env, messageQueueObj); if (messageQueue == NULL) { jniThrowRuntimeException(env, "MessageQueue is not initialized."); @@ -121,7 +122,7 @@ static jlong nativeInit(JNIEnv* env, jclass clazz, jobject receiverWeak, } sp<NativeDisplayEventReceiver> receiver = new NativeDisplayEventReceiver(env, - receiverWeak, messageQueue); + receiverWeak, messageQueue, vsyncSource); status_t status = receiver->initialize(); if (status) { String8 message; @@ -156,7 +157,7 @@ static void nativeScheduleVsync(JNIEnv* env, jclass clazz, jlong receiverPtr) { static const JNINativeMethod gMethods[] = { /* name, signature, funcPtr */ { "nativeInit", - "(Ljava/lang/ref/WeakReference;Landroid/os/MessageQueue;)J", + "(Ljava/lang/ref/WeakReference;Landroid/os/MessageQueue;I)J", (void*)nativeInit }, { "nativeDispose", "(J)V", diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index ae7355f77cd0..b4c5025e2f64 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -454,6 +454,7 @@ <protected-broadcast android:name="com.android.server.NetworkTimeUpdateService.action.POLL" /> <protected-broadcast android:name="com.android.server.telecom.intent.action.CALLS_ADD_ENTRY" /> <protected-broadcast android:name="com.android.settings.location.MODE_CHANGING" /> + <protected-broadcast android:name="com.android.settings.bluetooth.ACTION_DISMISS_PAIRING" /> <protected-broadcast android:name="NotificationManagerService.TIMEOUT" /> <protected-broadcast android:name="ScheduleConditionProvider.EVALUATE" /> @@ -1810,6 +1811,10 @@ <permission android:name="android.permission.MANAGE_USERS" android:protectionLevel="signature|privileged" /> + <!-- @hide Allows an application to configure the assist gesture --> + <permission android:name="android.permission.CONFIGURE_ASSIST_GESTURE" + android:protectionLevel="signature" /> + <!-- @hide Allows an application to create, remove users and get the list of users on the device. Applications holding this permission can only create restricted, guest, managed, demo, and ephemeral users. For creating other kind of users, diff --git a/core/res/res/values-af/strings.xml b/core/res/res/values-af/strings.xml index 9b838d578333..12ae0a252150 100644 --- a/core/res/res/values-af/strings.xml +++ b/core/res/res/values-af/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Diens nie verskaf nie."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Jy kan nie die beller-ID-instelling verander nie."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Geen datadiens nie"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Geen nooddiens nie"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Geen noodoproepe nie"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Geen stemdiens nie"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Geen stem- of nooddiens nie"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Jou diensverskaffer het tydelik datadiens by hierdie ligging opgeskort"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Jou diensverskaffer het tydelik noodoproepe by hierdie ligging opgeskort"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Jou diensverskaffer het tydelik stemoproepe by hierdie ligging opgeskort"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Jou diensverskaffer het tydelik stem- en noodoproepe by hierdie ligging opgeskort"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Word tydelik nie deur die selnetwerk by jou ligging aangebied nie"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Kan netwerk nie bereik nie"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Om die opvangs te verbeter, probeer die tipe verander wat gekies is by Stelsel > Netwerk en internet > Mobiele netwerke > Voorkeurnetwerktipe."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Opletberigte"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Tik om taal en uitleg te kies"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Wys oor ander programme"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> word bo-oor ander programme gewys"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> wys bo-oor ander programme"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"As jy nie wil hê dat <xliff:g id="NAME">%s</xliff:g> hierdie kenmerk gebruik nie, tik om instellings oop te maak en skakel dit af."</string> diff --git a/core/res/res/values-am/strings.xml b/core/res/res/values-am/strings.xml index 00e3ece66915..e2dc03608e07 100644 --- a/core/res/res/values-am/strings.xml +++ b/core/res/res/values-am/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"አገልግሎት አልቀረበም።"</string> <string name="CLIRPermanent" msgid="3377371145926835671">"የደዋይ መታወቂያ ቅንብሮች መለወጥ አትችልም፡፡"</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"ምንም የውሂብ አገልግሎት የለም"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"ምንም የድንገተኛ አደጋ ጥሪ አገልግሎት የለም"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"ምንም የአስቸኳይ አደጋ ጥሪ የለም"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"ምንም የድምፅ ጥሪ አገልግሎት የለም"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"ምንም የድምፅ እና የድንገተኛ አደጋ ጥሪ አገልግሎት የለም"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"የእርስዎ አገልግሎት አቅራቢ ከዚህ መገኛ አካባቢ ላይ ለጊዜው የውሂብ አገልግሎትን አግዷል"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"የእርስዎ አገልግሎት አቅራቢ ከዚህ መገኛ አካባቢ ላይ ለጊዜው የድንገተኛ አደጋ ጥሪዎችን አግዷል"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"የእርስዎ አገልግሎት አቅራቢ ከዚህ መገኛ አካባቢ ላይ ለጊዜው የድምፅ ጥሪዎችን አግዷል"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"የእርስዎ አገልግሎት አቅራቢ ከዚህ መገኛ አካባቢ ላይ ለጊዜው የድምፅ እና የድንገተኛ አደጋ ጥሪዎችን አግዷል"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"ለጊዜው በአካባቢዎ ባለው የተንቀሳቃሽ ስልክ አውታረ መረብ አይቀርብም"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"አውታረ መረብ ላይ መድረስ አይቻልም"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"ቅበላን ለማሻሻል የተመረጠውን ዓይነት በሥርዓት > አውታረ መረቦች እና በይነመረብ > የተንቀሳቃሽ ስልክ አውታረ መረቦች > ተመራጭ የአውታረ መረብ ዓይነት ላይ ለመለወጥ ይሞክሩ።"</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"ማንቂያዎች"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"ቋንቋ እና አቀማመጥን ለመምረጥ መታ ያድርጉ"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"በሌሎች መተግበሪያዎች ላይ አሳይ"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> በሌሎች መተግበሪያዎች ላይ እያሳየ ነው"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> በሌሎች መተግበሪያዎች ላይ እያሳየ ነው"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"<xliff:g id="NAME">%s</xliff:g> ይህን ባህሪ እንዲጠቀም ካልፈለጉ ቅንብሮችን ለመክፈት መታ ያድርጉና ያጥፉት።"</string> diff --git a/core/res/res/values-ar/strings.xml b/core/res/res/values-ar/strings.xml index 158f4e828182..f14a0e447ea8 100644 --- a/core/res/res/values-ar/strings.xml +++ b/core/res/res/values-ar/strings.xml @@ -94,13 +94,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"الخدمة غير متوفرة."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"لا يمكنك تغيير إعداد معرّف المتصل."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"ليست هناك خدمة بيانات"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"لا تتوفر خدمة طوارئ"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"لا يوجد اتصال في حالات الطوارئ"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"لا تتوفر خدمة صوتية"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"لا تتوفر خدمة الصوت/الطوارئ"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"علّق مشغّل شبكة الجوّال خدمة البيانات مؤقتًا في هذا الموقع الجغرافي"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"علّق مشغّل شبكة الجوّال مكالمات الطوارئ مؤقتًا في هذا الموقع الجغرافي"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"علّق مشغّل شبكة الجوّال المكالمات الصوتية مؤقتًا في هذا الموقع الجغرافي"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"علّق مشغّل شبكة الجوّال الصوت ومكالمات الطوارئ مؤقتًا في هذا الموقع الجغرافي"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"مؤقتا لا تقدمها شبكة الجوال في موقعك"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"يتعذر الوصول إلى الشبكة"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"لتحسين الاستقبال، يمكنك تجربة تغيير النوع المحدّد في النظام > الشبكة والإنترنت > شبكات الجوّال > نوع الشبكة المفضّل."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"التنبيهات"</string> @@ -1294,8 +1291,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"انقر لاختيار لغة وتنسيق"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" أ ب ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ه و ي"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789 أ ب ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ه و ي"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"عرض التطبيق أمام غيره"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"جارٍ عرض <xliff:g id="NAME">%s</xliff:g> فوق تطبيقات أخرى"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"يتم عرض <xliff:g id="NAME">%s</xliff:g> فوق التطبيقات الأخرى."</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"إذا كنت لا تريد أن يستخدم <xliff:g id="NAME">%s</xliff:g> هذه الميزة، فانقر لفتح الإعدادات، ثم اختر تعطيلها."</string> diff --git a/core/res/res/values-az/strings.xml b/core/res/res/values-az/strings.xml index 2bce6680df6b..c354f5f9beb9 100644 --- a/core/res/res/values-az/strings.xml +++ b/core/res/res/values-az/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Xidmət təmin edilməyib."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Çağrı kimliyi ayarını dəyişə bilməzsiniz."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Data xidməti yoxdur"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Təcili xidmət yoxdur"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Təcili zəng yoxdur"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Səsli xidmət yoxdur"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Səsli/təcili xidmət yoxdur"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Operator müvəqqəti olaraq bu məkanda data xidmətini dayandırıb"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Operator müvəqqəti olaraq bu məkanda təcili zəngləri dayandırıb"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Operator müvəqqəti olaraq bu məkanda səsli zəngləri dayandırıb"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Operator müvəqqəti olaraq bu məkanda səsli və təcili zəngləri dayandırıb"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Müvəqqəti olaraq məkanda mobil şəbəkə tərəfindən təklif edilmir"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Şəbəkəyə daxil olmaq mümkün deyil"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Qəbulu inkişaf etdirmək üçün seçilmiş növü Sistem > Şəbəkə və İnternet > Mobil şəbəkə > Tərcih edilən şəbəkə növü bölməsində dəyişə bilərsiniz."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Siqnallar"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Dil və tərtibatı seçmək üçün tıklayın"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCÇDEƏFGĞHXIİJKQLMNOÖPRSŞTUÜVYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCÇDEƏFGĞHİIJKLMNOÖPQRSŞTUÜVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Digər tətbiqlər üzərindən görüntüləyin"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> digər tətbiqlər üzərindən göstərilir"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> tətbiq üzərindən göstərilir"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"<xliff:g id="NAME">%s</xliff:g> adlı şəxsin bu funksiyadan istifadə etməyini istəmirsinizsə, ayarları açmaq və deaktiv etmək üçün klikləyin."</string> diff --git a/core/res/res/values-b+sr+Latn/strings.xml b/core/res/res/values-b+sr+Latn/strings.xml index 6203907099b2..0cd6c4b769b9 100644 --- a/core/res/res/values-b+sr+Latn/strings.xml +++ b/core/res/res/values-b+sr+Latn/strings.xml @@ -91,13 +91,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Usluga nije dobavljena."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Ne možete da promenite podešavanje ID-a korisnika."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Nema usluge prenosa podataka"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Nema usluge za hitne pozive"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Hitni pozivi nisu mogući"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Nema glasovne usluge"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Nema glasovne usluge/usluge za hitne pozive"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Mobilni operater je privremeno suspendovao uslugu prenosa podataka na ovoj lokaciji"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Mobilni operater je privremeno suspendovao hitne pozive na ovoj lokaciji"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Mobilni operater je privremeno suspendovao glasovne pozive na ovoj lokaciji"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Mobilni operater je privremeno suspendovao glasovne i hitne pozive na ovoj lokaciji"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Privremeno je onemogućeno na mobilnoj mreži na vašoj lokaciji"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Povezivanje sa mrežom nije uspelo"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Da biste poboljšali prijem, probajte da promenite izabrani tip u odeljku Sistem > Mreža i internet > Mobilne mreže > Željeni tip mreže."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Obaveštenja"</string> @@ -1228,8 +1225,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Dodirnite da biste izabrali jezik i raspored"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Prikaz preko drugih aplikacija"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"Aplikacija <xliff:g id="NAME">%s</xliff:g> se prikazuje preko drugih aplikacija"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> se prikazuje preko drugih aplik."</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Ako ne želite ovu funkciju za <xliff:g id="NAME">%s</xliff:g>, dodirnite da biste otvorili podešavanja i isključili je."</string> diff --git a/core/res/res/values-be/strings.xml b/core/res/res/values-be/strings.xml index db163bfd61fd..9ecdf830a991 100644 --- a/core/res/res/values-be/strings.xml +++ b/core/res/res/values-be/strings.xml @@ -92,13 +92,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Служба не прадастаўляецца."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Вы не можаце змяніць налады ідэнтыфікатара абанента, якi тэлефануе."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Няма сэрвісу перадачы даных"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Няма сэрвісу экстранных выклікаў"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Немагчыма выклікаць экстраную дапамогу"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Няма сэрвісу галасавых выклікаў"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Няма сэрвісу галасавых / экстранных выклікаў"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Ваш аператар часова прыпыніў працу сэрвісу перадачы даных у гэтым месцы"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Ваш аператар часова прыпыніў працу сэрвісу экстранных выклікаў у гэтым месцы"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Ваш аператар часова прыпыніў працу сэрвісу галасавых выклікаў у гэтым месцы"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Ваш аператар часова прыпыніў працу сэрвісу галасавых і экстранных выклікаў у гэтым месцы"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Часова не прапаноўваецца сеткай мабільнай сувязі ў вашым месцазанходжанні"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Немагчыма падключыцца да сеткі"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Каб палепшыць якасць прыёму, паспрабуйце змяніць тып, выбраны ў меню \"Сістэма > Сетка і інтэрнэт > Мабільныя сеткі > Прыярытэтны тып сеткі\"."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Абвесткі"</string> @@ -1250,8 +1247,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Дакраніцеся, каб выбраць мову і раскладку"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" АБВГДЕЁЖЗІЙКЛМНОПРСТУЎФХЦЧШ\'ЫЬЭЮЯ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Паказваць паверх іншых праграм"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> паказваецца паверх іншых праграм"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> паказв. паверх іншых праграм"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Калі вы не хочаце, каб праграма <xliff:g id="NAME">%s</xliff:g> выкарыстоўвала гэту функцыю, дакраніцеся, каб адкрыць налады і адключыць гэта."</string> diff --git a/core/res/res/values-bg/strings.xml b/core/res/res/values-bg/strings.xml index 95e41a194334..f1f634578555 100644 --- a/core/res/res/values-bg/strings.xml +++ b/core/res/res/values-bg/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Услугата не е обезпечена."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Не можете да променяте настройката за идентификация на обажданията."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Няма услуга за данни"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Няма услуга за спешни обаждания"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Няма достъп до спешните обаждания"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Няма услуга за гласови обаждания"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Няма услуга за гласови/спешни обаждания"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Операторът ви временно е спрял услугата за данни в това местоположение"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Операторът ви временно е спрял спешните обаждания в това местоположение"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Операторът ви временно е спрял гласовите обаждания в това местоположение"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Операторът ви временно е спрял гласовите и спешните обаждания в това местоположение"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Временно не се предлага от мобилната мрежа в местоположението ви"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Не може да се установи връзка с мрежата"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"За да подобрите сигнала, променете избрания тип мрежа от „Система“ > „Мрежа и интернет“ > „Мобилни мрежи“ > „Предпочитан тип мрежа“."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Сигнали"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Докоснете, за да изберете език и подредба"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Показване върху други приложения"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> се показва върху други приложения"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> се показва в/у други прилож."</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Ако не искате <xliff:g id="NAME">%s</xliff:g> да използва тази функция, докоснете, за да отворите настройките, и я изключете."</string> diff --git a/core/res/res/values-bn/strings.xml b/core/res/res/values-bn/strings.xml index bd5a5b8b33b1..c936a2d5111d 100644 --- a/core/res/res/values-bn/strings.xml +++ b/core/res/res/values-bn/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"পরিষেবা প্রস্তুত নয়৷"</string> <string name="CLIRPermanent" msgid="3377371145926835671">"আপনি কলার ID এর সেটিংস পরিবর্তন করতে পারবেন না৷"</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"ডেটা পরিষেবা নেই"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"জরুরী পরিষেবা নেই"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"কোনও জরুরী অবস্থার কল নেই"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"ভয়েস পরিষেবা নেই"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"কোনো ভয়েস/জরুরী পরিষেবা নেই"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"আপনার পরিষেবা প্রদানকারী এই অবস্থানে ডেটা পরিষেবা সাময়িকভাবে সাসপেন্ড করেছে"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"আপনার পরিষেবা প্রদানকারী এই অবস্থানে জরুরি কল সাময়িকভাবে সাসপেন্ড করেছে"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"আপনার পরিষেবা প্রদানকারী এই অবস্থানে ভয়েস কল সাময়িকভাবে সাসপেন্ড করেছে"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"আপনার পরিষেবা প্রদানকারী এই অবস্থানে ভয়েস এবং জরুরি কল সাময়িকভাবে সাসপেন্ড করেছে"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"সাময়িকভাবে মোবাইল নেটওয়ার্ক আপনার অবস্থানে এই পরিষেবা দিচ্ছে না"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"নেটওয়ার্কের সিগন্যাল নেই"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"রিসেপশন উন্নত করতে সিস্টেম > নেটওয়ার্ক এবং ইন্টারনেট > মোবাইল নেটওয়ার্ক > পছন্দের নেটওয়ার্কের ধরণ এ গিয়ে নির্বাচিত নেটওয়ার্কের ধরণ পরিবর্তন করে দেখুন।"</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"সতর্কবার্তা"</string> @@ -1207,8 +1204,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"ভাষা এবং লেআউট নির্বাচন করুন আলতো চাপ দিন"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"অন্যান্য অ্যাপের উপরে দেখুন"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> অন্যান্য অ্যাপ্লিকেশানের ওপরেও প্রদর্শিত"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> অন্যান্য অ্যাপের ওপর প্রদর্শিত হচ্ছে"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"<xliff:g id="NAME">%s</xliff:g> কে এই বৈশিষ্ট্যটি ব্যবহার করতে দিতে না চাইলে, ট্যাপ করে সেটিংসে যান ও বৈশিষ্ট্যটি বন্ধ করে দিন।"</string> diff --git a/core/res/res/values-bs/strings.xml b/core/res/res/values-bs/strings.xml index 63a394569843..a055c15db80d 100644 --- a/core/res/res/values-bs/strings.xml +++ b/core/res/res/values-bs/strings.xml @@ -91,13 +91,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Uslugu nije moguće koristiti."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Ne možete promijeniti postavke ID-a pozivaoca."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Nema usluge prijenosa mobilnih podataka"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Nema usluge za hitne slučajeve"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Nema hitnih poziva"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Nema usluge govornih poziva"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Nema govornih/hitnih usluga"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Vaš operater je privremeno obustavio uslugu prijenosa mobilnih podataka na ovoj lokaciji"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Vaš operater je privremeno obustavio hite pozive na ovoj lokaciji"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Vaš operater je privremeno obustavio govorne pozive na ovoj lokaciji"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Vaš operater je na ovoj lokaciji privremeno obustavio govorne i hitne pozive."</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Trenutno nije u ponudi mobilne mreže na vašoj lokaciji"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Nije moguće dosegnuti mrežu"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Za poboljšanje prijema, pokušajte promijeniti tip odabran u meniju Sistem > Mreža i internet > Mobilne mreže > Preferirani tip mreže."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Upozorenja"</string> @@ -453,7 +450,7 @@ <string name="permlab_changeTetherState" msgid="5952584964373017960">"izmjene podijeljenog povezivanja"</string> <string name="permdesc_changeTetherState" msgid="1524441344412319780">"Dozvoljava aplikaciji izmjenu stanja povezanosti na podijeljenu mrežu."</string> <string name="permlab_accessWifiState" msgid="5202012949247040011">"pregled Wi-Fi veza"</string> - <string name="permdesc_accessWifiState" msgid="5002798077387803726">"Omogućava aplikaciji pregled informacija o Wi-Fi mrežama, npr. da li je Wi-Fi omogućen i naziv povezanih Wi-Fi uređaja."</string> + <string name="permdesc_accessWifiState" msgid="5002798077387803726">"Omogućava aplikaciji pregled informacija o Wi-Fi mrežama, npr. je li Wi-Fi omogućen i imena povezanih Wi-Fi uređaja."</string> <string name="permlab_changeWifiState" msgid="6550641188749128035">"uspostavljanje i prekidanje Wi-Fi veze"</string> <string name="permdesc_changeWifiState" msgid="7137950297386127533">"Omogućava aplikaciji uspostavljanje i prekidanje veze sa Wi-Fi pristupnim tačkama, kao i promjenu konfiguracije uređaja za Wi-Fi mreže."</string> <string name="permlab_changeWifiMulticastState" msgid="1368253871483254784">"dozvoljava prijem paketa kroz Wi-Fi Multicast"</string> @@ -1233,8 +1230,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Dodirnite za odabir jezika i rasporeda"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Prikazivanje preko drugih aplikacija"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"Aplikacija <xliff:g id="NAME">%s</xliff:g> prekriva ostale aplikacije"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"Aplikacija <xliff:g id="NAME">%s</xliff:g> prekriva druge apl."</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Ako ne želite da <xliff:g id="NAME">%s</xliff:g> koristi ovu funkciju, dodirnite da otvorite postavke i isključite je."</string> @@ -1745,7 +1741,7 @@ <string name="user_creation_adding" msgid="4482658054622099197">"Da li dozvoljavate da <xliff:g id="APP">%1$s</xliff:g> kreira novog korisnika za <xliff:g id="ACCOUNT">%2$s</xliff:g> (Korisnik sa ovim nalogom već postoji)?"</string> <string name="language_selection_title" msgid="2680677278159281088">"Dodaj jezik"</string> <string name="country_selection_title" msgid="2954859441620215513">"Izbor regije"</string> - <string name="search_language_hint" msgid="7042102592055108574">"Ukucajte naziv jezika"</string> + <string name="search_language_hint" msgid="7042102592055108574">"Ukucajte ime jezika"</string> <string name="language_picker_section_suggested" msgid="8414489646861640885">"Predloženo"</string> <string name="language_picker_section_all" msgid="3097279199511617537">"Svi jezici"</string> <string name="region_picker_section_all" msgid="8966316787153001779">"Sve regije"</string> diff --git a/core/res/res/values-ca/strings.xml b/core/res/res/values-ca/strings.xml index c5f8d55d7293..d509c1232461 100644 --- a/core/res/res/values-ca/strings.xml +++ b/core/res/res/values-ca/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"No s\'ha proveït el servei."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"No pots canviar la configuració de l\'identificador de trucada."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"No hi ha servei de dades"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Sense servei d\'emergència"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"No es poden fer trucades d\'emergència"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Sense servei de veu"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Sense servei de veu/emergència"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"El teu operador de telefonia mòbil ha suspès temporalment el servei de dades en aquesta ubicació"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"El teu operador de telefonia mòbil ha suspès temporalment les trucades d\'emergència en aquesta ubicació"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"El teu operador de telefonia mòbil ha suspès temporalment les trucades de veu en aquesta ubicació"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"El teu operador de telefonia mòbil ha suspès temporalment les trucades de veu i d\'emergència en aquesta ubicació"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"La xarxa de telefonia mòbil de la teva ubicació temporalment no ofereix aquest servei"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"No es pot accedir a la xarxa"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Per millorar la recepció, prova de canviar-ne el tipus a Sistema > Xarxa i Internet > Xarxes de telefonia mòbil > Tipus de xarxa preferit."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Alertes"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Toca per seleccionar l\'idioma i el disseny"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Mostra sobre altres aplicacions"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"S\'està superposant <xliff:g id="NAME">%s</xliff:g> a altres aplicacions"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> s\'està superposant a altres apps"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Si no vols que <xliff:g id="NAME">%s</xliff:g> utilitzi aquesta funció, toca per obrir la configuració i desactiva-la."</string> @@ -1367,7 +1363,7 @@ <string name="shareactionprovider_share_with" msgid="806688056141131819">"Comparteix amb"</string> <string name="shareactionprovider_share_with_application" msgid="5627411384638389738">"Comparteix amb <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string> <string name="content_description_sliding_handle" msgid="415975056159262248">"Llisca el dit. Mantén premut."</string> - <string name="description_target_unlock_tablet" msgid="3833195335629795055">"Llisca el dit per desbloquejar."</string> + <string name="description_target_unlock_tablet" msgid="3833195335629795055">"Llisca per desbloquejar."</string> <string name="action_bar_home_description" msgid="5293600496601490216">"Torna a la pàgina d\'inici"</string> <string name="action_bar_up_description" msgid="2237496562952152589">"Mou cap a dalt"</string> <string name="action_menu_overflow_description" msgid="2295659037509008453">"Més opcions"</string> diff --git a/core/res/res/values-cs/strings.xml b/core/res/res/values-cs/strings.xml index b77f6c20b688..f6858c2b7ea3 100644 --- a/core/res/res/values-cs/strings.xml +++ b/core/res/res/values-cs/strings.xml @@ -92,13 +92,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Služba není zřízena."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Nastavení identifikace volajícího nesmíte měnit."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Datová služba není k dispozici"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Tísňová volání nejsou k dispozici"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Žádná tísňová volání"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Hlasová volání nejsou k dispozici"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Hlasová ani tísňová volání nejsou k dispozici"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Váš operátor v této oblasti dočasně blokuje datovou službu"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Váš operátor v této oblasti dočasně blokuje tísňová volání"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Váš operátor v této oblasti dočasně blokuje hlasová volání"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Váš operátor v této oblasti dočasně blokuje hlasová i tísňová volání"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Mobilní síť ve vaší oblasti tuto službu dočasně nenabízí"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"K síti se nelze připojit"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Chcete-li zlepšit příjem, zkuste změnit vybraný typ sítě v nastavení Systém > Síť a internet > Mobilní sítě > Preferovaný typ sítě."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Upozornění"</string> @@ -1250,8 +1247,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Klepnutím vyberte jazyk a rozvržení"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" AÁBCČDĎEÉĚFGHCHIÍJKLMNŇOÓPQRŘSŠTŤUÚVWXYÝZŽ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789AÁBCČDĎEÉĚFGHCHIÍJKLMNŇOÓPQRŘSŠTŤUÚVWXYÝZŽ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Zobrazit přes ostatní aplikace"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"Aplikace <xliff:g id="NAME">%s</xliff:g> se zobrazuje přes ostatní aplikace"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> se zobrazuje přes ostatní aplikace"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Pokud nechcete, aby aplikace <xliff:g id="NAME">%s</xliff:g> tuto funkci používala, klepnutím otevřete nastavení a funkci vypněte."</string> diff --git a/core/res/res/values-da/strings.xml b/core/res/res/values-da/strings.xml index 87ad2910121e..e64cdd211b98 100644 --- a/core/res/res/values-da/strings.xml +++ b/core/res/res/values-da/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Tjenesten leveres ikke!"</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Du kan ikke ændre indstillingen for opkalds-id\'et."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Ingen datatjeneste"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Ingen nødtjeneste"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Ingen nødopkald"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Ingen taletjeneste"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Ingen tale- og nødtjenester"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Dit mobilselskab har midlertidigt suspenderet datatjeneste på dette sted"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Dit mobilselskab har midlertidigt suspenderet nødopkald på dette sted"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Dit mobilselskab har midlertidigt suspenderet taleopkald på dette sted"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Dit mobilselskab har midlertidigt suspenderet tale- og nødopkald på dette sted"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Tilbydes i øjeblikket ikke af mobilnetværket på din placering"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Der er ingen forbindelse til netværket"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Hvis du vil forbedre signalet, kan du prøve at ændre den valgte netværkstype i System > Netværk og internet > Mobilnetværk > Foretrukken netværkstype."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Underretninger"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Tryk for at vælge sprog og layout"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Vis oven på andre apps"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> vises over andre apps"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> vises over andre apps"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Hvis du ikke ønsker, at <xliff:g id="NAME">%s</xliff:g> skal benytte denne funktion, kan du åbne indstillingerne og deaktivere den."</string> @@ -1581,8 +1577,8 @@ <string name="mediasize_japanese_kahu" msgid="6872696027560065173">"Kahu"</string> <string name="mediasize_japanese_kaku2" msgid="2359077233775455405">"Kaku2"</string> <string name="mediasize_japanese_you4" msgid="2091777168747058008">"You4"</string> - <string name="mediasize_unknown_portrait" msgid="3088043641616409762">"Ukendt portrætformat"</string> - <string name="mediasize_unknown_landscape" msgid="4876995327029361552">"Ukendt landskabsformat"</string> + <string name="mediasize_unknown_portrait" msgid="3088043641616409762">"Ukendt stående format"</string> + <string name="mediasize_unknown_landscape" msgid="4876995327029361552">"Ukendt liggende format"</string> <string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Annulleret"</string> <string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Fejl ved skrivning af indhold"</string> <string name="reason_unknown" msgid="6048913880184628119">"ukendt"</string> diff --git a/core/res/res/values-de/strings.xml b/core/res/res/values-de/strings.xml index be1c307823ad..b58df81acea3 100644 --- a/core/res/res/values-de/strings.xml +++ b/core/res/res/values-de/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Dienst nicht eingerichtet."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Du kannst die Einstellung für die Anrufer-ID nicht ändern."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Kein Datendienst"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Keine Notrufe"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Keine Notrufe möglich"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Keine Anrufe"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Keine Anrufe/Notrufe"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Dein Anbieter hat den Datendienst an diesem Standort vorübergehend ausgesetzt"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Dein Anbieter hat Notrufe an diesem Standort vorübergehend ausgesetzt"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Dein Anbieter hat Anrufe an diesem Standort vorübergehend ausgesetzt"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Dein Anbieter hat Anrufe und Notrufe an diesem Standort vorübergehend ausgesetzt"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Derzeit nicht im Mobilfunknetz in deiner Region verfügbar"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Netzwerk nicht erreichbar"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Der Empfang lässt sich möglicherweise verbessern, indem du unter \"System\" > \"Netzwerk\" & \"Internet\" > \"Mobilfunknetze\" > \"Bevorzugter Netzwerktyp\" einen anderen Typ auswählst."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Warnmeldungen"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Zum Auswählen von Sprache und Layout tippen"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Über anderen Apps einblenden"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> wird über anderen Apps angezeigt"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> wird über anderen Apps angezeigt"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Wenn du nicht möchtest, dass <xliff:g id="NAME">%s</xliff:g> diese Funktion verwendet, tippe, um die Einstellungen zu öffnen und die Funktion zu deaktivieren."</string> diff --git a/core/res/res/values-el/strings.xml b/core/res/res/values-el/strings.xml index 70286cad9510..002997f5276e 100644 --- a/core/res/res/values-el/strings.xml +++ b/core/res/res/values-el/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Η υπηρεσία δεν προβλέπεται."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Δεν μπορείτε να αλλάξετε τη ρύθμιση του αναγνωριστικού καλούντος."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Δεν υπάρχει υπηρεσία δεδομένων"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Δεν υπάρχει υπηρεσία έκτακτης ανάγκης"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Αδυναμία πραγματοποίησης κλήσεων έκτακτης ανάγκης"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Δεν υπάρχει φωνητική υπηρεσία"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Δεν υπάρχει φωνητική υπηρεσία/υπηρεσία έκτακτης ανάγκης"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Η υπηρεσία δεδομένων έχει τεθεί προσωρινά σε αναστολή από την εταιρεία κινητής τηλεφωνίας σας σε αυτήν την περιοχή"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Οι κλήσεις έκτακτης ανάγκης έχουν τεθεί προσωρινά σε αναστολή από την εταιρεία κινητής τηλεφωνίας σας σε αυτήν την περιοχή"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Οι φωνητικές κλήσεις έχουν τεθεί προσωρινά σε αναστολή από την εταιρεία κινητής τηλεφωνίας σας"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Οι φωνητικές κλήσεις και οι κλήσεις έκτακτης ανάγκης έχουν τεθεί προσωρινά σε αναστολή από την εταιρεία κινητής τηλεφωνίας σας σε αυτήν την περιοχή"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Δεν προσφέρεται προσωρινά από το δίκτυο κινητής τηλεφωνίας στην τοποθεσία σας"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Δεν είναι δυνατή η σύνδεση στο δίκτυο"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Για να βελτιώσετε τη λήψη, δοκιμάστε να αλλάξετε τον επιλεγμένο τύπο από το Σύστημα > Δίκτυο και διαδίκτυο > Δίκτυα κινητής τηλεφωνίας > Προτιμώμενος τύπος δικτύου."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Ειδοποιήσεις"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Πατήστε για να επιλέξετε γλώσσα και διάταξη"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Εμφάνιση πάνω σε άλλες εφαρμογές"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"Η εφαρμογή <xliff:g id="NAME">%s</xliff:g> προβάλλεται πάνω από άλλες εφαρμογές"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"Η εφαρμογή <xliff:g id="NAME">%s</xliff:g> επικαλύπτει άλλες"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Εάν δεν θέλετε να χρησιμοποιείται αυτή η λειτουργία από την εφαρμογή <xliff:g id="NAME">%s</xliff:g>, πατήστε για να ανοίξετε τις ρυθμίσεις και απενεργοποιήστε την."</string> diff --git a/core/res/res/values-en-rAU/strings.xml b/core/res/res/values-en-rAU/strings.xml index e3b72b0776f6..8339fd56bd7d 100644 --- a/core/res/res/values-en-rAU/strings.xml +++ b/core/res/res/values-en-rAU/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Service not provisioned."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"You can\'t change the caller ID setting."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"No data service"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"No emergency service"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"No emergency calling"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"No voice service"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"No voice/emergency service"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Your operator has temporarily suspended data service at this location"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Your operator has temporarily suspended emergency calls at this location"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Your operator has temporarily suspended voice calls at this location"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Your operator has temporarily suspended voice and emergency calls at this location"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Temporarily not offered by the mobile network at your location"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Can’t find network"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"To improve reception, try changing the type selected at System > Network & Internet > Mobile networks > Preferred network type."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Alerts"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Tap to select language and layout"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Display over other apps"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> displaying over other apps"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> is displaying over other apps"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"If you don’t want <xliff:g id="NAME">%s</xliff:g> to use this feature, tap to open settings and turn it off."</string> diff --git a/core/res/res/values-en-rGB/strings.xml b/core/res/res/values-en-rGB/strings.xml index e3b72b0776f6..8339fd56bd7d 100644 --- a/core/res/res/values-en-rGB/strings.xml +++ b/core/res/res/values-en-rGB/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Service not provisioned."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"You can\'t change the caller ID setting."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"No data service"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"No emergency service"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"No emergency calling"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"No voice service"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"No voice/emergency service"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Your operator has temporarily suspended data service at this location"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Your operator has temporarily suspended emergency calls at this location"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Your operator has temporarily suspended voice calls at this location"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Your operator has temporarily suspended voice and emergency calls at this location"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Temporarily not offered by the mobile network at your location"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Can’t find network"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"To improve reception, try changing the type selected at System > Network & Internet > Mobile networks > Preferred network type."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Alerts"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Tap to select language and layout"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Display over other apps"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> displaying over other apps"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> is displaying over other apps"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"If you don’t want <xliff:g id="NAME">%s</xliff:g> to use this feature, tap to open settings and turn it off."</string> diff --git a/core/res/res/values-en-rIN/strings.xml b/core/res/res/values-en-rIN/strings.xml index e3b72b0776f6..8339fd56bd7d 100644 --- a/core/res/res/values-en-rIN/strings.xml +++ b/core/res/res/values-en-rIN/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Service not provisioned."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"You can\'t change the caller ID setting."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"No data service"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"No emergency service"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"No emergency calling"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"No voice service"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"No voice/emergency service"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Your operator has temporarily suspended data service at this location"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Your operator has temporarily suspended emergency calls at this location"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Your operator has temporarily suspended voice calls at this location"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Your operator has temporarily suspended voice and emergency calls at this location"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Temporarily not offered by the mobile network at your location"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Can’t find network"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"To improve reception, try changing the type selected at System > Network & Internet > Mobile networks > Preferred network type."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Alerts"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Tap to select language and layout"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Display over other apps"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> displaying over other apps"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> is displaying over other apps"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"If you don’t want <xliff:g id="NAME">%s</xliff:g> to use this feature, tap to open settings and turn it off."</string> diff --git a/core/res/res/values-es-rUS/strings.xml b/core/res/res/values-es-rUS/strings.xml index cdda07b67cf5..faf53c2d9e17 100644 --- a/core/res/res/values-es-rUS/strings.xml +++ b/core/res/res/values-es-rUS/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Servicio no suministrado."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"No puedes cambiar la configuración del identificador de llamadas."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Sin servicio de datos"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Sin servicio de emergencia"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"No se pueden hacer llamadas de emergencia"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Sin servicio de voz"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Sin servicio de voz/emergencia"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Tu proveedor suspendió temporalmente el servicio de datos en esta ubicación"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Tu proveedor suspendió temporalmente las llamadas de emergencia en esta ubicación"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Tu proveedor suspendió temporalmente las llamadas de voz en esta ubicación"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Tu proveedor suspendió temporalmente las llamadas de emergencia y de voz en esta ubicación"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"La red móvil de tu ubicación no ofrece este servicio de forma temporal"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"No se puede establecer conexión con la red"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Para mejorar la recepción, cambia el tipo de red. Selecciona Sistema > Internet y red > Redes móviles > Tipo de red preferido."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Alertas"</string> @@ -382,7 +379,7 @@ <string name="permdesc_writeCallLog" product="tv" msgid="4225034892248398019">"Permite que la aplicación modifique el registro de llamadas de la TV, incluidos los datos sobre llamadas entrantes y salientes. Las aplicaciones malintencionadas pueden usar este permiso para borrar o modificar el registro de llamadas."</string> <string name="permdesc_writeCallLog" product="default" msgid="683941736352787842">"Permite que la aplicación modifique el registro de llamadas del dispositivo, incluidos los datos sobre llamadas entrantes y salientes. Las aplicaciones malintencionadas pueden usar este permiso para borrar o modificar el registro de llamadas."</string> <string name="permlab_bodySensors" msgid="4683341291818520277">"acceder a los sensores corporales (como los monitores de frecuencia cardíaca)"</string> - <string name="permdesc_bodySensors" product="default" msgid="4380015021754180431">"Permite que la aplicación acceda a datos de sensores que controlan tu condición física, como el ritmo cardíaco."</string> + <string name="permdesc_bodySensors" product="default" msgid="4380015021754180431">"Permite que la app acceda a datos de sensores que monitorean tu estado físico, como el ritmo cardíaco."</string> <string name="permlab_readCalendar" msgid="6716116972752441641">"Leer eventos y detalles del calendario"</string> <string name="permdesc_readCalendar" product="tablet" msgid="4993979255403945892">"Esta app puede leer todos los eventos del calendario de tu tablet y compartir o guardar los datos correspondientes."</string> <string name="permdesc_readCalendar" product="tv" msgid="8837931557573064315">"Esta app puede leer todos los eventos del calendario de tu TV y compartir o guardar los datos correspondientes."</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Presiona para seleccionar el idioma y el diseño"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Mostrar sobre otras apps"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> se muestra sobre otras apps"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> se muestra sobre otras apps"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Si no quieres que <xliff:g id="NAME">%s</xliff:g> use esta función, presiona para abrir la configuración y desactivarla."</string> diff --git a/core/res/res/values-es/strings.xml b/core/res/res/values-es/strings.xml index d2dd87b1478a..3cdf001502c2 100644 --- a/core/res/res/values-es/strings.xml +++ b/core/res/res/values-es/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"El servicio no se suministra."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"No puedes modificar el ID de emisor."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Sin servicio de datos"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Sin servicio de emergencia"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"No se pueden hacer llamadas de emergencia"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Sin servicio de voz"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Sin servicio de emergencia ni de voz"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Tu operador ha suspendido temporalmente el servicio de datos en esta ubicación"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Tu operador ha suspendido temporalmente las llamadas de emergencia en esta ubicación"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Tu operador ha suspendido temporalmente las llamadas de voz en esta ubicación"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Tu operador ha suspendido temporalmente las llamadas de emergencia y de voz en esta ubicación"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"La red móvil disponible en tu ubicación no ofrece esta opción de forma temporal"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"No se puede establecer conexión con la red"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Para mejorar la recepción, prueba a cambiar el tipo de red seleccionado en Sistema > Red e Internet > Redes móviles > Tipo de red preferido."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Alertas"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Toca para seleccionar el idioma y el diseño"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Mostrar sobre otras aplicaciones"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> se muestra sobre otras aplicaciones"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> se muestra sobre otras apps"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Si no quieres que <xliff:g id="NAME">%s</xliff:g> utilice esta función, toca la notificación para abrir los ajustes y desactivarla."</string> diff --git a/core/res/res/values-et/strings.xml b/core/res/res/values-et/strings.xml index c603b1d84105..8fd88a996810 100644 --- a/core/res/res/values-et/strings.xml +++ b/core/res/res/values-et/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Teenus pole ette valmistatud."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Helistaja ID seadet ei saa muuta."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Andmesideteenus puudub"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Hädaabiteenus pole saadaval"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Hädaabikõned on blokeeritud"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Häälkõned pole saadaval"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Häälkõned/hädaabiteenus pole saadaval"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Teie operaator on andmesideteenuse selles asukohas ajutiselt peatanud"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Teie operaator on hädaabikõned selles asukohas ajutiselt peatanud"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Teie operaator on häälkõned selles asukohas ajutiselt peatanud"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Teie operaator on hääl- ja hädaabikõned selles asukohas ajutiselt peatanud"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Teie asukoha mobiilsidevõrk seda teenust ajutiselt ei paku"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Võrguga ei saa ühendust"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Vastuvõtu parandamiseks muutke valitud tüüpi jaotises Süsteem > Võrk ja Internet > Mobiilsidevõrgud > Eelistatud võrgutüüp."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Teatised"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Puudutage keele ja paigutuse valimiseks"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSŠZŽTUVWÕÄÖÜXY"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSŠZŽTUVWÕÄÖÜXY"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Muude rakenduste peal kuvamine"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"Rakendus <xliff:g id="NAME">%s</xliff:g> kuvatakse teiste rakenduste peal"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> kuvat. teiste rakenduste peal"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Kui te ei soovi, et rakendus <xliff:g id="NAME">%s</xliff:g> seda funktsiooni kasutaks, puudutage seadete avamiseks ja lülitage see välja."</string> diff --git a/core/res/res/values-eu/strings.xml b/core/res/res/values-eu/strings.xml index 7d0ddaa77f48..01d50efd918b 100644 --- a/core/res/res/values-eu/strings.xml +++ b/core/res/res/values-eu/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Zerbitzua ez da hornitu."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Ezin duzu deien identifikazio-zerbitzuaren ezarpena aldatu."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Ez dago datu-zerbitzurik"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Ez dago larrialdi-zerbitzurik"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Ezin da egin larrialdi-deirik"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Ez dago ahots-deien zerbitzurik"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Ez dago ahots- edo larrialdi-deien zerbitzurik"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Operadoreak aldi baterako eten du datu-zerbitzua kokapen honetan"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Operadoreak aldi baterako eten ditu larrialdi-deiak kokapen honetan"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Operadoreak aldi baterako eten ditu ahots-deiak kokapen honetan"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Operadoreak aldi baterako eten ditu ahots- eta larrialdi-deiak kokapen honetan"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Zauden tokiko sare mugikorrak ez du eskaintzen aukera hori une honetan"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Ezin da konektatu sarera"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Seinalea hobea izan dadin, aldatu hautatutako sare mota Sistema > Sareak eta Internet > Sare mugikorrak > Sare mota hobetsia atalean."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Abisuak"</string> @@ -1207,8 +1204,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Hizkuntza eta diseinua hautatzeko, sakatu hau"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Bistaratu beste aplikazioen gainean"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> aplikazioen gainean agertzea"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"Besteen gainean agertzen da <xliff:g id="NAME">%s</xliff:g>"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Ez baduzu nahi <xliff:g id="NAME">%s</xliff:g> zerbitzuak eginbide hori erabiltzea, sakatu hau ezarpenak ireki eta aukera desaktibatzeko."</string> diff --git a/core/res/res/values-fa/strings.xml b/core/res/res/values-fa/strings.xml index dc8c5fd6ccde..ffa21ff3dda8 100644 --- a/core/res/res/values-fa/strings.xml +++ b/core/res/res/values-fa/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"سرویس دارای مجوز نیست."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"شما میتوانید تنظیم شناسه تماسگیرنده را تغییر دهید."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"سرویس داده دردسترس نیست"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"سرویس اضطراری دردسترس نیست"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"بدون تماس اضطراری"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"سرویس صوتی دردسترس نیست"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"سرویس صوتی/اضطراری دردسترس نیست"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"شرکت مخابراتی شما موقتاً سرویس داده را در این مکان به حالت تعلیق درآورده است"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"شرکت مخابراتی شما موقتاً تماسهای اضطراری را در این مکان به حالت تعلیق درآورده است"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"شرکت مخابراتی شما موقتاً تماسهای صوتی را در این مکان به حالت تعلیق درآورده است"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"شرکت مخابراتی شما موقتاً تماسهای صوتی و اضطراری را در این مکان به حالت تعلیق درآورده است"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"موقتاً توسط شبکه داده دستگاه همراه در مکان شما ارائه نمیشود"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"شبکه دردسترس نیست"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"برای بهبود دریافت، نوع شبکهای را که انتخاب کردهاید در «سیستم» > «شبکه و اینترنت» > «شبکههای تلفن همراه» > «نوع شبکه ترجیحی» تغییر دهید."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"هشدارها"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"برای انتخاب زبان و چیدمان ضربه بزنید"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"نمایش روی سایر برنامهها"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> روی برنامههای دیگر نشان داده میشود"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> روی برنامههای دیگر نشان داده میشود"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"اگر نمیخواهید <xliff:g id="NAME">%s</xliff:g> از این قابلیت استفاده کند، با ضربه زدن، تنظیمات را باز کنید و قابلیت را خاموش کنید."</string> diff --git a/core/res/res/values-fi/strings.xml b/core/res/res/values-fi/strings.xml index 58783deab19a..8556103453d2 100644 --- a/core/res/res/values-fi/strings.xml +++ b/core/res/res/values-fi/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Palvelua ei tarjota."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Et voi muuttaa soittajan tunnuksen asetusta."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Ei datayhteyttä"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Ei hätäpuheluja"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Ei hätäpuheluita"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Ei äänipuheluja"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Ei ääni- tai hätäpuheluja"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Operaattorisi on väliaikaisesti keskeyttänyt datayhteydet tässä sijainnissa."</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Operaattorisi on väliaikaisesti keskeyttänyt hätäpuhelut tässä sijainnissa."</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Operaattorisi on väliaikaisesti keskeyttänyt äänipuhelut tässä sijainnissa."</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Operaattorisi on väliaikaisesti keskeyttänyt ääni- ja hätäpuhelut tästä sijainnista."</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Sijaintisi mobiiliverkko ei tarjoa tätä tilapäisesti."</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Ei yhteyttä verkkoon"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Voit yrittää parantaa kuuluvuutta vaihtamalla tyypin asetusta. Valitse Järjestelmä > Verkko > Internet > Mobiiliverkot > Ensisijainen verkko."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Ilmoitukset"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Valitse kieli ja asettelu koskettamalla."</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Sovellusten päällä näkyminen"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> näkyy muiden sovellusten päällä"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> näkyy sovellusten päällä"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Jos et halua, että <xliff:g id="NAME">%s</xliff:g> voi käyttää tätä ominaisuutta, avaa asetukset napauttamalla ja poista se käytöstä."</string> diff --git a/core/res/res/values-fr-rCA/strings.xml b/core/res/res/values-fr-rCA/strings.xml index c527eba56fa7..daa56789549f 100644 --- a/core/res/res/values-fr-rCA/strings.xml +++ b/core/res/res/values-fr-rCA/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Ce service n\'est pas pris en charge."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Impossible de modifier le paramètre relatif au numéro de l\'appelant."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Aucun service de données"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Aucun service d\'urgence"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Aucun appel d\'urgence"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Aucun service vocal"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Aucun service vocal ou d\'urgence"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Votre fournisseur de services a momentanément suspendu le service de données pour ce lieu"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Votre fournisseur de services a momentanément suspendu les appels d\'urgence pour ce lieu"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Votre fournisseur de services a momentanément suspendu les appels vocaux pour ce lieu"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Votre fournisseur de services a momentanément suspendu les appels vocaux et d\'urgence pour ce lieu"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Ce service est temporairement non offert par le réseau cellulaire à l\'endroit où vous êtes"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Impossible de joindre le réseau"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Pour améliorer la réception, essayez de changer le type de réseau sélectionné, sous Système > Réseaux et Internet > Réseaux cellulaires > Type de réseau préféré."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Alertes"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Touchez pour sélectionner la langue et la configuration du clavier"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Afficher par-dessus les autres applications"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> affiche du contenu par-dessus d\'autres applications"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> aff. contenu par-dessus applis"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Si vous ne voulez pas que <xliff:g id="NAME">%s</xliff:g> utilise cette fonctionnalités, touchez l\'écran pour ouvrir les paramètres, puis désactivez-la."</string> diff --git a/core/res/res/values-fr/strings.xml b/core/res/res/values-fr/strings.xml index 2f5c44f5af0a..494e85bffc02 100644 --- a/core/res/res/values-fr/strings.xml +++ b/core/res/res/values-fr/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Ce service n\'est pas pris en charge."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Impossible de modifier le paramètre relatif au numéro de l\'appelant."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Aucun service de données"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Aucun service d\'urgence"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Aucun appel d\'urgence"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Aucun service vocal"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Aucun service vocal/d\'urgence"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Votre opérateur a momentanément suspendu le service de données pour ce lieu"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Votre opérateur a momentanément suspendu les appels d\'urgence pour ce lieu"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Votre opérateur a momentanément suspendu les appels vocaux pour ce lieu"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Votre opérateur a momentanément suspendu les appels vocaux et d\'urgence pour ce lieu"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Momentanément non proposé par le réseau mobile à votre position"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Impossible d\'accéder au réseau"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Pour améliorer la réception, essayez de modifier le type sélectionné sous Système > Réseau et Internet > Réseaux mobiles > Type de réseau préféré."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Alertes"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Appuyer pour sélectionner la langue et la disposition"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Afficher par-dessus les autres applications"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> est affichée sur les autres applications"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> s\'affiche sur autres applis"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Si vous ne voulez pas que l\'application <xliff:g id="NAME">%s</xliff:g> utilise cette fonctionnalité, appuyez ici pour ouvrir les paramètres et la désactiver."</string> diff --git a/core/res/res/values-gl/strings.xml b/core/res/res/values-gl/strings.xml index f733680b1228..6af6e1e56190 100644 --- a/core/res/res/values-gl/strings.xml +++ b/core/res/res/values-gl/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Servizo non ofrecido."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Non podes cambiar a configuración do ID de chamada."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Non hai servizo de datos"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Non hai servizo de chamadas de emerxencia"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Non se poden realizar chamadas de emerxencia"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Non hai servizo de chamadas de voz"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Non hai servizo de chamadas de emerxencia nin de voz"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"O teu operador suspendeu temporalmente o servizo de datos nesta localización"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"O teu operador suspendeu temporalmente as chamadas de emerxencia nesta localización"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"O teu operador suspendeu temporalmente as chamadas de voz nesta localización"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"O teu operador suspendeu temporalmente as chamadas de emerxencia e de voz nesta localización"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"A rede de telefonía móbil non ofrece o servizo na túa localización temporalmente"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Non se pode conectar coa rede"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Para mellorar a recepción, proba a cambiar o tipo seleccionado en Sistema > Rede e Internet > Redes de telefonía móbil > Tipo de rede preferido."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Alertas"</string> @@ -1207,8 +1204,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Toca para seleccionar o idioma e o deseño"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNÑOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNÑOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Mostrar sobre outras aplicacións"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"Mostrando <xliff:g id="NAME">%s</xliff:g> sobre outras aplicacións"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> móstrase sobre outras aplicacións"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Se non queres que <xliff:g id="NAME">%s</xliff:g> utilice esta función, toca para abrir a configuración e desactívaa."</string> diff --git a/core/res/res/values-gu/strings.xml b/core/res/res/values-gu/strings.xml index 341e17e01529..e92f31b157df 100644 --- a/core/res/res/values-gu/strings.xml +++ b/core/res/res/values-gu/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"સેવાની જોગવાઈ કરી નથી."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"તમે કૉલર ID સેટિંગ બદલી શકતાં નથી."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"કોઈ ડેટા સેવા નથી"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"કોઈ કટોકટીની સેવા નથી"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"કટોકટીમાં કૉલ કરવાની કોઈ સુવિધા નથી"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"કોઈ વૉઇસ સેવા નથી"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"કોઈ વૉઇસ/કટોકટીની સેવા નથી"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"તમારા કૅરિઅરે આ સ્થાને ડેટાની સેવાઓ અસ્થાયી રૂપે સસ્પેન્ડ કરી છે"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"તમારા કૅરિઅરે આ સ્થાને કટોકટીના કૉલ અસ્થાયી રૂપે સસ્પેન્ડ કર્યા છે"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"તમારા કૅરિઅરે આ સ્થાને વૉઇસ કૉલ અસ્થાયી રૂપે સસ્પેન્ડ કર્યા છે"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"તમારા કૅરિઅરે આ સ્થાને વૉઇસ અને કટોકટીના કૉલ અસ્થાયી રૂપે સસ્પેન્ડ કર્યા છે"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"તમારા સ્થળે મોબાઇલ નેટવર્ક દ્વારા અસ્થાયીરૂપે ઑફર કરવામાં આવતી નથી"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"નેટવર્ક પર પહોંચી શકાતું નથી"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"રિસેપ્શનને બહેતર બનાવવા માટે, સિસ્ટમ > નેટવર્ક અને ઇન્ટરનેટ > મોબાઇલ નેટવર્ક > પસંદગીનો નેટવર્ક પ્રકારમાં પસંદ કરેલો પ્રકાર બદલવાનો પ્રયાસ કરો."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"ચેતવણીઓ"</string> @@ -1207,8 +1204,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"ભાષા અને લેઆઉટ પસંદ કરવા માટે ટૅપ કરો"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"અન્ય ઍપ્લિકેશનોની ટોચે પ્રદર્શિત કરો"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> અન્ય ઍપ્લિકેશનોની ઉપર પ્રદર્શિત થઈ રહ્યું છે"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> અન્ય ઍપ્લિકેશનો પર દેખાઈ છે"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"જો તમે નથી ઇચ્છતા કે <xliff:g id="NAME">%s</xliff:g> આ સુવિધાનો ઉપયોગ કરે, તો સેટિંગ્સ ખોલવા માટે ટૅપ કરો અને તેને બંધ કરો."</string> diff --git a/core/res/res/values-hi/strings.xml b/core/res/res/values-hi/strings.xml index ba658e2cf6b6..af017a37e75f 100644 --- a/core/res/res/values-hi/strings.xml +++ b/core/res/res/values-hi/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"सेवा प्रावधान की हुई नहीं है."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"आप कॉलर आईडी सेटिंग नहीं बदल सकते."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"कोई डेटा सेवा नहीं है"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"कोई आपातकालीन सेवा नहीं है"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"कोई भी आपातकालीन कॉलिंग नहीं है"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"कोई वॉइस सेवा नहीं है"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"कोई वॉइस/आपातकालीन सेवा नहीं है"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"आपके वाहक ने इस स्थान पर कुछ समय के लिए डेटा सेवा बंद कर दी है"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"आपके वाहक ने इस स्थान पर कुछ समय के लिए आपातकालीन कॉल बंद कर दिए हैं"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"आपके वाहक ने इस स्थान पर कुछ समय के लिए वॉइस कॉल बंद कर दिए हैं"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"आपके वाहक ने इस स्थान पर वॉइस और आपातकालीन कॉल कुछ समय के लिए बंद कर दिए हैं"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"आपके स्थान के मोबाइल नेटवर्क की ओर से इस समय ऑफ़र नहीं किया जा रहा है"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"नेटवर्क तक नहीं पहुंच पा रहे हैं"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"रिसेप्शन बेहतर करने के लिए, सिस्टम > नेटवर्क और इंटरनेट > मोबाइल नेटवर्क > पसंदीदा नेटवर्क प्रकार पर जाकर, चुना गया प्रकार बदलकर देखें."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"सूचनाएं"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"भाषा और लेआउट चुनने के लिए टैप करें"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"दूसरे ऐप्लिकेशन के ऊपर दिखाएं"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> अन्य ऐप्लिकेशन के ऊपर दिखाई दे रहा है"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> अन्य ऐप पर दिखाई दे रहा है"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"अगर आप नहीं चाहते कि <xliff:g id="NAME">%s</xliff:g> इस सुविधा का उपयोग करे, तो सेटिंग खोलने और उसे बंद करने के लिए टैप करें."</string> diff --git a/core/res/res/values-hr/strings.xml b/core/res/res/values-hr/strings.xml index 65e670814476..ead2d8c815af 100644 --- a/core/res/res/values-hr/strings.xml +++ b/core/res/res/values-hr/strings.xml @@ -91,13 +91,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Usluga nije rezervirana."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Ne možete promijeniti postavku ID-a pozivatelja."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Podatkovna usluga nije dostupna"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Nema hitnih usluga"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Nema hitnih poziva"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Nema glasovnih usluga"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Nema glasovnih i hitnih usluga"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Vaš je mobilni operater privremeno obustavio podatkovne usluge na ovoj lokaciji"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Vaš je mobilni operater privremeno obustavio hitne pozive na ovoj lokaciji"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Vaš je mobilni operater privremeno obustavio glasovne pozive na ovoj lokaciji"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Vaš je mobilni operater privremeno obustavio glasovne i hitne pozive na ovoj lokaciji"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Trenutačno nije u ponudi mobilne mreže na vašoj lokaciji"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Pristup mreži nije moguć"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Za bolji prijem pokušajte odabrati drugu vrstu mreže u odjeljku Sustav > Mreža i internet > Mobilne mreže > Željena vrsta mreže."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Upozorenja"</string> @@ -1228,8 +1225,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Dodirnite da biste odabrali jezik i raspored"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Prikaz iznad drugih aplikacija"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"Aplikacija <xliff:g id="NAME">%s</xliff:g> prikazuje se preko drugih aplikacija"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"Apl. <xliff:g id="NAME">%s</xliff:g> zakriva druge aplikacije"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Ako ne želite da aplikacija <xliff:g id="NAME">%s</xliff:g> upotrebljava tu značajku, dodirnite da biste otvorili postavke i isključili je."</string> diff --git a/core/res/res/values-hu/strings.xml b/core/res/res/values-hu/strings.xml index 9e47afc4c230..8eb2b1910b90 100644 --- a/core/res/res/values-hu/strings.xml +++ b/core/res/res/values-hu/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"A szolgáltatás nincs biztosítva."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Nem tudja módosítani a hívó fél azonosítója beállítást."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Adatszolgáltatás letiltva"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Segélyszolgáltatás letiltva"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Nincs vészhívás"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Hangszolgáltatás letiltva"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Hang- és segélyszolgáltatás letiltva"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Szolgáltatója ezen a helyen átmenetileg felfüggesztette az adatszolgáltatást"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Szolgáltatója ezen a helyen átmenetileg felfüggesztette a segélyhívásokat"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Szolgáltatója ezen a helyen átmenetileg felfüggesztette a hanghívásokat"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Szolgáltatója ezen a helyen átmenetileg felfüggesztette a hang- és segélyhívásokat"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Az Ön tartózkodási helyén ideiglenesen nem áll rendelkezésre a mobilhálózaton"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"A hálózat nem érhető el"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"A vétel javítása érdekében próbálja módosítani a kiválasztott hálózattípust a Rendszer > Hálózat és internet > Mobilhálózatok > Preferált hálózattípus menüben."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Értesítések"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Koppintson a nyelv és a billentyűzetkiosztás kiválasztásához"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Megjelenítés a többi alkalmazás fölött"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"A(z) <xliff:g id="NAME">%s</xliff:g> a többi alkalmazás felett jelenik meg"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> – a többi alkalmazás felett"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Ha nem szeretné, hogy a(z) <xliff:g id="NAME">%s</xliff:g> használja ezt a funkciót, koppintson a beállítások megnyitásához, és kapcsolja ki."</string> diff --git a/core/res/res/values-hy/strings.xml b/core/res/res/values-hy/strings.xml index 4a11c141001a..1717f5a4b1c3 100644 --- a/core/res/res/values-hy/strings.xml +++ b/core/res/res/values-hy/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Ծառայությունը չի տրամադրվում:"</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Դուք չեք կարող փոխել զանգողի ID-ի կարգավորումները:"</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Տվյալների ծառայությունն անհասանելի է"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Արտակարգ իրավիճակների ծառայությունն անհասանելի է"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Հնարավոր չէ կատարել շտապ կանչ"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Ձայնային ծառայությունն անհասանելի է"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Ձայնային/արտակարգ իրավիճակների ծառայությունն անհասանելի է"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Ձեր օպերատորն այս վայրում ժամանակավորապես կասեցրել է տվյալների ծառայությունը"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Ձեր օպերատորն այս վայրում ժամանակավորապես կասեցրել է շտապ կանչերը"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Ձեր օպերատորն այս վայրում ժամանակավորապես կասեցրել է ձայնային կանչերը"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Ձեր օպերատորն այս վայրում ժամանակավորապես կասեցրել է ձայնային և շտապ կանչերը"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Ձեր գտնվելու վայրում ծառայությունը ժամանակավորապես չի տրամադրվում բջջային ցանցի կողմից"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Ցանցն անհասանելի է"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Ազդանշանի ընդունման որակը բարելավելու համար փոխեք ցանցի տեսակը՝ անցնելով Համակարգ > Ցանց և ինտերնետ > Բջջային ցանցեր > Ցանկալի ցանցի տեսակը։"</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Ծանուցումներ"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Հպեք՝ լեզուն և դասավորությունն ընտրելու համար"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ԱԲԳԴԵԶԷԸԹԺԻԼԽԾԿՀՁՂՃՄՅՆՇՈՉՊՋՌՍՎՏՐՑՈՒՓՔԵւՕՖ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Ցույց տալ այլ հավելվածների վրա"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> հավելվածը ցուցադրվում է այլ հավելվածների վերևում"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> հավելվածը ցուցադրվում է այլ հավելվածների վերևում"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Եթե չեք ցանկանում, որ <xliff:g id="NAME">%s</xliff:g>-ն օգտագործի այս գործառույթը, հպեք՝ կարգավորումները բացելու և այն անջատելու համար։"</string> diff --git a/core/res/res/values-in/strings.xml b/core/res/res/values-in/strings.xml index 917550733ca7..84fd7df09575 100644 --- a/core/res/res/values-in/strings.xml +++ b/core/res/res/values-in/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Layanan tidak diperlengkapi."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Anda tidak dapat mengubah setelan nomor penelepon."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Tidak ada layanan data"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Tidak ada layanan panggilan darurat"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Tidak ada panggilan darurat"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Tidak ada layanan panggilan suara"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Tidak ada layanan panggilan suara/darurat"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Operator menangguhkan layanan data di lokasi ini untuk sementara"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Operator menangguhkan panggilan darurat di lokasi ini untuk sementara"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Operator menangguhkan panggilan suara di lokasi ini untuk sementara"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Operator menangguhkan panggilan suara dan darurat di lokasi ini untuk sementara"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Untuk sementara tidak ditawarkan oleh jaringan seluler di lokasi Anda"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Tidak dapat menjangkau jaringan"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Untuk meningkatkan penerimaan sinyal, coba ubah jenis yang dipilih di Sistem > Jaringan & Internet > Jaringan seluler > Jenis jaringan pilihan."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Notifikasi"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Ketuk untuk memilih bahasa dan tata letak"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Tampilkan di atas aplikasi lain"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> ditampilkan di atas aplikasi lain"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> ditampilkan di atas aplikasi lain"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Jika Anda tidak ingin <xliff:g id="NAME">%s</xliff:g> menggunakan fitur ini, tap untuk membuka setelan dan menonaktifkannya."</string> diff --git a/core/res/res/values-is/strings.xml b/core/res/res/values-is/strings.xml index 7694e9a4fc52..7487be7dedc3 100644 --- a/core/res/res/values-is/strings.xml +++ b/core/res/res/values-is/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Þjónustu ekki útdeilt."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Þú getur ekki breytt stillingu númerabirtingar."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Gagnasamband er ekki í boði"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Neyðarsímtöl eru ekki í boði"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Engin neyðarsímtöl"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Símtöl eru ekki í boði"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Símtöl/neyðarsímtöl eru ekki í boði"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Símafyrirtækið þitt hefur tímabundið lokað fyrir gagnasamband á þessum stað"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Símafyrirtækið þitt hefur tímabundið lokað fyrir neyðarsímtöl á þessum stað"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Símfyrirtækið þitt hefur tímabundið lokað fyrir símtöl á þessum stað"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Símafyrirtækið þitt hefur tímabundið lokað fyrir símtöl og neyðarsímtöl á þessum stað"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Ekki í boði á farsímakerfinu á þínum stað eins og er"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Ekki næst samband við símkerfi"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Reyndu að breyta valinni gerð í Kerfi > Netkerfi og internet > Farsímakerfi > Valin símkerfistegund til að bæta móttökuskilyrðin."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Tilkynningar"</string> @@ -1207,8 +1204,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Ýttu til að velja tungumál og útlit"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" AÁBCDÐEÉFGHIÍJKLMNOÓPQRSTUÚVWXYÝZÞÆÖ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789AÁBCDÐEÉFGHIÍJKLMNOÓPQRSTUÚVWXYÝZÞÆÖ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Opna ofan á öðrum forritum"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> birtist yfir öðrum forritum"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> birtist yfir öðrum forritum"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Ef þú vilt ekki að <xliff:g id="NAME">%s</xliff:g> noti þennan eiginleika skaltu ýta til að opna stillingarnar og slökkva á því."</string> diff --git a/core/res/res/values-it/strings.xml b/core/res/res/values-it/strings.xml index e6fd76b0d09a..094e4a0de73c 100644 --- a/core/res/res/values-it/strings.xml +++ b/core/res/res/values-it/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Servizio non fornito."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Non è possibile modificare l\'impostazione ID chiamante."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Nessun servizio dati"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Nessun servizio di emergenza"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Chiamate di emergenza non disponibili"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Nessun servizio di telefonia"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Nessun servizio di telefonia/emergenza"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Il tuo operatore ha sospeso temporaneamente il servizio dati per questa località"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Il tuo operatore ha sospeso temporaneamente le chiamate di emergenza per questa località"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Il tuo operatore ha sospeso temporaneamente le telefonate per questa località"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Il tuo operatore ha sospeso temporaneamente le telefonate e le chiamate di emergenza per questa località"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Servizio temporaneamente non offerto dalla rete mobile nella tua località"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Impossibile raggiungere la rete"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Per migliorare la ricezione, prova a modificare il tipo selezionato in Sistema > Rete e Internet > Reti mobili > Tipo di rete preferito."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Avvisi"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Tocca per selezionare la lingua e il layout"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Mostra sopra altre app"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"App <xliff:g id="NAME">%s</xliff:g> visualizzata sopra altre app"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"App <xliff:g id="NAME">%s</xliff:g> mostrata sopra altre app"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Se non desideri che l\'app <xliff:g id="NAME">%s</xliff:g> utilizzi questa funzione, tocca per aprire le impostazioni e disattivarla."</string> diff --git a/core/res/res/values-iw/strings.xml b/core/res/res/values-iw/strings.xml index c6336fd52882..bbcb26c1f086 100644 --- a/core/res/res/values-iw/strings.xml +++ b/core/res/res/values-iw/strings.xml @@ -92,13 +92,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"השירות לא הוקצה."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"אינך יכול לשנות את הגדרת זיהוי המתקשר."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"חבילת הגלישה לא זמינה"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"אין אפשרות לבצע שיחות חירום"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"אין גישה לשיחות חירום"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"אין אפשרות לבצע שיחות רגילות"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"אין אפשרות לבצע שיחות חירום ושיחות קוליות רגילות"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"הספק השעה באופן זמני את חבילת הגלישה במיקום זה"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"הספק השעה באופן זמני את האפשרות לבצע שיחות חירום במיקום זה"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"הספק השעה באופן זמני את האפשרות לבצע שיחות רגילות במיקום זה"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"הספק שלך השעה באופן זמני את האפשרות לבצע שיחות חירום ושיחות קוליות רגילות ממיקום זה"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"הרשת הסלולרית במיקום הזה חסמה את השירות באופן זמני"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"לא ניתן להתחבר לרשת"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"כדי לשפר את הקליטה, נסה לשנות את הסוג הנבחר ב\'מערכת\' > \'רשת ואינטרנט\' > \'רשתות סלולריות\' > \'סוג רשת מועדף\'."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"התראות"</string> @@ -1250,8 +1247,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"הקש כדי לבחור שפה ופריסה"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"הצגה מעל אפליקציות אחרות"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"תצוגה של <xliff:g id="NAME">%s</xliff:g> מעל אפליקציות אחרות"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> מוצגת מעל אפליקציות אחרות"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"אם אינך רוצה ש-<xliff:g id="NAME">%s</xliff:g> תשתמש בתכונה הזו, הקש כדי לפתוח את ההגדרות ולכבות אותה."</string> diff --git a/core/res/res/values-ja/strings.xml b/core/res/res/values-ja/strings.xml index abfb474f1cba..5cda8273d26d 100644 --- a/core/res/res/values-ja/strings.xml +++ b/core/res/res/values-ja/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"提供可能なサービスがありません。"</string> <string name="CLIRPermanent" msgid="3377371145926835671">"発信者番号の設定は変更できません。"</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"データサービス停止"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"緊急通報サービス停止"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"緊急通報は利用できません"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"音声通話サービス停止"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"音声通話 / 緊急通報サービス停止"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"この場所では、携帯通信会社によりデータサービスが一時的に停止されています"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"この場所では、携帯通信会社により緊急通報が一時的に停止されています"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"この場所では、携帯通信会社により音声通話が一時的に停止されています"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"この場所では、携帯通信会社により音声通話と緊急通報が一時的に停止されています"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"現在地のモバイル ネットワークでは一時的に提供されていません"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"ネットワークにアクセスできません"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"受信状態を改善するには、[システム] > [ネットワークとインターネット] > [モバイル ネットワーク] > [優先ネットワーク タイプ] で選択したタイプを変更してみてください。"</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"通知"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"タップして言語とレイアウトを選択してください"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"他のアプリの上に重ねて表示"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g>を他のアプリの上に重ねて表示"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g>が他のアプリの上に表示されています"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"<xliff:g id="NAME">%s</xliff:g>でこの機能を使用しない場合は、タップして設定を開いて OFF にしてください。"</string> diff --git a/core/res/res/values-ka/strings.xml b/core/res/res/values-ka/strings.xml index b08bfa642fad..2e1435e8466d 100644 --- a/core/res/res/values-ka/strings.xml +++ b/core/res/res/values-ka/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"სერვისი არ არის მიწოდებული."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"არ შეგიძლიათ აბონენტის ID პარამეტრების შეცვლა."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"მობილური ინტერნეტის სერვისი არ არის"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"გადაუდებელი ზარების სერვისი არ არის"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"გადაუდებელი ზარების სერვისი არ არის"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"ხმოვანი ზარების სერვისი არ არის"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"ხმოვანი/გადაუდებელი ზარების სერვისი არ არის"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"მობილური ინტერნეტის სერვისი დროებით შეიზღუდა თქვენი ოპერატორის მიერ ამ მდებარეობაზე"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"გადაუდებელი ზარები დროებით შეიზღუდა თქვენი ოპერატორის მიერ ამ მდებარეობაზე"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"ხმოვანი ზარები დროებით შეიზღუდა თქვენი ოპერატორის მიერ ამ მდებარეობაზე"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"ხმოვანი და გადაუდებელი ზარები დროებით შეიზღუდა თქვენი ოპერატორის მიერ ამ მდებარეობაზე"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"დროებით არ არის შემოთავაზებული მობილური ქსელის მიერ თქვენს მდებარეობაზე"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"ქსელთან დაკავშირება ვერ ხერხდება"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"მიღების გასაუმჯობესებლად ცადეთ არჩეული ტიპის შეცვლა აქ: სისტემა > ქსელი და ინტერნეტი > მობილური ქსელები > ქსელის სასურველი ტიპი."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"გაფრთხილებები"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"შეეხეთ ენისა და განლაგების ასარჩევად"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"სხვა აპების ზემოდან გამოჩენა"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> ნაჩვენებია სხვა აპების ინტერფეისის გადაფარვით"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> ნაჩვენებია სხვა აპების ინტერფეისის გადაფარვით"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"თუ არ გსურთ <xliff:g id="NAME">%s</xliff:g>-ის მიერ ამ ფუნქციის გამოყენება, შეეხეთ პარამეტრების გასახსნელად და გამორთეთ."</string> diff --git a/core/res/res/values-kk/strings.xml b/core/res/res/values-kk/strings.xml index d80fdb5e7e46..85eac4351af9 100644 --- a/core/res/res/values-kk/strings.xml +++ b/core/res/res/values-kk/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Қызмет ұсынылмаған."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Қоңырау шалушы идентификаторы параметрін өзгерту мүмкін емес."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Деректер қызметі жоқ"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Жедел қызметке қоңыраулар қызметі жоқ"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Шұғыл қоңырау шалу бөгелген"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Дауыстық қоңыраулар қызметі жоқ"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Дауыстық/жедел қызметке қоңыраулар қызметі жоқ"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Оператор осы жерде деректер қызметін уақытша тоқтатты"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Оператор осы жерде жедел қызметке қоңырауларды уакытша тоқтатты"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Оператор осы жерде дауыстық қоңырауларды уақытша тоқтатты"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Оператор осы жерде дауыстық қоңыраулар мен жедел қызметке қоңырауларды уақытша тоқтатты"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Орналасқан аймағыңызда мобильдік желі уақытша ұсынбады"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Желіге қосылу мүмкін емес"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Қабылдауды жақсарту үшін \"Жүйе > Желі және интернет > Мобильдік желілер > Қалаған желі түрі\" тармағынан түрді өзгертіп көріңіз."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Дабылдар"</string> @@ -1207,8 +1204,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Тіл мен пернетақта схемасын таңдау үшін түртіңіз"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Басқа қолданбалардың үстінен көрсету"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> басқа қолданбалардың үстінен шықты"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> басқа қолданбалардың үстінен көрсетіледі"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"<xliff:g id="NAME">%s</xliff:g> деген пайдаланушының бұл функцияны пайдалануына жол бермеу үшін параметрлерді түртіп ашыңыз да, оларды өшіріңіз."</string> diff --git a/core/res/res/values-km/strings.xml b/core/res/res/values-km/strings.xml index 1e17005f5f23..20868e6e450c 100644 --- a/core/res/res/values-km/strings.xml +++ b/core/res/res/values-km/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"មិនបានផ្ដល់សេវាកម្ម។"</string> <string name="CLIRPermanent" msgid="3377371145926835671">"អ្នកមិនអាចប្ដូរការកំណត់លេខសម្គាល់អ្នកហៅបានទេ។"</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"គ្មានសេវាកម្មទិន្នន័យទេ"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"គ្មានសេវាកម្មសង្រ្គោះបន្ទាន់ទេ"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"មិនមានការហៅបន្ទាន់ទេ"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"គ្មានសេវាកម្មជាសំឡេងទេ"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"គ្មានសេវាកម្មសំឡេង/សង្រ្គោះបន្ទាន់ទេ"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"ក្រុមហ៊ុនបម្រើសេវាទូរសព្ទរបស់អ្នកបានផ្អាកសេវាកម្មទិន្នន័យជាបណ្តោះអាសន្ននៅទីតាំងនេះ"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"ក្រុមហ៊ុនបម្រើសេវាទូរសព្ទរបស់អ្នកបានផ្អាកការហៅបន្ទាន់ជាបណ្តោះអាសន្ននៅទីតាំងនេះ"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"ក្រុមហ៊ុនបម្រើសេវាទូរសព្ទរបស់អ្នកបានផ្អាកការហៅដោយសំឡេងជាបណ្តោះអាសន្ននៅទីតាំងនេះ"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"ក្រុមហ៊ុនបម្រើសេវាទូរសព្ទរបស់អ្នកបានផ្អាកការហៅដោយសំឡេង និងការហៅបន្ទាន់ជាបណ្តោះអាសន្ននៅទីតាំងនេះ"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"មិនបានផ្តល់ជូនដោយបណ្តាញចល័តនៅទីកន្លែងរបស់អ្នកជាបណ្តោះអាសន្ន"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"មិនអាចភ្ជាប់ទៅបណ្តាញបានទេ"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"ដើម្បីកែលម្អការទទួលយក សាកល្បងប្តូរប្រភេទដែលបានជ្រើសរើសនៅ ប្រព័ន្ធ > បណ្តាញ និងអ៊ីនធឺណិត > បណ្តាញទូរសព្ទចល័ត > ប្រភេទបណ្តាញដែលចង់ប្រើ។"</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"ការជូនដំណឹង"</string> @@ -1208,8 +1205,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"ប៉ះដើម្បីជ្រើសភាសា និងប្លង់"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"បង្ហាញនៅលើកម្មវិធីផ្សេងទៀត"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> កំពុងបង្ហាញពីលើកម្មវិធីផ្សេងទៀត"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> កំពុងបង្ហាញពីលើកម្មវិធីផ្សេងទៀត"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"ប្រសិនបើអ្នកមិនចង់ឲ្យ <xliff:g id="NAME">%s</xliff:g> ប្រើមុខងារនេះទេ សូមចុចដើម្បីបើកការកំណត់ រួចបិទវា។"</string> diff --git a/core/res/res/values-kn/strings.xml b/core/res/res/values-kn/strings.xml index db06af786419..7dd5db7e3fdc 100644 --- a/core/res/res/values-kn/strings.xml +++ b/core/res/res/values-kn/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"ಸೇವೆಯನ್ನು ಪೂರೈಸಲಾಗಿಲ್ಲ."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"ನೀವು ಕಾಲರ್ ID ಸೆಟ್ಟಿಂಗ್ ಬದಲಾಯಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"ಡೇಟಾ ಸೇವೆ ಲಭ್ಯವಿಲ್ಲ"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"ತುರ್ತು ಸೇವೆ ಇಲ್ಲ"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"ಯಾವುದೇ ತುರ್ತು ಕರೆ ಮಾಡಲಾಗುವುದಿಲ್ಲ"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"ಧ್ವನಿ ಸೇವೆಯಿಲ್ಲ"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"ಧ್ವನಿ/ತುರ್ತು ಸೇವೆ ಇಲ್ಲ"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"ನಿಮ್ಮ ವಾಹಕವು ಈ ಸ್ಥಳದಲ್ಲಿ ತಾತ್ಕಾಲಿಕವಾಗಿ ಡೇಟಾ ಸೇವೆಯನ್ನು ಅಮಾನತ್ತುಗೊಳಿಸಿದೆ"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"ನಿಮ್ಮ ವಾಹಕವು ಈ ಸ್ಥಳದಲ್ಲಿ ತಾತ್ಕಾಲಿಕವಾಗಿ ತುರ್ತು ಕರೆಗಳನ್ನು ಅಮಾನತ್ತುಗೊಳಿಸಿದೆ"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"ನಿಮ್ಮ ವಾಹಕವು ಈ ಸ್ಥಳದಲ್ಲಿ ತಾತ್ಕಾಲಿಕವಾಗಿ ಧ್ವನಿ ಕರೆಗಳನ್ನು ಅಮಾನತ್ತುಗೊಳಿಸಿದೆ"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"ನಿಮ್ಮ ವಾಹಕವು ಈ ಸ್ಥಳದಲ್ಲಿ ತಾತ್ಕಾಲಿಕವಾಗಿ ಧ್ವನಿ ಮತ್ತು ತುರ್ತು ಕರೆಗಳನ್ನು ಅಮಾನತ್ತುಗೊಳಿಸಿದೆ"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"ತಾತ್ಕಾಲಿಕವಾಗಿ ಮೊಬೈಲ್ ನೆಟ್ವರ್ಕ್ನಿಂದ ನಿಮ್ಮ ಸ್ಥಳದಲ್ಲಿ ಒದಗಿಸುತ್ತಿಲ್ಲ"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"ನೆಟ್ವರ್ಕ್ ತಲುಪಲು ಸಾಧ್ಯವಿಲ್ಲ"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"ನೆಟ್ವರ್ಕ್ ಸಂಪರ್ಕ ಪಡೆಯುವುದನ್ನು ಸುಧಾರಿಸಲು, ಆಯ್ಕೆ ಮಾಡಿರುವ ವಿಧವನ್ನು ಸಿಸ್ಟಂ > ನೆಟ್ವರ್ಕ್ ಮತ್ತು ಇಂಟರ್ನೆಟ್ > ಮೊಬೈಲ್ ನೆಟ್ವರ್ಕ್ಗಳು > ಆದ್ಯತೆಯ ನೆಟ್ವರ್ಕ್ ವಿಧದಲ್ಲಿ ಬದಲಿಸಿ ನೋಡಿ."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"ಎಚ್ಚರಿಕೆಗಳು"</string> @@ -1207,8 +1204,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"ಭಾಷೆ ಮತ್ತು ವಿನ್ಯಾಸವನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ಟ್ಯಾಪ್ ಮಾಡಿ"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"ಇತರ ಅಪ್ಲಿಕೇಶನ್ ಮೇಲೆ ಡಿಸ್ಪ್ಲೇ"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> ಇತರ ಅಪ್ಲಿಕೇಶನ್ಗಳ ಮೂಲಕ ಪ್ರದರ್ಶಿಸುತ್ತಿದೆ"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> ಇತರವುಗಳ ಮೇಲೆ ಪ್ರದರ್ಶಿಸುತ್ತಿದೆ"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"<xliff:g id="NAME">%s</xliff:g> ಈ ವೈಶಿಷ್ಟ್ಯ ಬಳಸುವುದನ್ನು ನೀವು ಬಯಸದಿದ್ದರೆ, ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ತೆರೆದು, ಅದನ್ನು ಆಫ್ ಮಾಡಲು ಟ್ಯಾಪ್ ಮಾಡಿ."</string> diff --git a/core/res/res/values-ko/strings.xml b/core/res/res/values-ko/strings.xml index 1fdfb910f66e..a2b9f6ef1c5d 100644 --- a/core/res/res/values-ko/strings.xml +++ b/core/res/res/values-ko/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"서비스가 준비되지 않았습니다."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"발신자 번호 설정을 변경할 수 없습니다."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"데이터 서비스를 이용할 수 없음"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"긴급 서비스를 이용할 수 없음"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"긴급 전화 차단됨"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"음성 서비스를 이용할 수 없음"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"음성/긴급 서비스를 이용할 수 없음"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"이동통신사에서 이 위치에서의 데이터 서비스를 일시적으로 정지했습니다."</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"이동통신사에서 이 위치에서의 긴급 통화를 일시적으로 정지했습니다."</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"이동통신사에서 이 위치에서의 음성 통화를 일시적으로 정지했습니다."</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"이동통신사에서 이 위치에서의 음성 및 긴급 통화를 일시적으로 정지했습니다."</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"현재 위치에서 모바일 네트워크가 서비스 제공을 일시적으로 중단했습니다."</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"네트워크에 연결할 수 없습니다."</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"수신 상태를 개선하려면 시스템 > 네트워크 및 인터넷 > 모바일 네트워크 > 기본 네트워크 유형에서 선택된 유형을 변경해 보세요."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"알림"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"탭하여 언어와 레이아웃을 선택하세요."</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"다른 앱 위에 표시"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g>이(가) 다른 앱 위에 표시됨"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g>이(가) 다른 앱 위에 표시됨"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"<xliff:g id="NAME">%s</xliff:g>에서 이 기능이 사용되는 것을 원하지 않는 경우 탭하여 설정을 열고 기능을 사용 중지하세요."</string> diff --git a/core/res/res/values-ky/strings.xml b/core/res/res/values-ky/strings.xml index b744f98081d5..89c1d54b8bfd 100644 --- a/core/res/res/values-ky/strings.xml +++ b/core/res/res/values-ky/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Кызмат камсыздалган эмес."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Чалуучунун далдаштырма дайындары жөндөөлөрүн өзгөртө албайсыз."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Мобилдик туташуу кызматы жок"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Өзгөчө кырдаалдагы кызматтар бөгөттөлгөн"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Шашылыш чалуу бөгөттөлгөн"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Аудио чалуу кызматы бөгөттөлгөн"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Бардык чалуулар жана кызматтар бөгөттөлгөн"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Операторуңуз бул аймактагы мобилдик туташуу кызматын убактылуу токтотуп койду"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Операторуңуз өзгөчө кырдаалдагы чалууларды бул аймактан убактылуу токтотуп койду"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Операторуңуз аудио чалууларды бул аймактан убактылуу токтотуп койду"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Операторуңуз аудио чалууларды жана өзгөчө кырдаалдагы чалууларды бул аймактан убактылуу токтотуп койду"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Өзгөчө кырдаалдагы кызматтар сиз жайгашкан жердеги мобилдик тармак тарабынан убактылуу бөгөттөлгөн"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Тармакка туташпай жатат"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Кабыл алуу мүмкүнчүлүгүн жакшыртуу үчүн Тутум > Тармак жана Интернет > Мобилдик тармактар > Тандалган тармак бөлүмүнөн тармактын түрүн өзгөртүп көрүңүз."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Эскертүүлөр"</string> @@ -1207,8 +1204,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Тил жана калып тандоо үчүн таптап коюңуз"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Башка терезелердин үстүнөн көрсөтүү"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> колдонмосун башка терезелердин үстүнөн көрсөтүү"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g>: башка колдонмолордун үстүнөн"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Эгер <xliff:g id="NAME">%s</xliff:g> колдонмосу бул функцияны пайдаланбасын десеңиз, жөндөөлөрдү ачып туруп, аны өчүрүп коюңуз."</string> diff --git a/core/res/res/values-lo/strings.xml b/core/res/res/values-lo/strings.xml index 58872dc98a7b..8d2385fc5374 100644 --- a/core/res/res/values-lo/strings.xml +++ b/core/res/res/values-lo/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"ບໍ່ໄດ້ເປີດໃຊ້ບໍລິການ."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"ທ່ານບໍ່ສາມາດປ່ຽນແປງການຕັ້ງຄ່າ Caller ID"</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"ບໍ່ມີບໍລິການອິນເຕີເນັດ"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"ບໍ່ມີບໍລິການໂທສຸກເສີນ"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"ບໍ່ສາມາດໂທສຸກເສີນໄດ້"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"ບໍ່ມີບໍລິການໂທສຽງ"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"ບໍ່ມີບໍລິການສຽງ/ສຸກເສີນ"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"ຜູ້ໃຫ້ບໍລິການຂອງທ່ານໄດ້ລະງັບບໍລິການອິນເຕີເນັດຢູ່ບ່ອນນີ້ໄວ້ຊົ່ວຄາວ"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"ຜູ້ໃຫ້ບໍລິການຂອງທ່ານໄດ້ລະງັບການໂທສຸກເສີນຢູ່ບ່ອນນີ້ໄວ້ຊົ່ວຄາວ"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"ຜູ້ໃຫ້ບໍລິການຂອງທ່ານໄດ້ລະງັບການໂທສຽງຢູ່ບ່ອນນີ້ໄວ້ຊົ່ວຄາວ"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"ຜູ້ໃຫ້ບໍລິການຂອງທ່ານໄດ້ລະງັບການນຳໃຊ້ການໂທສຽງ ແລະ ການໂທສຸກເສີນຢູ່ບ່ອນນີ້ໄວ້ຊົ່ວຄາວ"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"ເຄືອຂ່າຍຂອງທ່ານບໍ່ໄດ້ໃຫ້ບໍລິການຢູ່ສະຖານທີ່ນີ້ເປັນການຊົ່ວຄາວ"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Can’t reach network"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"ເພື່ອປັບປຸງການຮັບສັນຍານ, ໃຫ້ລອງປ່ຽນປະເພດທີ່ເລືອກໄວ້ທີ່ ລະບົບ > ເຄືອຂ່າຍ ແລະ ອິນເຕີເນັດ > ເຄືອຂ່າຍມືຖື > ປະເພດເຄືອຂ່າຍທີ່ຕ້ອງການ."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"ການເຕືອນ"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"ແຕະເພື່ອເລືອກພາສາ ແລະ ໂຄງແປ້ນພິມ"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"ສະແດງແອັບບັງແອັບອື່ນ"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> ກຳລັງສະແດງຜົນຢູເທິງແອັບອື່ນຢູ່"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> ກຳລັງສະແດງຜົນບັງແອັບອື່ນຢູ່"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"ຫາກທ່ານບໍ່ຕ້ອງການ <xliff:g id="NAME">%s</xliff:g> ໃຫ້ໃຊ້ຄຸນສົມບັດນີ້, ໃຫ້ແຕະເພື່ອເປີດການຕັ້ງຄ່າ ແລ້ວປິດມັນໄວ້."</string> diff --git a/core/res/res/values-lt/strings.xml b/core/res/res/values-lt/strings.xml index c53e5ba29559..54f722d01e2f 100644 --- a/core/res/res/values-lt/strings.xml +++ b/core/res/res/values-lt/strings.xml @@ -92,13 +92,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Paslauga neteikiama."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Negalima pakeisti skambinančiojo ID nustatymo."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Duomenų paslauga neteikiama"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Skambučių pagalbos numeriais paslauga neteikiama"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Nėra skambučių pagalbos numeriu paslaugos"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Balso skambučių paslauga neteikiama"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Balso skambučių / skambučių pagalbos numeriais paslauga neteikiama"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Jūsų operatorius laikinai sustabdė duomenų paslaugą šioje vietovėje"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Jūsų operatorius laikinai sustabdė skambučius pagalbos numeriais šioje vietovėje"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Jūsų operatorius laikinai sustabdė balso skambučius šioje vietovėje"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Jūsų operatorius laikinai sustabdė balso skambučius ir skambučius pagalbos numeriais šioje vietovėje"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Laikinai nesiūloma mobiliojo ryšio tinkle jūsų vietovėje"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Nepavyko pasiekti tinklo"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Kad pagerintumėte ryšį, pabandykite pakeisti tipą, pasirinktą skiltyje „Nustatymai“ > „Tinklas ir internetas“ > „Mobiliojo ryšio tinklai“ > „Pageidaujamas tinklo tipas“."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Įspėjimai"</string> @@ -1250,8 +1247,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Palieskite, kad pasirinktumėte kalbą ir išdėstymą"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" AĄBCČDEĘĖFGHIĮYJKLMNOPRSŠTUŲŪVZŽ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789AĄBCČDEĘĖFGHIĮYJKLMNOPRSŠTUŲŪVZŽ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Rodoma virš kitų programų"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> rodomi virš kitų programų"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> rodomi virš kitų programų."</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Jei nenorite, kad <xliff:g id="NAME">%s</xliff:g> naudotų šią funkciją, palietę atidarykite nustatymus ir išjunkite ją."</string> diff --git a/core/res/res/values-lv/strings.xml b/core/res/res/values-lv/strings.xml index a3a91eb10918..5461c1a6d603 100644 --- a/core/res/res/values-lv/strings.xml +++ b/core/res/res/values-lv/strings.xml @@ -91,13 +91,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Pakalpojums netiek nodrošināts."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Zvanītāja ID iestatījumu nevar mainīt."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Nav datu pakalpojuma"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Ārkārtas izsaukumu pakalpojums nedarbojas"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Nav ārkārtas izsaukumu"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Balss izsaukumu pakalpojums nedarbojas"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Balss un ārkārtas izsaukumu pakalpojums nedarbojas"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Jūsu mobilo sakaru operators uz laiku apturēja datu pakalpojuma darbību šajā atrašanās vietā."</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Jūsu mobilo sakaru operators uz laiku apturēja ārkārtas izsaukumus šajā atrašanās vietā."</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Jūsu mobilo sakaru operators uz laiku apturēja balss izsaukumus šajā atrašanās vietā."</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Jūsu mobilo sakaru operators uz laiku apturēja balss un ārkārtas izsaukumus šajā atrašanās vietā."</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Pagaidām netiek piedāvāts mobilajā tīklā jūsu atrašanās vietā"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Nevar sasniegt tīklu"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Lai uzlabotu uztveršanu, mainiet atlasīto veidu sadaļā Sistēma > Tīkls un internets > Mobilie tīkli > Ieteicamais tīkla veids."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Brīdinājumi"</string> @@ -1228,8 +1225,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Pieskarieties, lai atlasītu valodu un izkārtojumu"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" AĀBCČDEĒFGĢHIĪJKĶLĻMNŅOPRSŠTUŪVZŽ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789AĀBCČDEĒFGĢHIĪJKĶLĻMNŅOPRSŠTUŪVZŽ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Rādīt pāri citām lietotnēm"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"Lietotne <xliff:g id="NAME">%s</xliff:g> tiek rādīta pāri citām lietotnēm"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"Lietotne <xliff:g id="NAME">%s</xliff:g> pāri citām lietotnēm"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Ja nevēlaties lietotnē <xliff:g id="NAME">%s</xliff:g> izmantot šo funkciju, pieskarieties, lai atvērtu iestatījumus un to izslēgtu."</string> diff --git a/core/res/res/values-mk/strings.xml b/core/res/res/values-mk/strings.xml index 9d9a2fe12a66..b35f770df132 100644 --- a/core/res/res/values-mk/strings.xml +++ b/core/res/res/values-mk/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Услугата не е предвидена."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Не може да го промените поставувањето за ID на повикувач."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Нема услуга за интернет"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Нема услуга за итни повици"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Нема итни повици"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Нема услуга за говорни повици"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Нема услуга за говорни/итни повици"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Вашиот оператор привремено ја суспендираше услугата за интернет на локацијава"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Вашиот оператор привремено ги суспендираше итните повици на локацијава"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Вашиот оператор привремено ги суспендираше говорните повици на локацијава"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Вашиот оператор привремено ги суспендираше говорните и итните повици на локацијава"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Привремено не се нуди од мобилната мрежа на вашата локација"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Не може да се дојде до мрежата"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"За подобрување на приемот, обидете се да го промените избраниот тип во: Систем > Мрежа и интернет > Мобилни мрежи > Претпочитан тип мрежа."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Предупредувања"</string> @@ -1207,8 +1204,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Допрете за избирање јазик и распоред"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Прикажувај врз други апликации"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> се прикажува врз други апликации"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> се прикажува врз апликации"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Ако не сакате <xliff:g id="NAME">%s</xliff:g> да ја користи функцијава, допрете за да ги отворите поставките и исклучете ја."</string> diff --git a/core/res/res/values-ml/strings.xml b/core/res/res/values-ml/strings.xml index 92cfb6b84c71..f0871e8b9117 100644 --- a/core/res/res/values-ml/strings.xml +++ b/core/res/res/values-ml/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"സേവനം വ്യവസ്ഥ ചെയ്തിട്ടില്ല."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"നിങ്ങൾക്ക് കോളർ ഐഡി ക്രമീകരണം മാറ്റാനാവില്ല."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"ഡാറ്റ സേവനം ലഭ്യമല്ല"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"അടിയന്തിര സേവനമില്ല"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"എമർജൻസി കോളിംഗ് സാധ്യമല്ല"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"വോയ്സ് സേവനമില്ല"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"വോയ്സ്/അടിയന്തിര സേവനമില്ല"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"നിങ്ങളുടെ കാരിയർ ഈ ലൊക്കേഷനിൽ ഡാറ്റാ സേവനം തൽക്കാലം നിർത്തിവച്ചിരിക്കുകയാണ്"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"നിങ്ങളുടെ കാരിയർ ഈ ലൊക്കേഷനിൽ അടിയന്തിര കോളുകൾ തൽക്കാലം നിർത്തിവച്ചിരിക്കുകയാണ്"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"നിങ്ങളുടെ കാരിയർ ഈ ലൊക്കേഷനിൽ വോയ്സ് കോളുകൾ തൽക്കാലം നിർത്തിവച്ചിരിക്കുകയാണ്"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"ഈ ലൊക്കേഷനിൽ നിങ്ങളുടെ കാരിയർ വോയ്സ് കോളുകളും അടിയന്തിര കോളുകളും തൽക്കാലം നിർത്തിവച്ചിരിക്കുകയാണ്"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"നിങ്ങളുടെ ലൊക്കേഷനിൽ മൊബൈൽ നെറ്റ്വര്ക്ക് താൽക്കാലികമായി ലഭ്യമല്ല"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"നെറ്റ്വർക്കിലേക്ക് കണക്റ്റുചെയ്യാനാവുന്നില്ല"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"സ്വീകരണം മെച്ചപ്പെടുത്തുന്നതിന് സിസ്റ്റം > നെറ്റ്വർക്കും ഇന്റർനെറ്റും > മൊബൈൽ നെറ്റ്വർക്കുകൾ > തിരഞ്ഞെടുത്ത നെറ്റ്വർക്ക് തരം എന്നതിൽ തിരഞ്ഞെടുത്തിരിക്കുന്ന തരം മാറ്റിക്കൊണ്ട് ശ്രമിച്ചുനോക്കുക."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"അലേർട്ടുകൾ"</string> @@ -1207,8 +1204,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"ഭാഷയും ലേഔട്ടും തിരഞ്ഞെടുക്കുന്നതിന് ടാപ്പുചെയ്യുക"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"മറ്റ് ആപ്സിന് മുകളിൽ പ്രദർശിപ്പിക്കുക"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> മറ്റ് ആപ്പുകൾക്ക് മുകളിൽ പ്രദർശിപ്പിക്കുന്നു"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> മറ്റ് ആപ്പുകൾക്ക് മുകളിൽ പ്രദർശിപ്പിക്കുന്നു"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"<xliff:g id="NAME">%s</xliff:g> ഈ ഫീച്ചർ ഉപയോഗിക്കുന്നതിൽ നിങ്ങൾക്ക് താൽപ്പര്യമില്ലെങ്കിൽ, ടാപ്പുചെയ്ത് ക്രമീകരണം തുറന്ന് അത് ഓഫാക്കുക."</string> diff --git a/core/res/res/values-mn/strings.xml b/core/res/res/values-mn/strings.xml index cfdd9beb8ee8..8b4f7f5b0cd6 100644 --- a/core/res/res/values-mn/strings.xml +++ b/core/res/res/values-mn/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Үйлчилгээ провишн хийгдээгүй ."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Та дуудлага хийгчийн ID тохиргоог солиж чадахгүй."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Дата үйлчилгээ алга"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Яаралтай үйлчилгээ алга"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Яаралтай дуудлага хийх боломжгүй"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Дуу хоолойны үйлчилгээ алга"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Дуу хоолой/яаралтай үйлчилгээ алга"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Таны оператор компани энэ байршилд дата үйлчилгээг түр хаасан байна"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Таны оператор компани энэ байршилд яаралтай дуудлагыг түр хаасан байна"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Таны оператор компани энэ байршилд дуу хоолойн дуудлагыг түр хаасан байна"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Таны оператор компани энэ байршилд дуу хоолой, яаралтай дуудлагыг түр хаасан байна"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Таны байршилд таны мобайл сүлжээнээс түр хугацаанд блоклосон"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Сүлжээнд холбогдох боломжгүй байна"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Хүлээн авалтыг сайжруулахын тулд систем, сүлжээ, интернэт, мобайл сүлжээнд сонгосон сүлжээний төрлийг өөрчилнө үү."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Сануулга"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Хэл болон бүдүүвчийг сонгохын тулд дарна уу"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Бусад апп дээр харуулах"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"Бусад апп дээгүүр <xliff:g id="NAME">%s</xliff:g>-г харуулж байна"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g>-г бусад апп дээр харуулж байна"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Та <xliff:g id="NAME">%s</xliff:g>-д энэ онцлогийг ашиглахыг хүсэхгүй байгаа бол тохиргоог нээгээд, унтраана уу."</string> diff --git a/core/res/res/values-mr/strings.xml b/core/res/res/values-mr/strings.xml index e43a3c98c932..62d31aa98690 100644 --- a/core/res/res/values-mr/strings.xml +++ b/core/res/res/values-mr/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"सेवेची तरतूद केलेली नाही."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"आपण कॉलर आयडी सेटिंग बदलू शकत नाही."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"डेटा सेवा नाही"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"आणीबाणी सेवा नाही"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"आणीबाणीत कॉल करू शकत नाही"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"व्हॉइस सेवा नाही"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"व्हॉइस/आणीबाणी सेवा नाही"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"आपल्या वाहकाने या स्थानावर डेटा सेवा तात्पुरती निलंबित केली आहे"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"आपल्या वाहकाने या स्थानावर आणीबाणी कॉल तात्पुरते निलंबित केले आहेत"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"आपल्या वाहकाने या स्थानावर व्हॉइस कॉल तात्पुरते निलंबित केले आहेत"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"आपल्या वाहकाने या स्थानावर व्हॉइस आणि आणीबाणी कॉल तात्पुरते निलंबित केले आहेत"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"तुम्ही असलेल्या स्थानी मोबाइल नेटवर्क तात्पुरते उपलब्ध नाही"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"नेटवर्कवर पोहोचूू शकत नाही"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"रिसेप्शन सुधारण्यासाठी प्रणाली > नेटवर्क आणि इंटरनेट > मोबाइल नेटवर्क > प्राधान्य दिलेला नेटवर्क प्रकार येथे निवडलेला प्रकार बदलून पहा."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"अलर्ट"</string> @@ -1207,8 +1204,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"भाषा आणि लेआउट निवडण्यासाठी टॅप करा"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"इतर अॅप्सवर दाखवा"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> इतर अॅप्सवर प्रदर्शित करीत आहे"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> अन्य अॅप्सवर प्रदर्शित करीत आहे"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"<xliff:g id="NAME">%s</xliff:g> ने हे वैशिष्ट्य वापरू नये असे आपण इच्छित असल्यास, सेटिंग्ज उघडण्यासाठी टॅप करा आणि ते बंद करा."</string> diff --git a/core/res/res/values-ms/strings.xml b/core/res/res/values-ms/strings.xml index 267dd2f92d99..adc03bcfeec7 100644 --- a/core/res/res/values-ms/strings.xml +++ b/core/res/res/values-ms/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Perkhidmatan yang tidak diuntukkan."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Anda tidak boleh mengubah tetapan ID pemanggil."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Tiada perkhidmatan data"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Tiada perkhidmatan kecemasan"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Tiada panggilan kecemasan"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Tiada perkhidmatan suara"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Tiada perkhidmatan suara/kecemasan"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Pembawa anda telah menggantung perkhidmatan data di lokasi ini untuk sementara waktu"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Pembawa anda telah menggantung panggilan kecemasan di lokasi ini untuk sementara waktu"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Pembawa anda telah menggantung panggilan suara di lokasi ini untuk sementara waktu"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Pembawa anda telah menggantung panggilan suara dan kecemasan di lokasi ini untuk sementara waktu"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Tidak ditawarkan oleh rangkaian mudah alih di lokasi anda untuk sementara waktu"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Tidak dapat mencapai rangkaian"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Untuk memperbaik penerimaan, cuba tukar jenis rangkaian yang dipilih di Sistem > Rangkaian & Internet > Rangkaian mudah alih > Jenis rangkaian pilihan."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Makluman"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Ketik untuk memilih bahasa dan susun atur"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Paparkan di atas apl lain"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> dipaparkan di atas apl lain"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> dipaparkan di atas apl lain"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Jika anda tidak mahu <xliff:g id="NAME">%s</xliff:g> menggunakan ciri ini, ketik untuk membuka tetapan dan matikannya."</string> diff --git a/core/res/res/values-my/strings.xml b/core/res/res/values-my/strings.xml index a1e755885ff0..5577d1dd730f 100644 --- a/core/res/res/values-my/strings.xml +++ b/core/res/res/values-my/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"ဝန်ဆောင်မှုအား ကန့်သတ်မထားပါ"</string> <string name="CLIRPermanent" msgid="3377371145926835671">"သင်သည် ခေါ်ဆိုသူ ID ဆက်တင်ကို မပြောင်းလဲနိုင်ပါ။"</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"ဒေတာချိတ်ဆက်ရန် ဝန်ဆောင်မှု မရှိပါ"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"အရေးပေါ်ဝန်ဆောင်မှု မရရှိနိုင်ပါ"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"အရေးပေါ်ဖုန်းခေါ်ခြင်းများ မရရှိနိုင်ပါ"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"ဖုန်းဝန်ဆောင်မှု မရှိပါ"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"ဖုန်း/အရေးပေါ် ဝန်ဆောင်မှုများမရရှိနိုင်ပါ"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"သင်၏ ဝန်ဆောင်မှုပေးသူသည် ဤတည်နေရာအတွက် ဒေတာဝန်ဆောင်မှုများကို ခေတ္တရပ်ဆိုင်းထားပါသည်"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"သင်၏ ဝန်ဆောင်မှုပေးသူသည် ဤတည်နေရာအတွက် အရေးပေါ်ဖုန်းခေါ်ဆိုမှုများကို ခေတ္တရပ်ဆိုင်းထားပါသည်"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"သင်၏ ဝန်ဆောင်မှုပေးသူသည် ဤနေရာအတွက် ဖုန်းခေါ်ဆိုမှုများကို ခေတ္တရပ်ဆိုင်းထားပါသည်"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"သင်၏ ဝန်ဆောင်မှုပေးသူသည် ဤတည်နေရာအတွက် ဖုန်းခေါ်ဆိုမှု နှင့် အရေးပေါ်ခေါ်ဆိုမှုများကို ခေတ္တရပ်ဆိုင်းထားပါသည်"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"သင်၏ ဒေသတွင် မိုဘိုင်းကွန်ရက် ယာယီမရရှိနိုင်ပါ"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"ကွန်ရက်ကို ချိတ်ဆက်၍မရပါ"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"လိုင်းဖမ်းယူမှု ကောင်းမွန်စေရန် စနစ် > ကွန်ရက်နှင့် အင်တာနက် > မိုဘိုင်းကွန်ရက်များ > အသုံးပြုလိုသည့် ကွန်ရက်အမျိုးအစားတွင် ရွေးချယ်ထားသည့် အမျိုးအစားကို ပြောင်းကြည့်ပါ။"</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"သတိပေးချက်များ"</string> @@ -1207,8 +1204,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"ဘာသာစကားနှင့် အသွင်အပြင်ရွေးချယ်ရန် တို့ပါ"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"အခြားအက်ပ်များအပေါ်တွင် ပြသခြင်း"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> သည် အခြားအက်ပ်များအပေါ်တွင် ပြပါသည်"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> ကို အခြားအက်ပ်များပေါ်တွင် မြင်နေရပါသည်။"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"<xliff:g id="NAME">%s</xliff:g> ကို ဤဝန်ဆောင်မှုအား အသုံးမပြုစေလိုလျှင် ဆက်တင်ကို တို့၍ ဖွင့်ပြီး ၎င်းကို ပိတ်လိုက်ပါ။"</string> diff --git a/core/res/res/values-nb/strings.xml b/core/res/res/values-nb/strings.xml index aafa4117aeb3..3a19f3ae0d01 100644 --- a/core/res/res/values-nb/strings.xml +++ b/core/res/res/values-nb/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"SIM-kortet er ikke tilrettelagt for tjenesten."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Du kan ikke endre innstillingen for anrops-ID."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Ingen datatjeneste"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Ingen nødtjeneste"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Ingen nødanrop"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Ingen taletjeneste"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Ingen tale-/nødtjeneste"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Operatøren din har midlertidig suspendert datatjeneste på dette stedet"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Operatøren din har midlertidig suspendert nødanrop på dette stedet"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Operatøren din har midlertidig suspendert taleanrop på dette stedet"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Operatøren din har midlertidig suspendert tale- og nødanrop på dette stedet"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Tilbys midlertidig ikke gjennom mobilnettverket der du er"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Får ikke kontakt med nettverket"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"For å forbedre signalet, prøv å endre valgt nettverkstype i System > Nettverk og Internett > Mobilnettverk > Foretrukket nettverkstype."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Varsler"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Trykk for å velge språk og layout"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Vis over andre apper"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> vises over andre apper"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> vises over andre apper"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Hvis du ikke vil at <xliff:g id="NAME">%s</xliff:g> skal bruke denne funksjonen, kan du trykke for å åpne innstillingene og slå den av."</string> diff --git a/core/res/res/values-ne/strings.xml b/core/res/res/values-ne/strings.xml index 826a42463636..847914ffcb53 100644 --- a/core/res/res/values-ne/strings.xml +++ b/core/res/res/values-ne/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"सेवाको व्यवस्था छैन।"</string> <string name="CLIRPermanent" msgid="3377371145926835671">"तपाईं कलर ID सेटिङ परिवर्तन गर्न सक्नुहुन्न।"</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"कुनै पनि डेटा सेवा छैन"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"कुनै पनि आपतकालीन सेवा उपलब्ध छैन"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"कुनै पनि आपतकालीन कल सेवा उपलब्ध छैन"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"कुनै पनि भ्वाइस सेवा उपलब्ध छैन"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"कुनै पनि भ्वाइस/आपतकालीन सेवा उपलब्ध छैन"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"तपाईंको सेवा प्रदायकले अस्थायी रूपमा यस स्थानमा डेटा सेवा निलम्बित गरेको छ"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"तपाईंको सेवा प्रदायकले अस्थायी रूपमा यस स्थानमा आपतकालीन कलहरू निलम्बित गरेको छ"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"तपाईंको सेवा प्रदायकले अस्थायी रूपमा यस स्थानमा भ्वाइस कलहरू निलम्बित गरेको छ"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"तपाईंको सेवा प्रदायकले अस्थायी रूपमा यस स्थानमा भ्वाइस तथा आपतकालीन कलहरू निलम्बित गरेको छ"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"तपाईंको स्थानमा सञ्चालन भइरहेको मोबाइल नेटवर्कले अस्थायी रूपमा यो सुविधा प्रदान गर्दैन"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"नेटवर्कमाथि पहुँच राख्न सकिँदैन"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"रिसेप्सनमा सुधार गर्न, प्रणाली > नेटवर्क र इन्टरनेट > मोबाइल नेटवर्कहरू > रुचाइएको नेटवर्कको प्रकार मा गएर चयन गरिएको प्रकार परिवर्तन गरी हेर्नुहोस्।"</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"अलर्टहरू"</string> @@ -1212,8 +1209,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"भाषा र लेआउट चयन गर्न ट्याप गर्नुहोस्"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"अन्य अनुप्रयोगहरूको माथिपट्टि देखाउनुहोस्"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> अन्य अनुप्रयोगहरूमा देखिँदैछ"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> अन्य अनुप्रयोगहरूमा देखिँदैछ"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"तपाईं <xliff:g id="NAME">%s</xliff:g> ले यो विशेषता प्रयोग नगरेको चाहनुहुन्न भने सेटिङहरू खोली यसलाई निष्क्रिय पार्न ट्याप गर्नुहोस्।"</string> diff --git a/core/res/res/values-nl/strings.xml b/core/res/res/values-nl/strings.xml index ed38f62f69de..d11d66392a52 100644 --- a/core/res/res/values-nl/strings.xml +++ b/core/res/res/values-nl/strings.xml @@ -90,13 +90,10 @@ <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="RestrictedOnDataTitle" msgid="1322504692764166532">"Geen gegevensservice"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Geen service voor noodoproepen"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Geen noodoproepen"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Geen service voor spraakoproepen"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Geen service voor spraak-/noodoproepen"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Je provider heeft de gegevensservice tijdelijk opgeschort op deze locatie"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Je provider heeft noodoproepen tijdelijk opgeschort op deze locatie"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Je provider heeft spraakoproepen tijdelijk opgeschort op deze locatie"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Je provider heeft spraak- en noodoproepen tijdelijk opgeschort op deze locatie"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Tijdelijk niet aangeboden door het mobiele netwerk op je locatie"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Kan netwerk niet bereiken"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Als je de ontvangst wilt verbeteren, kun je het netwerktype wijzigen dat is geselecteerd bij Systeem > Netwerk en internet > Mobiele netwerken > Voorkeursnetwerktype."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Meldingen"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Tik om een taal en indeling te selecteren"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Weergeven vóór andere apps"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> wordt weergegeven over andere apps"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> wordt weergegeven over apps"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Als je niet wilt dat <xliff:g id="NAME">%s</xliff:g> deze functie gebruikt, tik je om de instellingen te openen en schakel je de functie uit."</string> diff --git a/core/res/res/values-pa/strings.xml b/core/res/res/values-pa/strings.xml index c456e2f735ea..52ffe6ce3591 100644 --- a/core/res/res/values-pa/strings.xml +++ b/core/res/res/values-pa/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"ਸੇਵਾ ਪ੍ਰਬੰਧਿਤ ਨਹੀਂ ਹੈ।"</string> <string name="CLIRPermanent" msgid="3377371145926835671">"ਤੁਸੀਂ ਕਾਲਰ ID ਸੈਟਿੰਗ ਨਹੀਂ ਬਦਲ ਸਕਦੇ।"</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"ਕੋਈ ਡੈਟਾ ਸੇਵਾ ਨਹੀਂ"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"ਕੋਈ ਸੰਕਟਕਾਲੀਨ ਸੇਵਾ ਨਹੀਂ"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"ਕੋਈ ਸੰਕਟਕਾਲੀਨ ਕਾਲਿੰਗ ਨਹੀਂ"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"ਕੋਈ ਆਵਾਜ਼ੀ ਸੇਵਾ ਨਹੀਂ"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"ਕੋਈ ਆਵਾਜ਼ੀ/ਸੰਕਟਕਾਲੀਨ ਸੇਵਾ ਨਹੀਂ"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"ਤੁਹਾਡੇ ਕੈਰੀਅਰ ਵੱਲੋਂ ਇਸ ਟਿਕਾਣੇ \'ਤੇ ਡੈਟਾ ਸੇਵਾ ਨੂੰ ਅਸਥਾਈ ਤੌਰ \'ਤੇ ਮੁਅੱਤਲ ਕੀਤਾ ਗਿਆ ਹੈ"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"ਤੁਹਾਡੇ ਕੈਰੀਅਰ ਵੱਲੋਂ ਇਸ ਟਿਕਾਣੇ \'ਤੇ ਸੰਕਟਕਾਲੀਨ ਕਾਲਾਂ ਨੂੰ ਅਸਥਾਈ ਤੌਰ \'ਤੇ ਮੁਅੱਤਲ ਕੀਤਾ ਗਿਆ ਹੈ"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"ਤੁਹਾਡੇ ਕੈਰੀਅਰ ਵੱਲੋਂ ਇਸ ਟਿਕਾਣੇ \'ਤੇ ਆਵਾਜ਼ੀ ਕਾਲਾਂ ਨੂੰ ਅਸਥਾਈ ਤੌਰ \'ਤੇ ਮੁਅੱਤਲ ਕੀਤਾ ਗਿਆ ਹੈ"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"ਤੁਹਾਡੇ ਕੈਰੀਅਰ ਵੱਲੋਂ ਇਸ ਟਿਕਾਣੇ \'ਤੇ ਆਵਾਜ਼ੀ ਅਤੇ ਸੰਕਟਕਾਲੀਨ ਕਾਲਾਂ ਨੂੰ ਅਸਥਾਈ ਤੌਰ \'ਤੇ ਮੁਅੱਤਲ ਕੀਤਾ ਗਿਆ ਹੈ"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"ਤੁਹਾਡੇ ਟਿਕਾਣੇ \'ਤੇ ਅਸਥਾਈ ਤੌਰ \'ਤੇ ਮੋਬਾਈਲ ਨੈੱਟਵਰਕ ਵੱਲੋਂ ਉਪਲਬਧ ਨਹੀਂ ਕਰਵਾਈ ਗਈ"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"ਨੈੱਟਵਰਕ ਤੱਕ ਪਹੁੰਚ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"ਸਿਗਨਲ ਪ੍ਰਾਪਤੀ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ, ਸਿਸਟਮ > ਨੈੱਟਵਰਕ ਅਤੇ ਇੰਟਰਨੈੱਟ > ਮੋਬਾਈਲ ਨੈੱਟਵਰਕ > ਤਰਜੀਹੀ ਨੈੱਟਵਰਕ ਦੀ ਕਿਸਮ \'ਤੇ ਚੁਣੀ ਗਈ ਕਿਸਮ ਨੂੰ ਬਦਲਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"ਸੁਚੇਤਨਾਵਾਂ"</string> @@ -1207,8 +1204,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"ਭਾਸ਼ਾ ਅਤੇ ਖਾਕਾ ਚੁਣਨ ਲਈ ਟੈਪ ਕਰੋ"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"ਦੂਜੀਆਂ ਐਪਾਂ ਦੇ ਉੱਪਰ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰੋ"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> ਐਪ ਹੋਰ ਐਪਾਂ ਦੇ ਉੱਤੇ ਹੈ"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> ਐਪ ਹੋਰਾਂ ਐਪਾਂ ਦੇ ਉੱਤੇ ਹੈ।"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"ਜੇ ਤੁਸੀਂ ਨਹੀਂ ਚਾਹੁੰਦੇ ਕਿ <xliff:g id="NAME">%s</xliff:g> ਐਪ ਇਸ ਵਿਸ਼ੇਸ਼ਤਾ ਦੀ ਵਰਤੋਂ ਕਰੇ, ਤਾਂ ਸੈਟਿੰਗਾਂ ਖੋਲ੍ਹਣ ਲਈ ਟੈਪ ਕਰੋ ਅਤੇ ਇਸਨੂੰ ਬੰਦ ਕਰੋ।"</string> diff --git a/core/res/res/values-pl/strings.xml b/core/res/res/values-pl/strings.xml index aa323ea5e9a6..e5dbab3eddac 100644 --- a/core/res/res/values-pl/strings.xml +++ b/core/res/res/values-pl/strings.xml @@ -92,13 +92,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Usługa nie jest świadczona."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Nie możesz zmienić ustawienia ID rozmówcy."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Brak usługi transmisji danych"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Brak usługi połączeń alarmowych"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Brak możliwości wykonywania połączeń alarmowych"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Brak usługi połączeń głosowych"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Brak usługi połączeń głosowych/alarmowych"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Twój operator tymczasowo zawiesił usługę transmisji danych w tej lokalizacji"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Twój operator tymczasowo zawiesił połączenia alarmowe w tej lokalizacji"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Twój operator tymczasowo zawiesił połączenia głosowe w tej lokalizacji"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Twój operator tymczasowo zawiesił połączenia głosowe i alarmowe w tej lokalizacji"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Usługa tymczasowo nieoferowana przez sieć komórkową w Twojej lokalizacji"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Brak zasięgu sieci"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Aby poprawić odbiór, zmień typ sieci – wybierz System > Sieć i internet > Sieci komórkowe > Preferowany typ sieci."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Alerty"</string> @@ -1250,8 +1247,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Kliknij, by wybrać język i układ"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" AĄBCĆDEĘFGHIJKLŁMNŃOÓPQRSŚTUVWXYZŹŻ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Wyświetlanie nad innymi aplikacjami"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"Wyświetlanie aplikacji <xliff:g id="NAME">%s</xliff:g> nad innymi"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"Aplikacja <xliff:g id="NAME">%s</xliff:g> jest nad innymi"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Jeśli nie chcesz, by aplikacja <xliff:g id="NAME">%s</xliff:g> korzystała z tej funkcji, otwórz ustawienia i ją wyłącz."</string> diff --git a/core/res/res/values-pt-rBR/strings.xml b/core/res/res/values-pt-rBR/strings.xml index 5bf1f8d7d4d8..c74178d890b7 100644 --- a/core/res/res/values-pt-rBR/strings.xml +++ b/core/res/res/values-pt-rBR/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"O serviço não foi habilitado."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Não é possível alterar a configuração de identificação de chamadas."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Sem serviço de dados"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Sem serviço de emergência"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Sem chamada de emergência"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Sem serviço de voz"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Sem serviço de voz/emergência"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Sua operadora suspendeu temporariamente o serviço de dados neste local"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Sua operadora suspendeu temporariamente as chamadas de emergência neste local"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Sua operadora suspendeu temporariamente as chamadas de voz neste local"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Sua operadora suspendeu temporariamente as chamadas de voz e de emergência neste local"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Serviço temporariamente bloqueado pela rede móvel no seu local"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Não foi possível acessar a rede"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Para melhorar a recepção, tente alterar o tipo selecionado em Sistema > Rede & Internet > Redes móveis > Tipo de rede preferencial."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Alertas"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Toque para selecionar o idioma e o layout"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Sobrepor a outros apps"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> exibido sobre outros apps"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> exibido sobre outros apps."</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Se você não deseja que o <xliff:g id="NAME">%s</xliff:g> use este recurso, toque para abrir as configurações e desativá-lo."</string> diff --git a/core/res/res/values-pt-rPT/strings.xml b/core/res/res/values-pt-rPT/strings.xml index e1afe56d17ba..1eb57a565d64 100644 --- a/core/res/res/values-pt-rPT/strings.xml +++ b/core/res/res/values-pt-rPT/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Serviço não fornecido."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Não pode alterar a definição da identificação de chamadas."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Sem serviço de dados"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Sem serviço de emergência"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Sem chamadas de emergência"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Sem serviço de voz"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Sem serviço de voz/emergência"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"O seu operador suspendeu temporariamente o serviço de dados nesta localização"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"O seu operador suspendeu temporariamente as chamadas de emergência nesta localização"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"O seu operador suspendeu temporariamente as chamadas de voz nesta localização"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"O seu operador suspendeu temporariamente as chamadas de voz e de emergência nesta localização"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Serviço temporariamente não disponibilizado pela rede móvel na sua localização"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Não é possível ligar à rede"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Para melhorar a receção, experimente alterar o tipo selecionado em Sistema > Rede e Internet > Redes móveis > Tipo de rede preferido."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Alertas"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Toque para selecionar o idioma e o esquema"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Sobrepor a outras aplicações"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"A aplicação <xliff:g id="NAME">%s</xliff:g> sobrepõe-se a outras aplicações"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"O <xliff:g id="NAME">%s</xliff:g> sobrepõe-se a outras aplic."</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Se não pretende que a aplicação <xliff:g id="NAME">%s</xliff:g> utilize esta funcionalidade, toque para abrir as definições e desative-a."</string> diff --git a/core/res/res/values-pt/strings.xml b/core/res/res/values-pt/strings.xml index 5bf1f8d7d4d8..c74178d890b7 100644 --- a/core/res/res/values-pt/strings.xml +++ b/core/res/res/values-pt/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"O serviço não foi habilitado."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Não é possível alterar a configuração de identificação de chamadas."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Sem serviço de dados"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Sem serviço de emergência"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Sem chamada de emergência"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Sem serviço de voz"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Sem serviço de voz/emergência"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Sua operadora suspendeu temporariamente o serviço de dados neste local"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Sua operadora suspendeu temporariamente as chamadas de emergência neste local"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Sua operadora suspendeu temporariamente as chamadas de voz neste local"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Sua operadora suspendeu temporariamente as chamadas de voz e de emergência neste local"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Serviço temporariamente bloqueado pela rede móvel no seu local"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Não foi possível acessar a rede"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Para melhorar a recepção, tente alterar o tipo selecionado em Sistema > Rede & Internet > Redes móveis > Tipo de rede preferencial."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Alertas"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Toque para selecionar o idioma e o layout"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Sobrepor a outros apps"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> exibido sobre outros apps"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> exibido sobre outros apps."</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Se você não deseja que o <xliff:g id="NAME">%s</xliff:g> use este recurso, toque para abrir as configurações e desativá-lo."</string> diff --git a/core/res/res/values-ro/strings.xml b/core/res/res/values-ro/strings.xml index 9d1756606b29..578710907237 100644 --- a/core/res/res/values-ro/strings.xml +++ b/core/res/res/values-ro/strings.xml @@ -91,13 +91,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Nu se asigură accesul la acest serviciu."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Nu puteți să modificați setarea pentru ID-ul apelantului."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Fără serviciu de date"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Fără serviciu de urgență"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Fără apeluri de urgență"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Fără servicii vocale"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Fără servicii vocale/de urgență"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Operatorul dvs. a suspendat temporar serviciul de date în această locație"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Operatorul dvs. a suspendat temporar apelurile de urgență în această locație"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Operatorul dvs. a suspendat temporar apelurile vocale în această locație"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Operatorul dvs. a suspendat temporar apelurile vocale și de urgență în această locație"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Momentan nu este oferit de rețeaua mobilă în locația dvs."</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Nu se poate stabili conexiunea la rețea"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Pentru o recepție mai bună, încercați să schimbați tipul selectat în Sistem > Rețea și internet > Rețele mobile > Tip preferat de rețea."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Alerte"</string> @@ -1228,8 +1225,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Atingeți pentru a selecta limba și aspectul"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Afișare peste alte aplicații"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> se afișează peste alte aplicații"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> se afișează peste aplicații"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Dacă nu doriți ca <xliff:g id="NAME">%s</xliff:g> să utilizeze această funcție, atingeți pentru a deschide setările și dezactivați-o."</string> diff --git a/core/res/res/values-ru/strings.xml b/core/res/res/values-ru/strings.xml index b0c8ea239c8a..56349891e49d 100644 --- a/core/res/res/values-ru/strings.xml +++ b/core/res/res/values-ru/strings.xml @@ -92,13 +92,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Услуга не предоставляется."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Невозможно изменить параметр идентификатора вызывающего абонента."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Мобильный Интернет недоступен"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Экстренные вызовы недоступны"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Экстренные вызовы заблокированы"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Голосовые вызовы недоступны"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Голосовые и экстренные вызовы недоступны"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Ваш оператор временно заблокировал передачу данных по мобильной сети в этом месте."</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Ваш оператор временно заблокировал экстренные вызовы в этом месте."</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Ваш оператор временно заблокировал голосовые вызовы в этом месте."</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Ваш оператор временно заблокировал голосовые и экстренные вызовы в этом месте."</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Местная мобильная сеть временно не поддерживает эту функцию."</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Сеть недоступна"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Чтобы улучшить сигнал, попробуйте выбрать другой тип сети в настройках (раздел \"Мобильные сети\")."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Оповещения"</string> @@ -1250,8 +1247,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Нажмите, чтобы выбрать язык и раскладку"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Поверх других приложений"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g>: поверх других приложений"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g>: поверх других приложений"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Чтобы отключить эту функцию для приложения <xliff:g id="NAME">%s</xliff:g>, перейдите в настройки."</string> diff --git a/core/res/res/values-si/strings.xml b/core/res/res/values-si/strings.xml index 5aa8788d06ad..0c38e4d140bc 100644 --- a/core/res/res/values-si/strings.xml +++ b/core/res/res/values-si/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"සේවාවන් සපයා නැත."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"අමතන්නාගේ ID සැකසීම ඔබට වෙනස්කල නොහැක."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"දත්ත සේවාව නැත"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"හදිසි සේවාව නැත"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"හදිසි ඇමතුම් නැත"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"හඬ සේවාව නැත"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"හඬ/හදිසි සේවාව නොමැත"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"ඔබගේ වාහකයා මෙම ස්ථානයේ දත්ත සේවාව තාවකාලිකව අත්හිටුවා ඇත"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"ඔබගේ වාහකයා මෙම ස්ථානයේ හදිසි ඇමතුම් තාවකාලිකව අත්හිටුවා ඇත"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"ඔබගේ වාහකයා මෙම ස්ථානයේ හඬ ඇමතුම් තාවකාලිකව අත්හිටුවා ඇත"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"ඔබගේ වාහකයා මෙම ස්ථානයේ හඬ සහ හදිසි ඇමතුම් තාවකාලිකව අත්හිටුවා ඇත"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"ඔබේ ස්ථානයේ ජංගම ජාලය මගින් තාවකාලිකව පිරිනොනමයි"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"ජාලය වෙත ළඟා විය නොහැකිය"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"ප්රතිග්රහණය වැඩි දියුණු කිරීමට, පද්ධතිය > ජාලය සහ අන්තර්ජාලය > ජංගම ජාල > වඩා කැමති ජාල වර්ගය තුළ තෝරන ලද වර්ගය වෙනස් කිරීම උත්සාහ කරන්න."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"ඇඟවීම්"</string> @@ -1208,8 +1205,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"භාෂාව හා පිරිසැලසුම තේරීමට තට්ටු කරන්න"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"වෙනත් යෙදුම් උඩින් පෙන්වන්න"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"අනෙක් යෙදුම්වලට උඩින් <xliff:g id="NAME">%s</xliff:g> සංදර්ශනය කරමින්"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"අනෙක් යෙදුම්වලට උඩින් <xliff:g id="NAME">%s</xliff:g> දිස් වේ"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"ඔබට <xliff:g id="NAME">%s</xliff:g> මෙම විශේෂාංගය භාවිත කිරීමට අවශ්ය නැති නම්, සැකසීම් විවෘත කිරීමට තට්ටු කර එය ක්රියාවිරහිත කරන්න."</string> diff --git a/core/res/res/values-sk/strings.xml b/core/res/res/values-sk/strings.xml index d79caeca6e7c..5bea2a0cc3b2 100644 --- a/core/res/res/values-sk/strings.xml +++ b/core/res/res/values-sk/strings.xml @@ -92,13 +92,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Služba nie je poskytovaná."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Nemôžete meniť nastavenia identifikácie volajúceho."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Žiadna dátová služba"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Tiesňové volania nie sú k dispozícii"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Žiadne núdzové hovory"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Žiadne hlasové hovory"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Hlasové ani tiesňové volania nie sú k dispozícii"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Váš operátor dočasne pozastavil dátovú službu na tomto mieste"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Váš operátor v tejto oblasti dočasne pozastavil tiesňové volania"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Váš operátor dočasne pozastavil hlasové hovory z tohto miesta"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Váš operátor v tejto oblasti dočasne blokuje hlasové a tiesňové hovory"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Momentálne nie sú v ponuke mobilnej siete na vašom mieste"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Nepodarilo sa pripojiť k sieti"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Ak chcete vylepšiť príjem, skúste zmeniť vybratý typ siete v časti Systém > Sieť a internet > Mobilné siete > Preferovaný typ siete."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Upozornenia"</string> @@ -1250,8 +1247,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Klepnutím vyberte jazyk a rozloženie"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" AÁÄBCČDĎDZDŽEÉFGHCHIÍJKLĽMNŇOÓÔPRŔSŠTŤUÚVWXYÝZŽ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Zobrazenie cez iné aplikácie"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> sa zobrazuje cez iné aplikácie"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> sa zobrazuje cez iné aplikácie"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Ak nechcete, aby aplikácia <xliff:g id="NAME">%s</xliff:g> používala túto funkciu, klepnutím otvorte nastavenia a vypnite ju."</string> diff --git a/core/res/res/values-sl/strings.xml b/core/res/res/values-sl/strings.xml index 5257d6febf09..1944c3aa53ba 100644 --- a/core/res/res/values-sl/strings.xml +++ b/core/res/res/values-sl/strings.xml @@ -92,13 +92,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Storitev ni nastavljena in omogočena."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Ne morete spremeniti nastavitve ID-ja klicatelja."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Ni storitve za prenos podatkov"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Ni storitve za klice v sili"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Brez možnosti klicanja v sili"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Ni storitve za glasovne klice"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Ni storitve za glasovne klice / klice v sili"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Vaš operater je na tej lokaciji začasno onemogočil storitev za prenos podatkov"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Vaš operater je na tej lokaciji začasno onemogočil klice v sili"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Vaš operater je na tej lokaciji začasno onemogočil glasovne klice"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Vaš operater je na tej lokaciji začasno onemogočil glasovne klice in klice v sili"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Ta storitev trenutno ni na voljo v mobilnem omrežju na vaši lokaciji"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Povezave z omrežjem ni mogoče vzpostaviti"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Če želite izboljšati sprejem, poskusite zamenjati vrsto omrežja v možnostih »Sistem« > »Omrežje in internet« > »Mobilna omrežja« > »Prednostna vrsta omrežja«."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Opozorila"</string> @@ -1250,8 +1247,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Dotaknite se, če želite izbrati jezik in postavitev."</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Prekrivanje drugih aplikacij"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> prekriva druge aplikacije"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> prekriva druge aplikacije"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Če ne želite, da aplikacija <xliff:g id="NAME">%s</xliff:g> uporablja to funkcijo, se dotaknite, da odprete nastavitve, in funkcijo izklopite."</string> diff --git a/core/res/res/values-sq/strings.xml b/core/res/res/values-sq/strings.xml index b92732d615c1..5f12917c3703 100644 --- a/core/res/res/values-sq/strings.xml +++ b/core/res/res/values-sq/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Shërbimi nuk është përgatitur."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Nuk mund ta ndryshosh cilësimin e ID-së së telefonuesit."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Nuk ka shërbim për të dhënat"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Nuk ka shërbim urgjence"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Asnjë telefonatë urgjence"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Nuk ka shërbim zanor"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Nuk ka shërbim zanor/urgjence"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Operatori yt ka pezulluar përkohësisht shërbimin e të dhënave në këtë vendndodhje"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Operatori yt ka pezulluar përkohësisht telefonatat e urgjencës në këtë vendndodhje"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Operatori yt ka pezulluar përkohësisht telefonatat zanore në këtë vendndodhje"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Operatori yt ka pezulluar përkohësisht telefonatat zanore dhe të urgjencës në këtë vendndodhje"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Përkohësisht nuk ofrohet nga rrjeti celular në vendndodhjen tënde"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Rrjeti i paarritshëm"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Për të përmirësuar marrjen e sinjalit, provo të ndryshosh llojin e zgjedhur te Sistemi > Rrjeti dhe interneti > Lloji i preferuar i rrjetit."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Sinjalizimet"</string> @@ -1207,8 +1204,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Trokit për të zgjedhur gjuhën dhe strukturën"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Shfaq mbi aplikacionet e tjera"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> afishohet mbi aplikacionet e tjera"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> shfaqet mbi apl. e tjera"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Nëse nuk dëshiron që <xliff:g id="NAME">%s</xliff:g> ta përdorë këtë funksion, trokit për të hapur cilësimet dhe për ta çaktivizuar."</string> diff --git a/core/res/res/values-sr/strings.xml b/core/res/res/values-sr/strings.xml index b9e2b318c268..882a34386422 100644 --- a/core/res/res/values-sr/strings.xml +++ b/core/res/res/values-sr/strings.xml @@ -91,13 +91,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Услуга није добављена."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Не можете да промените подешавање ИД-а корисника."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Нема услуге преноса података"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Нема услуге за хитне позиве"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Хитни позиви нису могући"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Нема гласовне услуге"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Нема гласовне услуге/услуге за хитне позиве"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Мобилни оператер је привремено суспендовао услугу преноса података на овој локацији"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Мобилни оператер је привремено суспендовао хитне позиве на овој локацији"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Мобилни оператер је привремено суспендовао гласовне позиве на овој локацији"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Мобилни оператер је привремено суспендовао гласовне и хитне позиве на овој локацији"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Привремено је онемогућено на мобилној мрежи на вашој локацији"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Повезивање са мрежом није успело"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Да бисте побољшали пријем, пробајте да промените изабрани тип у одељку Систем > Мрежа и интернет > Мобилне мреже > Жељени тип мреже."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Обавештења"</string> @@ -1228,8 +1225,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Додирните да бисте изабрали језик и распоред"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Приказ преко других апликација"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"Апликација <xliff:g id="NAME">%s</xliff:g> се приказује преко других апликација"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> се приказује преко других аплик."</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Ако не желите ову функцију за <xliff:g id="NAME">%s</xliff:g>, додирните да бисте отворили подешавања и искључили је."</string> diff --git a/core/res/res/values-sv/strings.xml b/core/res/res/values-sv/strings.xml index 8062acbd6199..4ab184eb8762 100644 --- a/core/res/res/values-sv/strings.xml +++ b/core/res/res/values-sv/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Tjänsten är inte etablerad."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Det går inte att ändra inställningen för nummerpresentatör."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Datatjänst har blockerats"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Tjänsten för nödsamtal har blockerats"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Det går inte att ringa nödsamtal"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Tjänsten för röstsamtal har blockerats"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Tjänster för röst- och nödsamtal har blockerats"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Operatören har tillfälligt stängt av datatjänst på denna plats"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Operatören har tillfälligt stängt av nödsamtal på denna plats"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Operatören har tillfälligt stängt av röstsamtal på denna plats"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Operatören har tillfälligt stängt av röst- och nödsamtal på denna plats"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Detta erbjuds för tillfället inte på mobilnätverket där du befinner dig"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Det går inte att nå nätverket"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Testa om du får bättre mottagning genom att ändra till en annan typ under System > Nätverk och internet > Mobila nätverk > Önskad nätverkstyp."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Aviseringar"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Tryck om du vill välja språk och layout"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Visa ovanpå andra appar"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> visas över andra appar"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> visas över andra appar"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Om du inte vill att den här funktionen används för <xliff:g id="NAME">%s</xliff:g> öppnar du inställningarna genom att trycka. Sedan inaktiverar du funktionen."</string> diff --git a/core/res/res/values-sw/strings.xml b/core/res/res/values-sw/strings.xml index 4d50e910d348..3e64ce25ce99 100644 --- a/core/res/res/values-sw/strings.xml +++ b/core/res/res/values-sw/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Huduma haitathminiwi."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Hauwezi kubadilisha mpangilio wa kitambulisho cha anayepiga."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Hakuna huduma ya data"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Hakuna huduma za dharura"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Huwezi kupiga simu za dharura"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Hakuna huduma za simu za sauti"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Hakuna huduma ya simu za dharura au za sauti"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Mtoa huduma wako amesitisha kwa muda huduma ya data mahali hapa"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Mtoa huduma wako amesitisha kwa muda huduma ya kupiga simu za dharura mahali hapa"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Mtoa huduma wako amesitisha kwa muda mfupi huduma ya kupiga simu za sauti mahali hapa"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Mtoa huduma wako amesitisha kwa muda huduma ya kupiga simu za dharura na za sauti mahali hapa"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Kwa sasa, huduma hii haipatikani katika mtandao wa simu mahali ulipo"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Haiwezi kufikia mtandao"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Ili kupata mtandao thabiti, jaribu kubadilisha aina iliyochaguliwa katika Mfumo > Mtandao na Intaneti > Mitandao ya simu > Aina ya mtandao unaopendelea."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Arifa"</string> @@ -1204,8 +1201,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Gonga ili uchague lugha na muundo"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Onyesha juu ya programu zingine"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> inachomoza juu ya programu zingine"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> inachomoza juu ya programu zingine."</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Ikiwa hutaki <xliff:g id="NAME">%s</xliff:g> kutumia kipengele hiki, gonga ili ufungue mipangilio na ukizime."</string> diff --git a/core/res/res/values-ta/strings.xml b/core/res/res/values-ta/strings.xml index 91196b9e12f3..6fa67f79c5de 100644 --- a/core/res/res/values-ta/strings.xml +++ b/core/res/res/values-ta/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"சேவை ஒதுக்கப்படவில்லை."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"அழைப்பாளர் ஐடி அமைப்பை மாற்ற முடியாது."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"தரவுச் சேவை இல்லை"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"அவசரச் சேவை இல்லை"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"அவசர அழைப்பு வசதி இல்லை"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"குரல் சேவை இல்லை"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"குரல்/அவசரச் சேவை இல்லை"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"உங்கள் தொலைத்தொடர்பு நிறுவனம் தரவுச் சேவையை இந்த இடத்தில் தற்காலிகமாக நிறுத்தியுள்ளது"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"உங்கள் தொலைத்தொடர்பு நிறுவனம் அவசர அழைப்புகளை இந்த இடத்தில் தற்காலிகமாக நிறுத்தியுள்ளது"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"உங்கள் தொலைத்தொடர்பு நிறுவனம் குரல் அழைப்புகளை இந்த இடத்தில் தற்காலிகமாக நிறுத்தியுள்ளது"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"உங்கள் தொலைத்தொடர்பு நிறுவனம் குரல் மற்றும் அவசர அழைப்புகளை இந்த இடத்தில் தற்காலிகமாக நிறுத்தியுள்ளது"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"தற்காலிகமாக உங்கள் இருப்பிடத்தில் மொபைல் நெட்வொர்க் வழங்கவில்லை"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"நெட்வொர்க்குடன் இணைக்க முடியவில்லை"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"பெறுதலை மேம்படுத்த, சாதனம் > நெட்வொர்க் & இணையம் > மொபைல் நெட்வொர்க்குகள் > விரும்பும் நெட்வொர்க் வகை என்பதற்குச் சென்று, தேர்ந்தெடுத்த வகையை மாற்றவும்."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"விழிப்பூட்டல்கள்"</string> @@ -1207,8 +1204,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"மொழியையும் தளவமைப்பையும் தேர்ந்தெடுக்க, தட்டவும்"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"பிற பயன்பாடுகளின் மேலே காட்டு"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> பிற பயன்பாடுகளின் மீது தோன்றுகிறது"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> பிற ஆப்ஸின் மீது தோன்றுகிறது"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"<xliff:g id="NAME">%s</xliff:g> இந்த அம்சத்தைப் பயன்படுத்த வேண்டாம் என நினைத்தால், அமைப்புகளைத் திறந்து அதை முடக்க, தட்டவும்."</string> diff --git a/core/res/res/values-te/strings.xml b/core/res/res/values-te/strings.xml index ddf63973fa9e..76dc06ff15db 100644 --- a/core/res/res/values-te/strings.xml +++ b/core/res/res/values-te/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"సేవ కేటాయించబడలేదు."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"మీరు కాలర్ ID సెట్టింగ్ను మార్చలేరు."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"డేటా సేవ లేదు"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"అత్యవసర సేవ లేదు"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"అత్యవసర కాలింగ్ లేదు"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"వాయిస్ సేవ లేదు"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"వాయిస్/అత్యవసర సేవ లేదు"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"మీ క్యారియర్ ఈ స్థానంలో డేటా సేవను తాత్కాలికంగా నిలిపివేసింది"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"మీ క్యారియర్ ఈ స్థానంలో అత్యవసర కాల్లను తాత్కాలికంగా నిలిపివేసింది"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"మీ క్యారియర్ ఈ స్థానంలో వాయిస్ కాల్లను తాత్కాలికంగా నిలిపివేసింది"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"మీ క్యారియర్ ఈ స్థానంలో వాయిస్ మరియు అత్యవసర కాల్లను తాత్కాలికంగా నిలిపివేసింది"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"మీ స్థానంలో మొబైల్ నెట్వర్క్ ద్వారా తాత్కాలికంగా అందించబడదు"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"నెట్వర్క్ను చేరుకోలేరు"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"స్వీకరణను మెరుగుపరచాలంటే, సిస్టమ్ > నెట్వర్క్ & ఇంటర్నెట్ > మొబైల్ నెట్వర్క్లు > ప్రాధాన్య నెట్వర్క్ రకంలో మీరు ఎంచుకున్న రకాన్ని మార్చి ప్రయత్నించండి."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"హెచ్చరికలు"</string> @@ -1207,8 +1204,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"భాష మరియు లేఅవుట్ను ఎంచుకోవడానికి నొక్కండి"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"ఇతర యాప్ల ఎగువన ప్రదర్శన"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> ఇతర అనువర్తనాలలో చూపబడుతోంది"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> ఇతర అనువర్తనాలలో చూపబడుతోంది"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"<xliff:g id="NAME">%s</xliff:g> ఈ లక్షణాన్ని ఉపయోగించకూడదు అని మీరు అనుకుంటే, సెట్టింగ్లను తెరవడానికి నొక్కి, దీన్ని ఆఫ్ చేయండి."</string> diff --git a/core/res/res/values-th/strings.xml b/core/res/res/values-th/strings.xml index 86f1be3647f3..492099f5375e 100644 --- a/core/res/res/values-th/strings.xml +++ b/core/res/res/values-th/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"ไม่มีการนำเสนอบริการ"</string> <string name="CLIRPermanent" msgid="3377371145926835671">"คุณไม่สามารถเปลี่ยนการตั้งค่าหมายเลขผู้โทร"</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"ไม่มีบริการอินเทอร์เน็ต"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"ไม่มีบริการฉุกเฉิน"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"ไม่มีหมายเลขฉุกเฉิน"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"ไม่มีบริการเสียง"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"ไม่มีบริการเสียง/บริการฉุกเฉิน"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"ผู้ให้บริการของคุณระงับบริการอินเทอร์เน็ตที่นี่ชั่วคราว"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"ผู้ให้บริการของคุณระงับหมายเลขฉุกเฉินที่นี่ชั่วคราว"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"ผู้ให้บริการของคุณระงับการโทรด้วยเสียงที่นี่ชั่วคราว"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"ผู้ให้บริการของคุณระงับการโทรด้วยเสียงและหมายเลขฉุกเฉินที่นี่ชั่วคราว"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"งดให้บริการชั่วคราวโดยเครือข่ายมือถือในตำแหน่งของคุณ"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"เข้าถึงเครือข่ายไม่ได้"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"เพื่อให้การรับสัญญาณดีขึ้น ลองเปลี่ยนประเภทที่เลือกใน \"การตั้งค่า\" > \"เครือข่ายและอินเทอร์เน็ต\" > \"เครือข่ายมือถือ\" > \"ประเภทเครือข่ายที่ต้องการ\""</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"การแจ้งเตือน"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"แตะเพื่อเลือกภาษาและรูปแบบ"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรลวศษสหฬอฮ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรลวศษสหฬอฮ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"แสดงทับแอปอื่นๆ"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> แสดงทับแอปอื่นๆ"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> กำลังแสดงทับแอปอื่นๆ"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"หากคุณไม่ต้องการให้ <xliff:g id="NAME">%s</xliff:g> ใช้ฟีเจอร์นี้ ให้แตะเพื่อเปิดการตั้งค่าแล้วปิดฟีเจอร์"</string> diff --git a/core/res/res/values-tl/strings.xml b/core/res/res/values-tl/strings.xml index 5405d032e46a..aad6f6015fb9 100644 --- a/core/res/res/values-tl/strings.xml +++ b/core/res/res/values-tl/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Hindi naprobisyon ang serbisyo."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Hindi mo mababago ang setting ng caller ID."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Walang serbisyo sa data"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Walang serbisyo para sa emergency"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Walang emergency na tawag"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Walang serbisyo para sa boses"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Walang serbisyo para sa voice/emergency"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Pansamantalang sinuspinde ng iyong carrier ang serbisyo sa data sa lokasyong ito"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Pansamantalang sinuspinde ng iyong carrier ang mga emergency na tawag sa lokasyong ito"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Pansamantalang sinuspinde ng iyong carrier ang mga voice call sa lokasyong ito"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Pansamantalang sinuspinde ng iyong carrier ang mga voice call at emergency na tawag sa lokasyong ito"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Pansamantalang hindi inaalok ng mobile network sa iyong lokasyon"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Hindi maabot ang network"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Upang lumakas ang reception, subukang baguhin ang uring napili sa System > Network at Internet > Mga mobile network > Gustong uri ng network."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Mga Alerto"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"I-tap upang pumili ng wika at layout"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Ipakita sa ibabaw ng ibang app"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"Ipinapakita sa itaas ng iba pang app ang <xliff:g id="NAME">%s</xliff:g>."</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"Nasa ibabaw ng ibang app ang <xliff:g id="NAME">%s</xliff:g>"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Kung ayaw mong gamitin ng <xliff:g id="NAME">%s</xliff:g> ang feature na ito, i-tap upang buksan ang mga setting at i-off ito."</string> diff --git a/core/res/res/values-tr/strings.xml b/core/res/res/values-tr/strings.xml index 936f82762614..e7c1f48246b1 100644 --- a/core/res/res/values-tr/strings.xml +++ b/core/res/res/values-tr/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Hizmet sağlanamadı."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Arayanın kimliği ayarını değiştiremezsiniz."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Veri hizmeti yok"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Acil durum hizmeti yok"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Acil durum çağrısı yok"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Sesli çağrı hizmeti yok"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Ses/acil durum hizmeti yok"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Operatörünüz bu konumdaki veri hizmetini geçici olarak askıya aldı"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Operatörünüz bu konumdaki acil durum çağrılarını geçici olarak askıya aldı"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Operatörünüz bu konumdaki sesli çağrıları geçici olarak askıya aldı"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Operatörünüz bu konumdaki sesli ve acil durum çağrılarını geçici olarak askıya aldı"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Bulunduğunuz yerdeki mobil ağ tarafından geçici olarak sunulmuyor"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Ağa erişilemiyor"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Sinyal gücünü iyileştirmek için Sistem > Ağ ve İnternet > Mobil ağlar > Tercih edilen ağ türü\'nden seçili türü değiştirmeyi deneyin."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Uyarılar"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Dili ve düzeni seçmek için dokunun"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Diğer uygulamaların üzerinde göster"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g>, diğer uygulamaların üzerinde görüntüleniyor"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g>, diğer uygulamaların üzerinde gösteriliyor"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"<xliff:g id="NAME">%s</xliff:g> uygulamasının bu özelliği kullanmasını istemiyorsanız dokunarak ayarları açın ve özelliği kapatın."</string> diff --git a/core/res/res/values-uk/strings.xml b/core/res/res/values-uk/strings.xml index 0b5677ed6a64..d545f3a26b6d 100644 --- a/core/res/res/values-uk/strings.xml +++ b/core/res/res/values-uk/strings.xml @@ -92,13 +92,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Службу не ініціалізовано."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Ви не можете змінювати налаштування ідентифікатора абонента."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Немає мобільного Інтернету"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Немає екстреної служби"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Екстрені виклики заблоковано"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Немає голосової служби"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Немає голосової/екстреної служби"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Оператор тимчасово заблокував передавання даних у цьому місці"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Оператор тимчасово заблокував екстрені виклики в цьому місці"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Оператор тимчасово заблокував голосові виклики в цьому місці"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Оператор тимчасово заблокував голосові й екстрені виклики в цьому місці"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Тимчасово не пропонується мобільною мережею у вашому місцезнаходженні"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Не вдається під’єднатися до мережі"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Щоб покращити якість сигналу, змініть тип у меню \"Система\" > \"Мережа й Інтернет\" > \"Мобільні мережі\" > \"Тип мережі\"."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Сповіщення"</string> @@ -1250,8 +1247,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Торкніться, щоб вибрати мову та розкладку"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" АБВГҐДЕЄЖЗИІЇЙКЛМНОПРСТУФХЦЧШЩЬЮЯ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789АБВГҐДЕЄЖЗИІЇЙКЛМНОПРСТУФХЦЧШЩЬЮЯ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Показувати поверх додатків"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"Додаток <xliff:g id="NAME">%s</xliff:g> відображається поверх інших додатків"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> відображається поверх інших додатків"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Щоб у додатку <xliff:g id="NAME">%s</xliff:g> не працювала ця функція, вимкніть її в налаштуваннях."</string> diff --git a/core/res/res/values-ur/strings.xml b/core/res/res/values-ur/strings.xml index 038baaf3a4e8..a453f334caea 100644 --- a/core/res/res/values-ur/strings.xml +++ b/core/res/res/values-ur/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"سروس فراہم نہیں کی گئی۔"</string> <string name="CLIRPermanent" msgid="3377371145926835671">"آپ کالر ID کی ترتیبات تبدیل نہیں کر سکتے ہیں۔"</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"کوئی ڈیٹا سروس نہیں"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"کوئی ہنگامی سروس نہیں"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"کوئی ایمرجنسی کالنگ نہیں ہے"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"کوئی صوتی سروس نہیں"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"کوئی صوتی/ہنگامی سروس نہیں"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"آپ کے کیریئر نے عارضی طور پر اس مقام پر ڈیٹا سروس کو معطل کر دیا ہے"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"آپ کے کیریئر نے عارضی طور پر اس مقام پر ہنگامی کالز کو معطل کر دیا ہے"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"آپ کے کیریئر نے عارضی طور پر اس مقام پر صوتی کالز کو معطل کر دیا ہے"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"آپ کے کیریئر نے عارضی طور پر اس مقام پر صوتی اور ہنگامی کالز کو معطل کر دیا ہے"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"عارضی طور پر آپ کے مقام پر موبائل نیٹ ورک کی طرف سے پیش نہیں ہے"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"نیٹ ورک تک نہیں پہنچا جا سکتا"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"ریسپشن کو بہتر بنانے کیلئے، سسٹم > نیٹ ورک اور انٹرنیٹ > موبائل نیٹ ورکس > ترجیحی نیٹ ورک کی قسم تبدیل کرنے کی کوشش کریں۔"</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"الرٹس"</string> @@ -1207,8 +1204,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"زبان اور لے آؤٹ منتخب کرنے کیلئے تھپتھپائیں"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"دیگر ایپس پر ڈسپلے کریں"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> کو دیگر ایپس پر دکھایا کیا جا رہا ہے"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> دیگر ایپس پر ڈسپلے ہو رہی ہے"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"اگر آپ نہیں چاہتے ہیں کہ <xliff:g id="NAME">%s</xliff:g> اس خصوصیت کا استعمال کرے تو ترتیبات کھولنے کیلئے تھپتھپائیں اور اسے بند کریں۔"</string> diff --git a/core/res/res/values-uz/strings.xml b/core/res/res/values-uz/strings.xml index 3974ab3ac43a..d44c5aeed050 100644 --- a/core/res/res/values-uz/strings.xml +++ b/core/res/res/values-uz/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Xizmat ishalamaydi."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Qo‘ng‘iroq qiluvchining ID raqami sozlamasini o‘zgartirib bo‘lmaydi."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Mobil internet ishlamaydi"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Favqulodda chaqiruvlar ishlamaydi"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Favqulodda chaqiruvlar ishlamaydi"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Ovozli chaqiruvlar ishlamaydi"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Ovozli va favqulodda chaqiruvlar ishlamaydi"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Aloqa operatoringiz bu joyda mobil internetni bloklagan"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Aloqa operatoringiz bu joyda favqulodda chaqiruvlarni bloklagan"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Aloqa operatoringiz bu joyda ovozli chaqiruvlarni bloklagan"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Aloqa operatoringiz bu joyda ovozli va favqulodda chaqiruvlarni bloklagan"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Hududingizda mobil tarmoq tomonidan vaqtinchalik taklif etilmayapti"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Tarmoq bilan bog‘lanib bo‘lmadi"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Qabul qilish sifatini yaxshilash uchun Tizim > Tarmoq va Internet > Mobil tarmoqlar > Asosiy tarmoq turi orqali o‘zgartirib ko‘ring."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Ogohlantirishlar"</string> @@ -1207,8 +1204,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Til va sxemani belgilash uchun bosing"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Boshqa oynalar ustidan ochish"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> boshqa ilovalar ustidan ochilgan"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> boshqa ilovalar ustidan ochilgan"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"<xliff:g id="NAME">%s</xliff:g> ilovasi uchun bu funksiyani sozlamalar orqali o‘chirib qo‘yish mumkin."</string> diff --git a/core/res/res/values-vi/strings.xml b/core/res/res/values-vi/strings.xml index 4d39e348cd8f..325ff2da128e 100644 --- a/core/res/res/values-vi/strings.xml +++ b/core/res/res/values-vi/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Dịch vụ không được cấp phép."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Bạn không thể thay đổi cài đặt ID người gọi."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Không có dịch vụ dữ liệu"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Không có dịch vụ khẩn cấp"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Không gọi điện khẩn cấp được"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Không có dịch vụ thoại"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Không có dịch vụ thoại/khẩn cấp"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Nhà cung cấp dịch vụ của bạn đã tạm ngưng dịch vụ dữ liệu ở vị trí này"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Nhà cung cấp dịch vụ của bạn đã tạm ngưng các cuộc gọi khẩn cấp ở vị trí này"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Nhà cung cấp dịch vụ của bạn đã tạm ngưng các cuộc gọi thoại ở vị trí này"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Nhà cung cấp dịch vụ của bạn đã tạm ngưng các cuộc gọi thoại và cuộc gọi khẩn cấp ở vị trí này"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Tạm thời không được cung cấp bởi mạng di động tại vị trí của bạn"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Không thể kết nối mạng"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Để cải thiện khả năng thu tín hiệu, hãy thử thay đổi loại mạng được chọn trong Hệ thống > Mạng và Internet > Mạng di động > Loại mạng ưa thích."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Thông báo"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Nhấn để chọn ngôn ngữ và bố cục"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Hiển thị trên các ứng dụng khác"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> hiển thị trên các ứng dụng khác"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> hiển thị trên ứng dụng khác"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Nếu bạn không muốn <xliff:g id="NAME">%s</xliff:g> sử dụng tính năng này, hãy nhấn để mở cài đặt và tắt tính năng này."</string> diff --git a/core/res/res/values-watch/dimens_material.xml b/core/res/res/values-watch/dimens_material.xml index 3c4904ccf07d..82c088b679c5 100644 --- a/core/res/res/values-watch/dimens_material.xml +++ b/core/res/res/values-watch/dimens_material.xml @@ -44,4 +44,10 @@ <dimen name="progress_bar_size_small">16dip</dimen> <dimen name="progress_bar_size_medium">32dip</dimen> <dimen name="progress_bar_size_large">64dip</dimen> -</resources> + + <!-- fallback for screen percentage widths --> + <dimen name="screen_percentage_05">0dp</dimen> + <dimen name="screen_percentage_10">0dp</dimen> + <dimen name="screen_percentage_12">0dp</dimen> + <dimen name="screen_percentage_15">0dp</dimen> + </resources> diff --git a/core/res/res/values-zh-rCN/strings.xml b/core/res/res/values-zh-rCN/strings.xml index 1d2aa50b3fff..a8d08ea4f487 100644 --- a/core/res/res/values-zh-rCN/strings.xml +++ b/core/res/res/values-zh-rCN/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"未提供服务。"</string> <string name="CLIRPermanent" msgid="3377371145926835671">"您无法更改来电显示设置。"</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"无法使用数据服务"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"无法使用紧急呼救服务"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"无法进行紧急呼救"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"无法使用语音通话服务"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"无法使用语音通话/紧急呼救服务"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"您的运营商在此位置暂时不提供数据服务"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"您的运营商在此位置暂时不提供紧急呼救服务"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"您的运营商在此位置暂时不提供语音通话服务"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"您的运营商在此位置暂时不提供语音通话和紧急呼救服务"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"您所在位置的移动网络暂时不提供这项服务"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"无法连接网络"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"要改善信号情况,请尝试更改在“系统”>“网络和互联网”>“移动网络”>“首选网络类型”中选择的类型。"</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"提醒"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"点按即可选择语言和布局"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"显示在其他应用的上层"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g>正在其他应用的上层显示内容"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g>正在其他应用的上层显示内容"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"如果您不想让<xliff:g id="NAME">%s</xliff:g>使用此功能,请点按以打开设置,然后关闭此功能。"</string> diff --git a/core/res/res/values-zh-rHK/strings.xml b/core/res/res/values-zh-rHK/strings.xml index 09c7c352baf9..e03501ac8d44 100644 --- a/core/res/res/values-zh-rHK/strings.xml +++ b/core/res/res/values-zh-rHK/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"未提供此服務。"</string> <string name="CLIRPermanent" msgid="3377371145926835671">"您無法更改來電顯示設定。"</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"沒有數據服務"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"沒有緊急服務"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"無法撥打緊急電話"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"沒有語音服務"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"沒有語音/緊急服務"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"您的流動網絡供應商已在此地點暫時停權數據服務"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"您的流動網絡供應商已在此地點暫時停權緊急通話"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"您的流動網絡供應商已在此地點暫時停權語音通話"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"您的流動網絡供應商已在此地點暫時停權語音和緊急通話"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"您所在位置的流動網絡暫不提供這項服務"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"無法連接網絡"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"如要改善接收品質,請前往 [系統] > [網絡與互聯網] > [流動網絡] > [偏好的網絡類型],然後變更所選的網絡類型。"</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"通知"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"輕按即可選取語言和鍵盤配置"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"顯示在其他應用程式上層"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"「<xliff:g id="NAME">%s</xliff:g>」目前可顯示在其他應用程式上面"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"「<xliff:g id="NAME">%s</xliff:g>」正在其他應用程式上顯示內容"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"如果您不想「<xliff:g id="NAME">%s</xliff:g>」使用此功能,請輕按以開啟設定,然後停用此功能。"</string> diff --git a/core/res/res/values-zh-rTW/strings.xml b/core/res/res/values-zh-rTW/strings.xml index 3379ea5a18fb..166e6efb6f0d 100644 --- a/core/res/res/values-zh-rTW/strings.xml +++ b/core/res/res/values-zh-rTW/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"無法提供此服務。"</string> <string name="CLIRPermanent" msgid="3377371145926835671">"你無法變更來電顯示設定。"</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"無法使用數據連線服務"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"無法使用緊急通話服務"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"無法撥打緊急電話"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"無法使用語音通話服務"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"無法使用語音/緊急通話服務"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"你的電信業者在這個地點暫時不提供數據連線服務"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"你的電信業者在這個地點暫時不提供緊急通話服務"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"你的電信業者在這個地點暫時不提供語音通話服務"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"你的電信業者在這個地點暫時不提供語音和緊急通話服務"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"你所在位置的行動網路暫時不提供這項服務"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"無法連上網路"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"如要改善收訊狀況,請依序開啟 [系統] > [網路與網際網路] > [行動網路] > [偏好的網路類型],然後選取其他網路類型。"</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"快訊"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"輕觸即可選取語言和版面配置"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"顯示在其他應用程式上層"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"「<xliff:g id="NAME">%s</xliff:g>」在其他應用程式上顯示內容"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"「<xliff:g id="NAME">%s</xliff:g>」正在其他應用程式上顯示內容"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"如果你不想讓「<xliff:g id="NAME">%s</xliff:g>」使用這項功能,請輕觸開啟設定頁面,然後停用此功能。"</string> diff --git a/core/res/res/values-zu/strings.xml b/core/res/res/values-zu/strings.xml index 34d191bdbe6b..04c9fa067d51 100644 --- a/core/res/res/values-zu/strings.xml +++ b/core/res/res/values-zu/strings.xml @@ -90,13 +90,10 @@ <string name="serviceNotProvisioned" msgid="8614830180508686666">"Isevisi ayilungiselelwe."</string> <string name="CLIRPermanent" msgid="3377371145926835671">"Ngeke ukwazi ukuguqul izilungiselelo zemininingwane yoshayayo."</string> <string name="RestrictedOnDataTitle" msgid="1322504692764166532">"Ayikho isevisi yedatha"</string> - <string name="RestrictedOnEmergencyTitle" msgid="1236071219598685236">"Ayikho isevisi yesimo esiphuthumayo"</string> + <string name="RestrictedOnEmergencyTitle" msgid="3646729271176394091">"Akukho ukushaya kwesimo esiphuthumayo"</string> <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Ayikho isevisi yezwi"</string> <string name="RestrictedOnAllVoiceTitle" msgid="158800171499150681">"Ayikho isevisi yezwi/yesimo esiphuthumayo"</string> - <string name="RestrictedOnDataContent" msgid="8997474569390996587">"Inkampani yakho yenethiwekhi imise okwesikhashana isevisi yedatha kule ndawo"</string> - <string name="RestrictedOnEmergencyContent" msgid="4573217945494650061">"Inkampani yakho yenethiwekhi imise okwesikhashana amakholi esimo esiphuthumayo kule ndawo"</string> - <string name="RestrictedOnNormalContent" msgid="1579434198284512182">"Inkampani yakho yenethiwekhi imise okwesikhashana amakholi ezwi kule ndawo"</string> - <string name="RestrictedOnAllVoiceContent" msgid="5243580774142557047">"Inkampani yakho yenethiwekhi imise okwesikhashana amakholi ezwi nawezimo eziphuthumayo kule ndawo"</string> + <string name="RestrictedStateContent" msgid="4278821484643362350">"Okwesikhashana akunikezwa inethiwekhi yeselula endaweni yakho"</string> <string name="NetworkPreferenceSwitchTitle" msgid="4008877505368566980">"Ayikwazi ukufinyelela inethiwekhi"</string> <string name="NetworkPreferenceSwitchSummary" msgid="4164230263214915351">"Ukuze kuthuthukiswe ukwamukelwa, zama ukushintsha uhlobo olukhethiwe kusistimu > Inethiwekhi ne-inthanethi > amanethiwekhi eselula > uhlobo oluncanyelwayo lwenethiwekhi."</string> <string name="notification_channel_network_alert" msgid="4427736684338074967">"Izexwayiso"</string> @@ -1206,8 +1203,7 @@ <string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Thepha ukuze ukhethe ulimi nesakhiwo"</string> <string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> - <!-- no translation found for alert_windows_notification_channel_group_name (1463953341148606396) --> - <skip /> + <string name="alert_windows_notification_channel_group_name" msgid="1463953341148606396">"Bonisa ngaphezulu kwezinye izinhlelo zokusebenza"</string> <string name="alert_windows_notification_channel_name" msgid="3116610965549449803">"<xliff:g id="NAME">%s</xliff:g> ukubonisa ngaphezu kwezinye izinhlelo zokusebenza"</string> <string name="alert_windows_notification_title" msgid="3697657294867638947">"<xliff:g id="NAME">%s</xliff:g> ibonisa ngaphezu kwezinye izinhlelo zokusebenza"</string> <string name="alert_windows_notification_message" msgid="8917232109522912560">"Uma ungafuni ukuthi i-<xliff:g id="NAME">%s</xliff:g> isebenzise lesi sici, thepha ukuze uvule izilungiselelo bese usivale."</string> diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index 1959245f0626..76cee70fa0e8 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -287,7 +287,7 @@ <!-- Default value for ConnectivityManager.getMultipathPreference() on metered networks. Actual device behaviour is controlled by Settings.Global.NETWORK_METERED_MULTIPATH_PREFERENCE. This is the default value of that setting. --> - <integer translatable="false" name="config_networkMeteredMultipathPreference">3</integer> + <integer translatable="false" name="config_networkMeteredMultipathPreference">0</integer> <!-- List of regexpressions describing the interface (if any) that represent tetherable USB interfaces. If the device doesn't want to support tethering over USB this should @@ -2968,4 +2968,14 @@ <!-- Name of a font family to use for headlines. If empty, falls back to platform default --> <string name="config_headlineFontFamily" translatable="false"></string> + + <!-- An array of packages that need to be treated as type system in battery settings --> + <string-array translatable="false" name="config_batteryPackageTypeSystem"> + <item>com.android.providers.calendar</item> + <item>com.android.providers.media</item> + <item>com.android.systemui</item> + </string-array> + + <!-- An array of packages that need to be treated as type service in battery settings --> + <string-array translatable="false" name="config_batteryPackageTypeService"/> </resources> diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 1b6be86a2810..241886c97ec1 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -3043,4 +3043,8 @@ <java-symbol type="string" name="config_headlineFontFamily" /> <java-symbol type="drawable" name="stat_sys_vitals" /> + + <java-symbol type="array" name="config_batteryPackageTypeSystem" /> + <java-symbol type="array" name="config_batteryPackageTypeService" /> + </resources> diff --git a/core/tests/coretests/fonts_readme.txt b/core/tests/coretests/fonts_readme.txt new file mode 100644 index 000000000000..f0de5768c47e --- /dev/null +++ b/core/tests/coretests/fonts_readme.txt @@ -0,0 +1,15 @@ +All fonts included in this project follow the below copyright and licensing: + +Copyright (C) 2017 The Android Open Source Project + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.
\ No newline at end of file diff --git a/core/tests/coretests/res/font/samplefont.ttf b/core/tests/coretests/res/font/samplefont.ttf Binary files differindex 285230293580..5fccad24d8aa 100644 --- a/core/tests/coretests/res/font/samplefont.ttf +++ b/core/tests/coretests/res/font/samplefont.ttf diff --git a/core/tests/coretests/res/font/samplefont2.ttf b/core/tests/coretests/res/font/samplefont2.ttf Binary files differindex 285230293580..f31b8a927222 100644 --- a/core/tests/coretests/res/font/samplefont2.ttf +++ b/core/tests/coretests/res/font/samplefont2.ttf diff --git a/core/tests/coretests/res/font/samplefont3.ttf b/core/tests/coretests/res/font/samplefont3.ttf Binary files differindex 285230293580..9c850ab280f8 100644 --- a/core/tests/coretests/res/font/samplefont3.ttf +++ b/core/tests/coretests/res/font/samplefont3.ttf diff --git a/core/tests/coretests/res/font/samplefont4.ttf b/core/tests/coretests/res/font/samplefont4.ttf Binary files differindex 285230293580..9c850ab280f8 100644 --- a/core/tests/coretests/res/font/samplefont4.ttf +++ b/core/tests/coretests/res/font/samplefont4.ttf diff --git a/core/tests/coretests/src/com/android/internal/os/BatteryStatsHelperTest.java b/core/tests/coretests/src/com/android/internal/os/BatteryStatsHelperTest.java new file mode 100644 index 000000000000..f01c33f7ed2e --- /dev/null +++ b/core/tests/coretests/src/com/android/internal/os/BatteryStatsHelperTest.java @@ -0,0 +1,240 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * + */ + +package com.android.internal.os; + + +import static com.google.common.truth.Truth.assertThat; + +import static org.mockito.Matchers.any; +import static org.mockito.Matchers.anyLong; +import static org.mockito.Matchers.eq; +import static org.mockito.Mockito.RETURNS_DEEP_STUBS; +import static org.mockito.Mockito.doNothing; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.when; + +import android.content.Context; +import android.content.pm.PackageManager; +import android.os.BatteryStats; +import android.os.Process; +import android.support.test.InstrumentationRegistry; +import android.support.test.filters.SmallTest; +import android.support.test.runner.AndroidJUnit4; +import android.text.format.DateUtils; + +import junit.framework.TestCase; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; + +import java.util.ArrayList; +import java.util.List; + +@RunWith(AndroidJUnit4.class) +@SmallTest +public class BatteryStatsHelperTest extends TestCase { + private static final long TIME_FOREGROUND_ACTIVITY_ZERO = 0; + private static final long TIME_FOREGROUND_ACTIVITY = 100 * DateUtils.MINUTE_IN_MILLIS; + + private static final int UID = 123456; + private static final double BATTERY_SCREEN_USAGE = 300; + private static final double BATTERY_SYSTEM_USAGE = 600; + private static final double BATTERY_OVERACCOUNTED_USAGE = 500; + private static final double BATTERY_UNACCOUNTED_USAGE = 700; + private static final double BATTERY_APP_USAGE = 100; + private static final double TOTAL_BATTERY_USAGE = 1000; + private static final double PRECISION = 0.001; + + @Mock + private BatteryStats.Uid mUid; + @Mock + private BatterySipper mNormalBatterySipper; + @Mock + private BatterySipper mScreenBatterySipper; + @Mock + private BatterySipper mOvercountedBatterySipper; + @Mock + private BatterySipper mUnaccountedBatterySipper; + @Mock + private BatterySipper mSystemBatterySipper; + @Mock + private BatterySipper mCellBatterySipper; + @Mock + private PackageManager mPackageManager; + + private BatteryStatsHelper mBatteryStatsHelper; + private Context mContext; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + + mNormalBatterySipper.drainType = BatterySipper.DrainType.APP; + mNormalBatterySipper.totalPowerMah = TOTAL_BATTERY_USAGE; + when(mNormalBatterySipper.getUid()).thenReturn(UID); + mNormalBatterySipper.uidObj = mUid; + + + mScreenBatterySipper.drainType = BatterySipper.DrainType.SCREEN; + mScreenBatterySipper.totalPowerMah = BATTERY_SCREEN_USAGE; + + mSystemBatterySipper.drainType = BatterySipper.DrainType.APP; + mSystemBatterySipper.totalPowerMah = BATTERY_SYSTEM_USAGE; + mSystemBatterySipper.uidObj = mUid; + when(mSystemBatterySipper.getUid()).thenReturn(Process.SYSTEM_UID); + + mOvercountedBatterySipper.drainType = BatterySipper.DrainType.OVERCOUNTED; + mOvercountedBatterySipper.totalPowerMah = BATTERY_OVERACCOUNTED_USAGE; + + mUnaccountedBatterySipper.drainType = BatterySipper.DrainType.UNACCOUNTED; + mUnaccountedBatterySipper.totalPowerMah = BATTERY_UNACCOUNTED_USAGE; + + mContext = InstrumentationRegistry.getContext(); + mBatteryStatsHelper = spy(new BatteryStatsHelper(mContext)); + mBatteryStatsHelper.setPackageManager(mPackageManager); + } + + @Test + public void testShouldHideSipper_TypeUnAccounted_ReturnTrue() { + mNormalBatterySipper.drainType = BatterySipper.DrainType.UNACCOUNTED; + assertThat(mBatteryStatsHelper.shouldHideSipper(mNormalBatterySipper)).isTrue(); + } + + @Test + public void testShouldHideSipper_TypeOverAccounted_ReturnTrue() { + mNormalBatterySipper.drainType = BatterySipper.DrainType.OVERCOUNTED; + assertThat(mBatteryStatsHelper.shouldHideSipper(mNormalBatterySipper)).isTrue(); + } + + @Test + public void testShouldHideSipper_TypeIdle_ReturnTrue() { + mNormalBatterySipper.drainType = BatterySipper.DrainType.IDLE; + assertThat(mBatteryStatsHelper.shouldHideSipper(mNormalBatterySipper)).isTrue(); + } + + @Test + public void testShouldHideSipper_TypeCell_ReturnTrue() { + mNormalBatterySipper.drainType = BatterySipper.DrainType.CELL; + assertThat(mBatteryStatsHelper.shouldHideSipper(mNormalBatterySipper)).isTrue(); + } + + @Test + public void testShouldHideSipper_TypeScreen_ReturnTrue() { + mNormalBatterySipper.drainType = BatterySipper.DrainType.SCREEN; + assertThat(mBatteryStatsHelper.shouldHideSipper(mNormalBatterySipper)).isTrue(); + } + + @Test + public void testShouldHideSipper_TypeSystem_ReturnTrue() { + mNormalBatterySipper.drainType = BatterySipper.DrainType.APP; + when(mNormalBatterySipper.getUid()).thenReturn(Process.ROOT_UID); + assertThat(mBatteryStatsHelper.shouldHideSipper(mNormalBatterySipper)).isTrue(); + } + + @Test + public void testShouldHideSipper_UidNormal_ReturnFalse() { + mNormalBatterySipper.drainType = BatterySipper.DrainType.APP; + assertThat(mBatteryStatsHelper.shouldHideSipper(mNormalBatterySipper)).isFalse(); + } + + @Test + public void testRemoveHiddenBatterySippers_ContainsHiddenSippers_RemoveAndReturnValue() { + final List<BatterySipper> sippers = new ArrayList<>(); + sippers.add(mNormalBatterySipper); + sippers.add(mScreenBatterySipper); + sippers.add(mSystemBatterySipper); + sippers.add(mOvercountedBatterySipper); + sippers.add(mUnaccountedBatterySipper); + doReturn(true).when(mBatteryStatsHelper).isTypeSystem(mSystemBatterySipper); + doNothing().when(mBatteryStatsHelper).smearScreenBatterySipper(any(), any()); + + final double totalUsage = mBatteryStatsHelper.removeHiddenBatterySippers(sippers); + + assertThat(mNormalBatterySipper.shouldHide).isFalse(); + assertThat(mScreenBatterySipper.shouldHide).isTrue(); + assertThat(mSystemBatterySipper.shouldHide).isTrue(); + assertThat(mOvercountedBatterySipper.shouldHide).isTrue(); + assertThat(mUnaccountedBatterySipper.shouldHide).isTrue(); + assertThat(totalUsage).isWithin(PRECISION).of(BATTERY_SYSTEM_USAGE); + } + + @Test + public void testSmearScreenBatterySipper() { + final BatterySipper sipperNull = createTestSmearBatterySipper(TIME_FOREGROUND_ACTIVITY_ZERO, + BATTERY_APP_USAGE, 0 /* uid */, true /* isUidNull */); + final BatterySipper sipperBg = createTestSmearBatterySipper(TIME_FOREGROUND_ACTIVITY_ZERO, + BATTERY_APP_USAGE, 1 /* uid */, false /* isUidNull */); + final BatterySipper sipperFg = createTestSmearBatterySipper(TIME_FOREGROUND_ACTIVITY, + BATTERY_APP_USAGE, 2 /* uid */, false /* isUidNull */); + + final List<BatterySipper> sippers = new ArrayList<>(); + sippers.add(sipperNull); + sippers.add(sipperBg); + sippers.add(sipperFg); + + mBatteryStatsHelper.smearScreenBatterySipper(sippers, mScreenBatterySipper); + + assertThat(sipperNull.screenPowerMah).isWithin(PRECISION).of(0); + assertThat(sipperBg.screenPowerMah).isWithin(PRECISION).of(0); + assertThat(sipperFg.screenPowerMah).isWithin(PRECISION).of(BATTERY_SCREEN_USAGE); + } + + @Test + public void testIsTypeSystem_systemPackage_returnTrue() { + final String[] systemPackages = {"com.android.system"}; + mBatteryStatsHelper.setSystemPackageArray(systemPackages); + doReturn(UID).when(mNormalBatterySipper).getUid(); + doReturn(systemPackages).when(mPackageManager).getPackagesForUid(UID); + + assertThat(mBatteryStatsHelper.isTypeSystem(mNormalBatterySipper)).isTrue(); + } + + @Test + public void testIsTypeService_servicePackage_returnTrue() { + final String[] servicePackages = {"com.android.service"}; + mBatteryStatsHelper.setServicePackageArray(servicePackages); + doReturn(UID).when(mNormalBatterySipper).getUid(); + doReturn(servicePackages).when(mPackageManager).getPackagesForUid(UID); + + assertThat(mBatteryStatsHelper.isTypeService(mNormalBatterySipper)).isTrue(); + } + + private BatterySipper createTestSmearBatterySipper(long activityTime, double totalPowerMah, + int uidCode, boolean isUidNull) { + final BatterySipper sipper = mock(BatterySipper.class); + sipper.drainType = BatterySipper.DrainType.APP; + sipper.totalPowerMah = totalPowerMah; + doReturn(uidCode).when(sipper).getUid(); + if (!isUidNull) { + final BatteryStats.Uid uid = mock(BatteryStats.Uid.class, RETURNS_DEEP_STUBS); + doReturn(activityTime).when(mBatteryStatsHelper).getForegroundActivityTotalTimeMs( + eq(uid), anyLong()); + doReturn(uidCode).when(uid).getUid(); + sipper.uidObj = uid; + } + + return sipper; + } + + +} diff --git a/libs/androidfw/DisplayEventDispatcher.cpp b/libs/androidfw/DisplayEventDispatcher.cpp index b8ef9ea49293..7708e4340397 100644 --- a/libs/androidfw/DisplayEventDispatcher.cpp +++ b/libs/androidfw/DisplayEventDispatcher.cpp @@ -33,8 +33,9 @@ namespace android { // using just a few large reads. static const size_t EVENT_BUFFER_SIZE = 100; -DisplayEventDispatcher::DisplayEventDispatcher(const sp<Looper>& looper) : - mLooper(looper), mWaitingForVsync(false) { +DisplayEventDispatcher::DisplayEventDispatcher(const sp<Looper>& looper, + ISurfaceComposer::VsyncSource vsyncSource) : + mLooper(looper), mReceiver(vsyncSource), mWaitingForVsync(false) { ALOGV("dispatcher %p ~ Initializing display event dispatcher.", this); } diff --git a/libs/androidfw/include/androidfw/DisplayEventDispatcher.h b/libs/androidfw/include/androidfw/DisplayEventDispatcher.h index 3ade2156589a..e1dfb9490c60 100644 --- a/libs/androidfw/include/androidfw/DisplayEventDispatcher.h +++ b/libs/androidfw/include/androidfw/DisplayEventDispatcher.h @@ -22,7 +22,8 @@ namespace android { class DisplayEventDispatcher : public LooperCallback { public: - DisplayEventDispatcher(const sp<Looper>& looper); + DisplayEventDispatcher(const sp<Looper>& looper, + ISurfaceComposer::VsyncSource vsyncSource = ISurfaceComposer::eVsyncSourceApp); status_t initialize(); void dispose(); diff --git a/packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java b/packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java index 582b660a6e99..22f53eabb99b 100644 --- a/packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java +++ b/packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java @@ -46,6 +46,9 @@ import android.webkit.WebViewClient; import android.widget.ProgressBar; import android.widget.TextView; +import com.android.internal.logging.MetricsLogger; +import com.android.internal.logging.nano.MetricsProto.MetricsEvent; + import java.io.IOException; import java.net.HttpURLConnection; import java.net.MalformedURLException; @@ -62,7 +65,14 @@ public class CaptivePortalLoginActivity extends Activity { private static final int SOCKET_TIMEOUT_MS = 10000; - private enum Result { DISMISSED, UNWANTED, WANTED_AS_IS }; + private enum Result { + DISMISSED(MetricsEvent.ACTION_CAPTIVE_PORTAL_LOGIN_RESULT_DISMISSED), + UNWANTED(MetricsEvent.ACTION_CAPTIVE_PORTAL_LOGIN_RESULT_UNWANTED), + WANTED_AS_IS(MetricsEvent.ACTION_CAPTIVE_PORTAL_LOGIN_RESULT_WANTED_AS_IS); + + final int metricsEvent; + Result(int metricsEvent) { this.metricsEvent = metricsEvent; } + }; private URL mUrl; private String mUserAgent; @@ -76,6 +86,9 @@ public class CaptivePortalLoginActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + + logMetricsEvent(MetricsEvent.ACTION_CAPTIVE_PORTAL_LOGIN_ACTIVITY); + mCm = ConnectivityManager.from(this); mNetwork = getIntent().getParcelableExtra(ConnectivityManager.EXTRA_NETWORK); mCaptivePortal = getIntent().getParcelableExtra(ConnectivityManager.EXTRA_CAPTIVE_PORTAL); @@ -172,6 +185,7 @@ public class CaptivePortalLoginActivity extends Activity { mCm.unregisterNetworkCallback(mNetworkCallback); mNetworkCallback = null; } + logMetricsEvent(result.metricsEvent); switch (result) { case DISMISSED: mCaptivePortal.reportCaptivePortalDismissed(); @@ -380,6 +394,7 @@ public class CaptivePortalLoginActivity extends Activity { @Override public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { + logMetricsEvent(MetricsEvent.CAPTIVE_PORTAL_LOGIN_ACTIVITY_SSL_ERROR); Log.w(TAG, "SSL error (error: " + error.getPrimaryError() + " host: " + // Only show host to avoid leaking private info. Uri.parse(error.getUrl()).getHost() + " certificate: " + @@ -483,4 +498,8 @@ public class CaptivePortalLoginActivity extends Activity { } return url.getHost(); } + + private void logMetricsEvent(int event) { + MetricsLogger.action(this, event, getPackageName()); + } } diff --git a/packages/CarrierDefaultApp/res/values-af/strings.xml b/packages/CarrierDefaultApp/res/values-af/strings.xml index 8cff2faefe8a..51cb6c8466a5 100644 --- a/packages/CarrierDefaultApp/res/values-af/strings.xml +++ b/packages/CarrierDefaultApp/res/values-af/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Jou mobiele data is gedeaktiveer"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Tik om die %s-webwerf te besoek"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Kontak asseblief jou diensverskaffer %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Geen mobiele dataverbinding nie"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Voeg data of swerwingplan by deur %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Status van mobiele data"</string> <string name="action_bar_label" msgid="4290345990334377177">"Meld by mobiele netwerk aan"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Die netwerk waarby jy probeer aansluit, het sekuriteitkwessies."</string> diff --git a/packages/CarrierDefaultApp/res/values-am/strings.xml b/packages/CarrierDefaultApp/res/values-am/strings.xml index 8326b4c9b944..d5d50ac0c72e 100644 --- a/packages/CarrierDefaultApp/res/values-am/strings.xml +++ b/packages/CarrierDefaultApp/res/values-am/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"የእርስዎ የተንቀሳቃሽ ስልክ ውሂብ ቦዝኗል"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"የ%s ድር-ጣቢያን ለመጎብኘት መታ ያድርጉ"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"እባክዎ የአገልግሎት አቅራቢዎን %s ያነጋግሩ"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"ምንም የተንቀሳቃሽ ስልክ ውሂብ ግንኙነት የለም"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"በ%s በኩል ውሂብ ወይም ተንዣባቢ ዕቅድ ያክሉ"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"የተንቀሳቃሽ ስልክ ውሂብ ሁኔታ"</string> <string name="action_bar_label" msgid="4290345990334377177">"ወደ የተንቀሳቃሽ ስልክ አውታረ መረብ ይግቡ"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"ለመቀላቀል እየሞከሩ ያሉት አውታረ መረብ የደህንነት ችግሮች አሉበት።"</string> diff --git a/packages/CarrierDefaultApp/res/values-ar/strings.xml b/packages/CarrierDefaultApp/res/values-ar/strings.xml index 4257a3172d41..8db45608fe15 100644 --- a/packages/CarrierDefaultApp/res/values-ar/strings.xml +++ b/packages/CarrierDefaultApp/res/values-ar/strings.xml @@ -7,6 +7,10 @@ <string name="no_data_notification_id" msgid="668400731803969521">"تم إلغاء تنشيط بيانات الجوال"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"النقر للانتقال إلى موقع %s الإلكتروني"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"يُرجى الاتصال بمقدم الخدمة %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"لا يوجد اتصال بيانات الجوال"</string> + <!-- String.format failed for translation --> + <!-- no translation found for no_mobile_data_connection (544980465184147010) --> + <skip /> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"حالة بيانات الجوّال"</string> <string name="action_bar_label" msgid="4290345990334377177">"تسجيل الدخول إلى شبكة الجوّال"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"الشبكة التي تحاول الانضمام إليها بها مشكلات أمنية."</string> diff --git a/packages/CarrierDefaultApp/res/values-az/strings.xml b/packages/CarrierDefaultApp/res/values-az/strings.xml index 911bb77b783f..d1af3c99b04a 100644 --- a/packages/CarrierDefaultApp/res/values-az/strings.xml +++ b/packages/CarrierDefaultApp/res/values-az/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Mobil data deaktiv edilib"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"%s veb saytına daxil olmaq üçün klikləyin"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Xidmət provayderi ilə əlaqə saxlayın %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Mobil data bağlantısı yoxdur"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Data və ya rominq planını %s vasitəsilə əlavə edin"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Mobil data statusu"</string> <string name="action_bar_label" msgid="4290345990334377177">"Mobil şəbəkəyə daxil olun"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Qoşulmaq istədiyiniz şəbəkənin təhlükəsizlik problemləri var."</string> diff --git a/packages/CarrierDefaultApp/res/values-b+sr+Latn/strings.xml b/packages/CarrierDefaultApp/res/values-b+sr+Latn/strings.xml index 04926852f0e7..5d557900c40d 100644 --- a/packages/CarrierDefaultApp/res/values-b+sr+Latn/strings.xml +++ b/packages/CarrierDefaultApp/res/values-b+sr+Latn/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Mobilni podaci su deaktivirani"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Dodirnite da biste posetili veb-sajt %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Kontaktirajte dobavljača usluge %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Nema veze za prenos podataka preko mobilnog operatera"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Dodajte podatke ili paket za roming preko operatera %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Status mobilnih podataka"</string> <string name="action_bar_label" msgid="4290345990334377177">"Prijavite se na mobilnu mrežu"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Mreža kojoj pokušavate da se pridružite ima bezbednosnih problema."</string> diff --git a/packages/CarrierDefaultApp/res/values-be/strings.xml b/packages/CarrierDefaultApp/res/values-be/strings.xml index 12677f213b58..3ad85f2b37b5 100644 --- a/packages/CarrierDefaultApp/res/values-be/strings.xml +++ b/packages/CarrierDefaultApp/res/values-be/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Перадача мабільных даных была дэактывавана"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Дакраніцеся, каб наведаць вэб-сайт %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Звярніцеся да свайго пастаўшчыка паслуг %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Няма падключэння мабільнай перадачы даных"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Дадаць тарыфны план або план для роўмінгу праз %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Статус мабільнага трафіка"</string> <string name="action_bar_label" msgid="4290345990334377177">"Увайсці ў мабільную сетку"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"У сеткі, да якой вы спрабуеце далучыцца, ёсць праблемы з бяспекай."</string> diff --git a/packages/CarrierDefaultApp/res/values-bg/strings.xml b/packages/CarrierDefaultApp/res/values-bg/strings.xml index 5f6f818b55bb..f5308f0541f8 100644 --- a/packages/CarrierDefaultApp/res/values-bg/strings.xml +++ b/packages/CarrierDefaultApp/res/values-bg/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Мобилните ви данни са деактивирани"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Докоснете, за да посетите уебсайта на %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Моля, свържете се с доставчика си на услуги %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Няма мобилна връзка за данни"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Добавете план за пренос на данни или за роуминг чрез %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Състояние на мобилните данни"</string> <string name="action_bar_label" msgid="4290345990334377177">"Вход в мобилна мрежа"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Мрежата, към която опитвате да се присъедините, има проблеми със сигурността."</string> diff --git a/packages/CarrierDefaultApp/res/values-bn/strings.xml b/packages/CarrierDefaultApp/res/values-bn/strings.xml index 5d6f07793d35..9a0f68c28b36 100644 --- a/packages/CarrierDefaultApp/res/values-bn/strings.xml +++ b/packages/CarrierDefaultApp/res/values-bn/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"আপনার মোবাইল ডেটা নিষ্ক্রিয় করা হয়েছে"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"%s এর ওয়েবসাইটটি দেখার জন্য ট্যাপ করুন"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"অনুগ্রহ করে আপনার পরিষেবা প্রদানকারী %s এর সাথে যোগাযোগ করুন"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"কোনও মোবাইল ডেটা সংযোগ নেই"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"%s এর মাধ্যমে ডেটা অথবা রোমিং পরিকল্পনা যোগ করুন"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"মোবাইল ডেটার স্ট্যাটাস"</string> <string name="action_bar_label" msgid="4290345990334377177">"মোবাইল নেটওয়ার্কে প্রবেশ করুন"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"আপনি যে নেটওয়ার্কে যোগ দেওয়ার চেষ্টা করছেন সেটিতে নিরাপত্তাজনিত সমস্যা আছে।"</string> diff --git a/packages/CarrierDefaultApp/res/values-bs/strings.xml b/packages/CarrierDefaultApp/res/values-bs/strings.xml index 110924f6b5cc..7edbb119f67c 100644 --- a/packages/CarrierDefaultApp/res/values-bs/strings.xml +++ b/packages/CarrierDefaultApp/res/values-bs/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Prijenos mobilnih podataka je deaktiviran"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Dodirnite da posjetite %s web lokaciju"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Obratite se pružaocu usluga %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Nema mobilnog prijenosa podataka"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Dodajte plan prijenosa podataka ili rominga putem operatera %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Status mobilnih podataka"</string> <string name="action_bar_label" msgid="4290345990334377177">"Prijava na mobilnu mrežu"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Mreža kojoj pokušavate pristupiti ima sigurnosnih problema."</string> diff --git a/packages/CarrierDefaultApp/res/values-ca/strings.xml b/packages/CarrierDefaultApp/res/values-ca/strings.xml index 4f1245c6e62c..c1ddbd39c15c 100644 --- a/packages/CarrierDefaultApp/res/values-ca/strings.xml +++ b/packages/CarrierDefaultApp/res/values-ca/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"S\'han desactivat les dades mòbils"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Toca per visitar el lloc web de: %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Contacta amb el teu proveïdor de serveis: %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"No hi ha connexió de dades mòbils"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Afegeix un pla de dades o d\'itinerància amb %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Estat de les dades mòbils"</string> <string name="action_bar_label" msgid="4290345990334377177">"Inicia la sessió a la xarxa de telefonia mòbil"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"La xarxa a què et vols connectar té problemes de seguretat."</string> diff --git a/packages/CarrierDefaultApp/res/values-cs/strings.xml b/packages/CarrierDefaultApp/res/values-cs/strings.xml index a3ad316bde87..54318362b524 100644 --- a/packages/CarrierDefaultApp/res/values-cs/strings.xml +++ b/packages/CarrierDefaultApp/res/values-cs/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Mobilní data byla deaktivována"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Klepnutím přejdete na web %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Kontaktujte poskytovatele služeb %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Žádné připojení přes mobilní data"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Přidejte data nebo tarif roamingu prostřednictvím aplikace %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Stav mobilních dat"</string> <string name="action_bar_label" msgid="4290345990334377177">"Přihlásit se k mobilní síti"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Síť, ke které se pokoušíte připojit, má bezpečnostní problémy."</string> diff --git a/packages/CarrierDefaultApp/res/values-da/strings.xml b/packages/CarrierDefaultApp/res/values-da/strings.xml index 8d831d5ee7d5..b21211706fad 100644 --- a/packages/CarrierDefaultApp/res/values-da/strings.xml +++ b/packages/CarrierDefaultApp/res/values-da/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Mobildata er blevet deaktiveret"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Tryk for at besøge websitet for %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Kontakt din tjenesteudbyder %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Der er ingen mobildataforbindelse"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Tilføj data- eller roamingabonnement via %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Status for mobildata"</string> <string name="action_bar_label" msgid="4290345990334377177">"Log ind på mobilnetværk"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Der er sikkerhedsproblemer på det netværk, du forsøger at logge ind på."</string> diff --git a/packages/CarrierDefaultApp/res/values-de/strings.xml b/packages/CarrierDefaultApp/res/values-de/strings.xml index 8b8ca3f7667d..927b8f057051 100644 --- a/packages/CarrierDefaultApp/res/values-de/strings.xml +++ b/packages/CarrierDefaultApp/res/values-de/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Deine mobilen Daten wurden deaktiviert"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Tippe, um die Website \"%s\" zu besuchen"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Bitte wende dich an deinen Internetanbieter %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Keine mobile Datenverbindung"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Daten- oder Roaming-Tarif über %s hinzufügen"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Status der mobilen Datennutzung"</string> <string name="action_bar_label" msgid="4290345990334377177">"Bei Mobilfunknetz anmelden"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Im Netzwerk, zu dem du eine Verbindung herstellen möchtest, liegen Sicherheitsprobleme vor."</string> diff --git a/packages/CarrierDefaultApp/res/values-el/strings.xml b/packages/CarrierDefaultApp/res/values-el/strings.xml index 064941e557b8..a13f634eaf9e 100644 --- a/packages/CarrierDefaultApp/res/values-el/strings.xml +++ b/packages/CarrierDefaultApp/res/values-el/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Τα δεδομένα κινητής τηλεφωνίας έχουν απενεργοποιηθεί"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Πατήστε για να επισκεφτείτε τον ιστότοπο %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Επικοινωνήστε με τον παροχέα υπηρεσιών σας %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Δεν υπάρχει σύνδεση δεδομένων κινητής τηλεφωνίας"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Προσθήκη δεδομένων ή προγράμματος περιαγωγής μέσω του %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Κατάσταση δεδομένων κινητής τηλεφωνίας"</string> <string name="action_bar_label" msgid="4290345990334377177">"Σύνδεση σε δίκτυο κινητής τηλεφωνίας"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Παρουσιάζονται προβλήματα ασφάλειας στο δίκτυο στο οποίο προσπαθείτε να συνδεθείτε."</string> diff --git a/packages/CarrierDefaultApp/res/values-en-rAU/strings.xml b/packages/CarrierDefaultApp/res/values-en-rAU/strings.xml index 666c67590908..a925a30f3fc8 100644 --- a/packages/CarrierDefaultApp/res/values-en-rAU/strings.xml +++ b/packages/CarrierDefaultApp/res/values-en-rAU/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Your mobile data has been deactivated"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Tap to visit the %s website"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Please contact your service provider %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"No mobile data connection"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Add data or roaming plan through %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Mobile data status"</string> <string name="action_bar_label" msgid="4290345990334377177">"Sign in to mobile network"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"The network that you’re trying to join has security issues."</string> diff --git a/packages/CarrierDefaultApp/res/values-en-rGB/strings.xml b/packages/CarrierDefaultApp/res/values-en-rGB/strings.xml index 666c67590908..a925a30f3fc8 100644 --- a/packages/CarrierDefaultApp/res/values-en-rGB/strings.xml +++ b/packages/CarrierDefaultApp/res/values-en-rGB/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Your mobile data has been deactivated"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Tap to visit the %s website"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Please contact your service provider %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"No mobile data connection"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Add data or roaming plan through %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Mobile data status"</string> <string name="action_bar_label" msgid="4290345990334377177">"Sign in to mobile network"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"The network that you’re trying to join has security issues."</string> diff --git a/packages/CarrierDefaultApp/res/values-en-rIN/strings.xml b/packages/CarrierDefaultApp/res/values-en-rIN/strings.xml index 666c67590908..a925a30f3fc8 100644 --- a/packages/CarrierDefaultApp/res/values-en-rIN/strings.xml +++ b/packages/CarrierDefaultApp/res/values-en-rIN/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Your mobile data has been deactivated"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Tap to visit the %s website"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Please contact your service provider %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"No mobile data connection"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Add data or roaming plan through %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Mobile data status"</string> <string name="action_bar_label" msgid="4290345990334377177">"Sign in to mobile network"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"The network that you’re trying to join has security issues."</string> diff --git a/packages/CarrierDefaultApp/res/values-es-rUS/strings.xml b/packages/CarrierDefaultApp/res/values-es-rUS/strings.xml index 041421c9d46a..0455603648c3 100644 --- a/packages/CarrierDefaultApp/res/values-es-rUS/strings.xml +++ b/packages/CarrierDefaultApp/res/values-es-rUS/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Se desactivaron los datos móviles"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Presiona para visitar el sitio web de %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Comunícate con tu proveedor de servicios %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"No hay conexión de datos móviles"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Agregar plan de roaming o datos mediante %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Estado de datos móviles"</string> <string name="action_bar_label" msgid="4290345990334377177">"Acceder a una red móvil"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"La red a la que intentas conectarte tiene problemas de seguridad."</string> diff --git a/packages/CarrierDefaultApp/res/values-es/strings.xml b/packages/CarrierDefaultApp/res/values-es/strings.xml index 7a0623f9bcc9..b5d038cf9292 100644 --- a/packages/CarrierDefaultApp/res/values-es/strings.xml +++ b/packages/CarrierDefaultApp/res/values-es/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Se han desactivado los datos móviles"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Toca para acceder al sitio web de %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Ponte en contacto con tu proveedor de servicios (%s)"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Sin conexión de datos móviles"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Añade un plan de datos o de itinerancia a través de %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Estado de la conexión de datos móviles"</string> <string name="action_bar_label" msgid="4290345990334377177">"Iniciar sesión en una red móvil"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"La red a la que intentas unirte tiene problemas de seguridad."</string> diff --git a/packages/CarrierDefaultApp/res/values-et/strings.xml b/packages/CarrierDefaultApp/res/values-et/strings.xml index 1404c86922f3..28cc9a93e935 100644 --- a/packages/CarrierDefaultApp/res/values-et/strings.xml +++ b/packages/CarrierDefaultApp/res/values-et/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Teie mobiilne andmeside on inaktiveeritud"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Puudutage teenuse %s veebisaidi külastamiseks"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Võtke ühendust teenusepakkujaga %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Mobiilne andmesideühendus puudub"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Lisage andmed või rändluspakett teenuse %s kaudu"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Mobiilse andmeside olek"</string> <string name="action_bar_label" msgid="4290345990334377177">"Logi mobiilsidevõrku sisse"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Võrgul, millega üritate ühenduse luua, on turvaprobleeme."</string> diff --git a/packages/CarrierDefaultApp/res/values-eu/strings.xml b/packages/CarrierDefaultApp/res/values-eu/strings.xml index 63005ca55ade..abd069689591 100644 --- a/packages/CarrierDefaultApp/res/values-eu/strings.xml +++ b/packages/CarrierDefaultApp/res/values-eu/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Desaktibatu da datu-konexioa"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Sakatu hau %s gunera joateko"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Jarri harremanetan %s operadorearekin"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Ez dago datu-konexiorik"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Gehitu datuak eta ibiltaritza-plana %s bidez"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Datu mugikorren egoera"</string> <string name="action_bar_label" msgid="4290345990334377177">"Hasi saioa sare mugikorrean"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Erabili nahi duzun sareak segurtasun-arazoak ditu."</string> diff --git a/packages/CarrierDefaultApp/res/values-fa/strings.xml b/packages/CarrierDefaultApp/res/values-fa/strings.xml index e15fa35a5db8..70ad8372ff3e 100644 --- a/packages/CarrierDefaultApp/res/values-fa/strings.xml +++ b/packages/CarrierDefaultApp/res/values-fa/strings.xml @@ -9,6 +9,8 @@ <!-- String.format failed for translation --> <!-- no translation found for no_data_notification_detail (3112125343857014825) --> <skip /> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"بدون اتصال داده دستگاه همراه"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"افزودن طرح داده یا رومینگ ازطریق %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"وضعیت داده تلفن همراه"</string> <string name="action_bar_label" msgid="4290345990334377177">"ورود به سیستم شبکه تلفن همراه"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"شبکهای که میخواهید به آن بپیوندید مشکلات امنیتی دارد."</string> diff --git a/packages/CarrierDefaultApp/res/values-fi/strings.xml b/packages/CarrierDefaultApp/res/values-fi/strings.xml index ddf3a14a624d..d416c1d4d336 100644 --- a/packages/CarrierDefaultApp/res/values-fi/strings.xml +++ b/packages/CarrierDefaultApp/res/values-fi/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Mobiilidata poistettu käytöstä"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Siirry sivustolle %s napauttamalla."</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Ota yhteyttä palveluntarjoajaan %s."</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Ei mobiiliyhteyttä"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Lisää mobiilidata- tai roamingpaketti operaattoriisi %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Mobiilidatan tila"</string> <string name="action_bar_label" msgid="4290345990334377177">"Kirjaudu mobiiliverkkoon"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Verkossa, johon yrität muodostaa yhteyttä, havaittiin turvallisuusongelmia."</string> diff --git a/packages/CarrierDefaultApp/res/values-fr-rCA/strings.xml b/packages/CarrierDefaultApp/res/values-fr-rCA/strings.xml index 3e4802a4cf41..1b8c2623afc7 100644 --- a/packages/CarrierDefaultApp/res/values-fr-rCA/strings.xml +++ b/packages/CarrierDefaultApp/res/values-fr-rCA/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Les données cellulaires ont été désactivées pour votre compte"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Touchez ici pour visiter le site Web de %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Veuillez communiquer avec votre fournisseur de services %s."</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Aucune connexion de données cellulaires"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Ajouter un forfait de données ou d\'itinérance auprès de %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"État des données cellulaires"</string> <string name="action_bar_label" msgid="4290345990334377177">"Connexion au réseau cellulaire"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Le réseau que vous essayez de joindre présente des problèmes de sécurité."</string> diff --git a/packages/CarrierDefaultApp/res/values-fr/strings.xml b/packages/CarrierDefaultApp/res/values-fr/strings.xml index 804c400afed3..3ae95703a5e0 100644 --- a/packages/CarrierDefaultApp/res/values-fr/strings.xml +++ b/packages/CarrierDefaultApp/res/values-fr/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Les données mobiles ont été désactivées pour votre compte"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Appuyez ici pour consulter le site Web suivant : %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Veuillez contacter votre fournisseur de services, %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Aucune connexion de données mobiles"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Ajouter un forfait Internet national ou international via %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"État des données mobiles"</string> <string name="action_bar_label" msgid="4290345990334377177">"Se connecter au réseau mobile"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Le réseau auquel vous essayez de vous connecter présente des problèmes de sécurité."</string> diff --git a/packages/CarrierDefaultApp/res/values-gl/strings.xml b/packages/CarrierDefaultApp/res/values-gl/strings.xml index 91c3073dc549..4f199cab90fd 100644 --- a/packages/CarrierDefaultApp/res/values-gl/strings.xml +++ b/packages/CarrierDefaultApp/res/values-gl/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Desactiváronse os datos móbiles"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Toca para acceder ao sitio web de %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Ponte en contacto co teu fornecedor de servizo %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Non hai conexión de datos móbiles"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Engadir plan de datos ou itinerancia a través de %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Estado dos datos móbiles"</string> <string name="action_bar_label" msgid="4290345990334377177">"Iniciar sesión na rede de telefonía móbil"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"A rede á que tentas unirte ten problemas de seguranza."</string> diff --git a/packages/CarrierDefaultApp/res/values-gu/strings.xml b/packages/CarrierDefaultApp/res/values-gu/strings.xml index 9f68aa49492c..57710d0393d2 100644 --- a/packages/CarrierDefaultApp/res/values-gu/strings.xml +++ b/packages/CarrierDefaultApp/res/values-gu/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"તમારો મોબાઇલ ડેટા નિષ્ક્રિય કરવામાં આવ્યો છે"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"%s વેબસાઇટની મુલાકાત લેવા માટે ટૅપ કરો"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"કૃપા કરીને તમારા સેવા પ્રદાતા %sનો સંપર્ક કરો"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"કોઈ મોબાઇલ ડેટા કનેક્શન નથી"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"%s મારફતે ડેટા અથવા રોમિંગ પ્લાન ઉમેરો"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"મોબાઇલ ડેટાની સ્થિતિ"</string> <string name="action_bar_label" msgid="4290345990334377177">"મોબાઇલ નેટવર્કમાં સાઇન ઇન કરો"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"તમે જોડાવાનો પ્રયાસ કરી રહ્યા છો તે નેટવર્કમાં સુરક્ષા સંબંધી સમસ્યાઓ છે."</string> diff --git a/packages/CarrierDefaultApp/res/values-hi/strings.xml b/packages/CarrierDefaultApp/res/values-hi/strings.xml index 0ca7980d9417..b49022b6f481 100644 --- a/packages/CarrierDefaultApp/res/values-hi/strings.xml +++ b/packages/CarrierDefaultApp/res/values-hi/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"आपका मोबाइल डेटा निष्क्रिय कर दिया गया है"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"%s वेबसाइट पर जाने के लिए टैप करें"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"कृपया अपने सेवा प्रदाता %s से संपर्क करें"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"कोई भी मोबाइल डेटा कनेक्शन नहीं है"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"%s के ज़रिए डेटा या रोमिंग योजना जोड़ें"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"मोबाइल डेटा की स्थिति"</string> <string name="action_bar_label" msgid="4290345990334377177">"मोबाइल नेटवर्क में प्रवेश करें"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"आप जिस नेटवर्क में शामिल होने की कोशिश कर रहे हैं उसमें सुरक्षा से जुड़ी समस्याएं हैं."</string> diff --git a/packages/CarrierDefaultApp/res/values-hr/strings.xml b/packages/CarrierDefaultApp/res/values-hr/strings.xml index 0f91cda4077f..66531a7682e2 100644 --- a/packages/CarrierDefaultApp/res/values-hr/strings.xml +++ b/packages/CarrierDefaultApp/res/values-hr/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Mobilni su podaci deaktivirani"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Dodirnite da biste posjetili web-lokaciju tvrtke %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Obratite se svojem davatelju usluga %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Nema podatkovne veza mobilnog uređaja"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Dodajte podatkovni ili roaming paket putem usluge %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Status mobilnih podataka"</string> <string name="action_bar_label" msgid="4290345990334377177">"Prijava na mobilnu mrežu"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Mreža kojoj se pokušavate pridružiti ima sigurnosne poteškoće."</string> diff --git a/packages/CarrierDefaultApp/res/values-hu/strings.xml b/packages/CarrierDefaultApp/res/values-hu/strings.xml index 0afaefff9a81..4ae6ea67bb06 100644 --- a/packages/CarrierDefaultApp/res/values-hu/strings.xml +++ b/packages/CarrierDefaultApp/res/values-hu/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"A rendszer deaktiválta a mobiladat-forgalmat"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Koppintson a(z) %s webhely meglátogatásához"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Vegye fel a kapcsolatot szolgáltatójával (%s)"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Nincs mobiladat-kapcsolat"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Adjon hozzá előfizetést vagy barangolási csomagot a következőn keresztül: %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Mobiladat-állapot"</string> <string name="action_bar_label" msgid="4290345990334377177">"Bejelentkezés a mobilhálózatra"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Biztonsági problémák vannak azzal a hálózattal, amelyhez csatlakozni szeretne."</string> diff --git a/packages/CarrierDefaultApp/res/values-hy/strings.xml b/packages/CarrierDefaultApp/res/values-hy/strings.xml index d88e0df4f5f2..99398bc8f065 100644 --- a/packages/CarrierDefaultApp/res/values-hy/strings.xml +++ b/packages/CarrierDefaultApp/res/values-hy/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Ձեր բջջային ինտերնետն ապակտիվացված է"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Հպեք՝ %s կայք այցելելու համար"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Դիմեք ձեր ծառայություններ մատուցողին %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Բջջային տվյալների կապ չկա"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Ավելացնել տվյալներ ռոումինգի սակագնային փաթեթին %s միջոցով"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Բջջային ինտերնետի կարգավիճակը"</string> <string name="action_bar_label" msgid="4290345990334377177">"Մուտք գործել բջջային ցանց"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Ցանցը, որին փորձում եք միանալ, անվտանգության խնդիրներ ունի:"</string> diff --git a/packages/CarrierDefaultApp/res/values-in/strings.xml b/packages/CarrierDefaultApp/res/values-in/strings.xml index 915933b77320..01a9c6041ed5 100644 --- a/packages/CarrierDefaultApp/res/values-in/strings.xml +++ b/packages/CarrierDefaultApp/res/values-in/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Data seluler telah dinonaktifkan"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Tap untuk membuka situs web %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Hubungi penyedia layanan %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Tidak ada sambungan data seluler"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Tambahkan paket data atau roaming melalui %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Status data seluler"</string> <string name="action_bar_label" msgid="4290345990334377177">"Login ke jaringan seluler"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Jaringan yang ingin Anda masuki memiliki masalah keamanan."</string> diff --git a/packages/CarrierDefaultApp/res/values-is/strings.xml b/packages/CarrierDefaultApp/res/values-is/strings.xml index 8a74446fe897..cdba5bea0add 100644 --- a/packages/CarrierDefaultApp/res/values-is/strings.xml +++ b/packages/CarrierDefaultApp/res/values-is/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Slökkt hefur verið á farsímagögnum"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Ýttu til að fara á vefsvæði %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Hafðu samband við þjónustuaðilann %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Engin farsímagagnatenging"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Bættu við gagna- eða reikiáskrift hjá %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Staða farsímagagna"</string> <string name="action_bar_label" msgid="4290345990334377177">"Skrá inn á farsímakerfi"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Öryggisvandamál eru á netinu sem þú ert að reyna að tengjast."</string> diff --git a/packages/CarrierDefaultApp/res/values-it/strings.xml b/packages/CarrierDefaultApp/res/values-it/strings.xml index a6e004f913a8..a62ae868a42e 100644 --- a/packages/CarrierDefaultApp/res/values-it/strings.xml +++ b/packages/CarrierDefaultApp/res/values-it/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"I dati mobili sono stati disattivati"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Tocca per visitare il sito web %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Contatta il tuo operatore telefonico %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Nessuna connessione dati mobili"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Aggiungi un piano dati o roaming tramite %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Stato dati mobili"</string> <string name="action_bar_label" msgid="4290345990334377177">"Accedi alla rete mobile"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"La rete a cui stai tentando di accedere presenta problemi di sicurezza."</string> diff --git a/packages/CarrierDefaultApp/res/values-iw/strings.xml b/packages/CarrierDefaultApp/res/values-iw/strings.xml index ca42d33b80b0..550936c6460a 100644 --- a/packages/CarrierDefaultApp/res/values-iw/strings.xml +++ b/packages/CarrierDefaultApp/res/values-iw/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"חבילת הגלישה שלך הושבתה"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"הקש כדי לעבור לאתר של %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"פנה לספק השירות %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"אין חיבור לחבילת גלישה"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"אפשר להוסיף חבילת גלישה או חבילת נדידה באמצעות %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"סטטוס חבילת הגלישה"</string> <string name="action_bar_label" msgid="4290345990334377177">"היכנס לרשת סלולרית"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"יש בעיות אבטחה ברשת שאליה אתה מנסה להתחבר."</string> diff --git a/packages/CarrierDefaultApp/res/values-ja/strings.xml b/packages/CarrierDefaultApp/res/values-ja/strings.xml index 8e046cbafac6..e5977aebce63 100644 --- a/packages/CarrierDefaultApp/res/values-ja/strings.xml +++ b/packages/CarrierDefaultApp/res/values-ja/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"モバイルデータが無効になっています"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"タップして %s のウェブサイトにアクセス"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"ご利用のサービス プロバイダ %s にお問い合わせください"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"モバイルデータ接続を利用できません"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"%s からデータプランまたはローミング プランを追加してください"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"モバイルデータのステータス"</string> <string name="action_bar_label" msgid="4290345990334377177">"モバイル ネットワークにログイン"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"接続しようとしているネットワークにセキュリティの問題があります。"</string> diff --git a/packages/CarrierDefaultApp/res/values-ka/strings.xml b/packages/CarrierDefaultApp/res/values-ka/strings.xml index 68c4490a0d96..91ae46d912eb 100644 --- a/packages/CarrierDefaultApp/res/values-ka/strings.xml +++ b/packages/CarrierDefaultApp/res/values-ka/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"მობილური ინტერნეტი დეაქტივირებულია"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"შეეხეთ, რათა ეწვიოთ ვებსაიტს: %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"გთხოვთ, დაუკავშირდეთ სერვისის პროვაიდერს (%s)"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"მობილური ინტერნეტის კავშირი არ არის"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"დაამატეთ მობილური ინტერნეტის ან როუმინგის პაკეტი %s-ის მეშვეობით"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"მობილური ინტერნეტის სტატუსი"</string> <string name="action_bar_label" msgid="4290345990334377177">"მობილურ ქსელში შესვლა"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"ქსელს, რომელთან დაკავშრებასაც ცდილობთ, უსაფრთხოების პრობლემები აქვს."</string> diff --git a/packages/CarrierDefaultApp/res/values-kk/strings.xml b/packages/CarrierDefaultApp/res/values-kk/strings.xml index 77555aa64b85..0fb57bcdcf2a 100644 --- a/packages/CarrierDefaultApp/res/values-kk/strings.xml +++ b/packages/CarrierDefaultApp/res/values-kk/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Мобильдік деректер өшірілді"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"%s вебсайтына кіру үшін түртіңіз"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Қызмет көрсетушіге (%s) хабарласыңыз"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Мобильдік деректер байланысы жоқ"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"%s арқылы деректер не роуминг жоспарын енгізу"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Мобильді деректер күйі"</string> <string name="action_bar_label" msgid="4290345990334377177">"Мобильдік желіге тіркелу"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Қосылайын деп жатқан желіңізде қауіпсіздік мәселелері бар."</string> diff --git a/packages/CarrierDefaultApp/res/values-km/strings.xml b/packages/CarrierDefaultApp/res/values-km/strings.xml index 30984cd0ac19..6ef106646103 100644 --- a/packages/CarrierDefaultApp/res/values-km/strings.xml +++ b/packages/CarrierDefaultApp/res/values-km/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"ទិន្នន័យចល័តរបស់អ្នកត្រូវបានបិទដំណើរការហើយ"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"ចុចដើម្បីចូលទៅកាន់គេហទំព័រ %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"សូមទាក់ទងទៅក្រុមហ៊ុនផ្តល់សេវារបស់អ្នក %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"មិនមានការតភ្ជាប់ទិន្នន័យចល័តទេ"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"បញ្ចូលគម្រោងទិន្នន័យ ឬរ៉ូមីងតាមរយៈ %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"ស្ថានភាពទិន្នន័យទូរសព្ទចល័ត"</string> <string name="action_bar_label" msgid="4290345990334377177">"ចូលទៅបណ្តាញទូរសព្ទចល័ត"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"បណ្តាញដែលអ្នកកំពុងព្យាយាមចូលមានបញ្ហាសុវត្ថិភាព។"</string> diff --git a/packages/CarrierDefaultApp/res/values-kn/strings.xml b/packages/CarrierDefaultApp/res/values-kn/strings.xml index ad83f3860064..73d0764cdf96 100644 --- a/packages/CarrierDefaultApp/res/values-kn/strings.xml +++ b/packages/CarrierDefaultApp/res/values-kn/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"ನಿಮ್ಮ ಮೊಬೈಲ್ ಡೇಟಾ ನಿಷ್ಕ್ರಿಯಗೊಂಡಿದೆ"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"%s ವೆಬ್ಸೈಟ್ಗೆ ಭೇಟಿ ನೀಡಲು ಟ್ಯಾಪ್ ಮಾಡಿ"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"ನಿಮಗೆ ಸೇವೆ ಒದಗಿಸುವವರನ್ನು ದಯವಿಟ್ಟು ಸಂಪರ್ಕಿಸಿ %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"ಮೊಬೈಲ್ ಡೇಟಾ ಸಂಪರ್ಕವಿಲ್ಲ"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"%s ಮೂಲಕ ಡೇಟಾ ಅಥವಾ ರೋಮಿಂಗ್ ಪ್ಲ್ಯಾನ್ ಸೇರಿಸಿ"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"ಮೊಬೈಲ್ ಡೇಟಾ ಸ್ಥಿತಿ"</string> <string name="action_bar_label" msgid="4290345990334377177">"ಮೊಬೈಲ್ ನೆಟ್ವರ್ಕ್ಗೆ ಸೈನ್ ಇನ್ ಮಾಡಿ"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"ನೀವು ಸೇರಬೇಕೆಂದಿರುವ ನೆಟ್ವರ್ಕ್, ಭದ್ರತೆ ಸಮಸ್ಯೆಗಳನ್ನು ಹೊಂದಿದೆ."</string> diff --git a/packages/CarrierDefaultApp/res/values-ko/strings.xml b/packages/CarrierDefaultApp/res/values-ko/strings.xml index a620e1c46799..d6b3d613e3d3 100644 --- a/packages/CarrierDefaultApp/res/values-ko/strings.xml +++ b/packages/CarrierDefaultApp/res/values-ko/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"모바일 데이터가 비활성화되었습니다."</string> <string name="portal_notification_detail" msgid="2295729385924660881">"%s 웹사이트를 방문하려면 탭하세요."</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"서비스 제공업체 %s에 문의하세요."</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"모바일 데이터 연결 없음"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"%s을(를) 통해 데이터 또는 로밍 요금제 추가"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"모바일 데이터 상태"</string> <string name="action_bar_label" msgid="4290345990334377177">"모바일 네트워크에 로그인"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"가입하려는 네트워크에 보안 문제가 있습니다."</string> diff --git a/packages/CarrierDefaultApp/res/values-ky/strings.xml b/packages/CarrierDefaultApp/res/values-ky/strings.xml index 9e32f21d19b4..066e8f6bcbaf 100644 --- a/packages/CarrierDefaultApp/res/values-ky/strings.xml +++ b/packages/CarrierDefaultApp/res/values-ky/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Мобилдик Интернет өчүрүлгөн"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"%s сайтына баш багуу үчүн басыңыз"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"%s Интернет провайдери менен байланышыңыз"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Мобилдик Интернет жок"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"%s аркылуу дайындарды же роуминг планын кошуу"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Мобилдик Интернеттин абалы"</string> <string name="action_bar_label" msgid="4290345990334377177">"Мобилдик тармакка кирүү"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Кошулайын деген тармагыңызда коопсуздук көйгөйлөрү бар."</string> diff --git a/packages/CarrierDefaultApp/res/values-lo/strings.xml b/packages/CarrierDefaultApp/res/values-lo/strings.xml index 47a8d05e5287..4a21d7c7493c 100644 --- a/packages/CarrierDefaultApp/res/values-lo/strings.xml +++ b/packages/CarrierDefaultApp/res/values-lo/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"ປິດການນຳໃຊ້ອິນເຕີເນັດມືຖືຂອງທ່ານແລ້ວ"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"ແຕະເພື່ອເຂົ້າເບິ່ງເວັບໄຊ %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"ກະລຸນາຕິດຕໍ່ຜູ້ໃຫ້ບໍລິການຂອງທ່ານ %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"ບໍ່ມີອິນເຕີເນັດມືຖື"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"ເພີ່ມແພັກເກດອິນເຕີເນັດ ຫຼື ແພັກເກດໂຣມມິງຜ່ານ %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"ສະຖານະຂໍ້ມູນມືຖື"</string> <string name="action_bar_label" msgid="4290345990334377177">"ເຂົ້າສູ່ລະບົບເຄືອຂ່າຍມືຖື"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"ເຄືອຂ່າຍທີ່ທ່ານກຳລັງເຂົ້າຮ່ວມມີບັນຫາຄວາມປອດໄພ."</string> diff --git a/packages/CarrierDefaultApp/res/values-lt/strings.xml b/packages/CarrierDefaultApp/res/values-lt/strings.xml index 173a29744af8..be452b79fd71 100644 --- a/packages/CarrierDefaultApp/res/values-lt/strings.xml +++ b/packages/CarrierDefaultApp/res/values-lt/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Mobiliojo ryšio duomenys išaktyvinti"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Palieskite ir apsilankykite svetainėje %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Susisiekite su paslaugos teikėju „%s“"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Nėra mobiliojo duomenų ryšio"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Pridėkite duomenų ar tarptinklinio ryšio planą naudodami „%s“"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Mobiliojo ryšio duomenų būsena"</string> <string name="action_bar_label" msgid="4290345990334377177">"Prisijungti prie mobiliojo ryšio tinklo"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Kilo tinklo, prie kurio bandote prisijungti, saugos problemų."</string> diff --git a/packages/CarrierDefaultApp/res/values-lv/strings.xml b/packages/CarrierDefaultApp/res/values-lv/strings.xml index aadb5bc5f9e6..80a9b5872aad 100644 --- a/packages/CarrierDefaultApp/res/values-lv/strings.xml +++ b/packages/CarrierDefaultApp/res/values-lv/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Jūsu mobilie dati ir deaktivizēti"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Pieskarieties, lai apmeklētu %s vietni"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Lūdzu, sazinieties ar pakalpojuma sniedzēju %s."</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Nav mobilo datu savienojuma"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Pievienojiet datus vai viesabonēšanas plānu, izmantojot %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Mobilo datu statuss"</string> <string name="action_bar_label" msgid="4290345990334377177">"Pierakstīties mobilajā tīklā"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Tīklā, kuram mēģināt pievienoties, ir drošības problēmas."</string> diff --git a/packages/CarrierDefaultApp/res/values-mk/strings.xml b/packages/CarrierDefaultApp/res/values-mk/strings.xml index 5cb283792b45..96b222c318e2 100644 --- a/packages/CarrierDefaultApp/res/values-mk/strings.xml +++ b/packages/CarrierDefaultApp/res/values-mk/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Мобилниот интернет ви е деактивиран"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Допрете за да го посетите веб-сајтот на %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Контактирајте со давателот на услуги %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Нема врска со мобилен интернет"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Додајте пакет за интернет или роаминг преку %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Статус на мобилна мрежа"</string> <string name="action_bar_label" msgid="4290345990334377177">"Најавете се на мобилна мрежа"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Мрежата на која се обидувате да се придружите има проблеми со безбедноста."</string> diff --git a/packages/CarrierDefaultApp/res/values-ml/strings.xml b/packages/CarrierDefaultApp/res/values-ml/strings.xml index 22f5fc42beb1..ae08adea09a1 100644 --- a/packages/CarrierDefaultApp/res/values-ml/strings.xml +++ b/packages/CarrierDefaultApp/res/values-ml/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"നിങ്ങളുടെ മൊബൈൽ ഡാറ്റ നിർജീവമാക്കി"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"%s എന്ന വെബ്സൈറ്റ് സന്ദർശിക്കാൻ ടാപ്പുചെയ്യുക"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"നിങ്ങളുടെ %s എന്ന സേവനദാതാവിനെ ബന്ധപ്പെടുക"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"മൊബൈൽ ഡാറ്റ കണക്ഷൻ ഇല്ല"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"%s എന്നതിലൂടെ ഡാറ്റ അല്ലെങ്കിൽ റോമിംഗ് പ്ലാൻ ചേർക്കുക"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"മൊബൈൽ ഡാറ്റാ നില"</string> <string name="action_bar_label" msgid="4290345990334377177">"മൊബൈൽ നെറ്റ്വർക്കിലേക്ക് സൈൻ ഇൻ ചെയ്യുക"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"നിങ്ങൾ ചേരാൻ ശ്രമിക്കുന്ന നെറ്റ്വർക്കിൽ സുരക്ഷാ പ്രശ്നങ്ങളുണ്ടായിരിക്കാം."</string> diff --git a/packages/CarrierDefaultApp/res/values-mn/strings.xml b/packages/CarrierDefaultApp/res/values-mn/strings.xml index 16613b4e9775..1a9b72ec3b94 100644 --- a/packages/CarrierDefaultApp/res/values-mn/strings.xml +++ b/packages/CarrierDefaultApp/res/values-mn/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Таны мобайл датаг идэвхгүй болгосон"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"%s вэб хуудсанд зочлохын тулд товших"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"%s үйлчилгээ үзүүлэгчтэйгээ холбогдоно уу"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Мобайл дата холболт алга"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Дата эсвэл роуминг төлөвлөгөөг %s-р нэмнэ үү"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Мобайл датаны төлөв"</string> <string name="action_bar_label" msgid="4290345990334377177">"Мобайл сүлжээнд нэвтрэх"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Таны холбогдох гэж буй сүлжээ аюулгүй байдлын асуудалтай байна."</string> diff --git a/packages/CarrierDefaultApp/res/values-mr/strings.xml b/packages/CarrierDefaultApp/res/values-mr/strings.xml index 53d740006cfa..7e7792f6f0d4 100644 --- a/packages/CarrierDefaultApp/res/values-mr/strings.xml +++ b/packages/CarrierDefaultApp/res/values-mr/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"आपला मोबाइल डेटा निष्क्रिय केला गेला"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"%s वेबसाइटला भेट देण्यासाठी टॅप करा"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"कृपया आपल्या %s सेवा प्रदात्याशी संपर्क साधा"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"मोबाइल डेटा कनेक्शन नाही"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"%sने डेटा किंवा रोमिंग प्लॅन जोडा"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"मोबाइल डेटा स्थिती"</string> <string name="action_bar_label" msgid="4290345990334377177">"मोबाइल नेटवर्कमध्ये साइन इन करा"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"आपण ज्या नेटवर्कमध्ये सामील होण्याचा प्रयत्न करत आहात त्यात सुरक्षितता समस्या आहेत."</string> diff --git a/packages/CarrierDefaultApp/res/values-ms/strings.xml b/packages/CarrierDefaultApp/res/values-ms/strings.xml index 202ad5930228..7aca5f05e6e7 100644 --- a/packages/CarrierDefaultApp/res/values-ms/strings.xml +++ b/packages/CarrierDefaultApp/res/values-ms/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Data mudah alih anda telah dinyahaktifkan"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Ketik untuk melawat tapak web %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Sila hubungi penyedia perkhidmatan anda, %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Tiada sambungan data mudah alih"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Tambahkan data atau pelan perayauan melalui %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Status data mudah alih"</string> <string name="action_bar_label" msgid="4290345990334377177">"Log masuk ke rangkaian mudah alih"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Rangkaian yang cuba anda sertai mempunyai isu keselamatan."</string> diff --git a/packages/CarrierDefaultApp/res/values-my/strings.xml b/packages/CarrierDefaultApp/res/values-my/strings.xml index 876708044788..82372f94e620 100644 --- a/packages/CarrierDefaultApp/res/values-my/strings.xml +++ b/packages/CarrierDefaultApp/res/values-my/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"သင်၏ မိုဘိုင်း ဒေတာကို ပိတ်ထားပါသည်"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"%s ဝဘ်ဆိုက်ကို ကြည့်ရှုရန် တို့ပါ"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"သင်၏ဝန်ဆောင်မှုပေးသူ %s ကို ဆက်သွယ်ပါ"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"မိုဘိုင်း ဒေတာချိတ်ဆက်မှုမရှိပါ"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"ဒေတာပလန် သို့မဟုတ် နိုင်ငံကူးလူးဖုန်းပလန်ကို %s မှ တစ်ဆင့် ထည့်ပါ"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"မိုဘိုင်းဒေတာ အခြေအနေ"</string> <string name="action_bar_label" msgid="4290345990334377177">"မိုဘိုင်းကွန်ရက်သို့ လက်မှတ်ထိုးဝင်ပါ"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"သင်ချိတ်ဆက်ရန် ကြိုးစားနေသည့် ကွန်ရက်တွင် လုံခြုံရေးပြဿနာများ ရှိနေသည်။"</string> diff --git a/packages/CarrierDefaultApp/res/values-nb/strings.xml b/packages/CarrierDefaultApp/res/values-nb/strings.xml index 57d58a52d542..1bb9826dc65e 100644 --- a/packages/CarrierDefaultApp/res/values-nb/strings.xml +++ b/packages/CarrierDefaultApp/res/values-nb/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Mobildata er deaktivert"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Trykk for å besøke %s-nettstedet"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Ta kontakt med tjenesteleverandøren din, %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Ingen mobildatatilkobling"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Legg til data- eller roamingabonnement via %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Status for mobildata"</string> <string name="action_bar_label" msgid="4290345990334377177">"Logg på mobilnettverk"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Nettverket du prøver å logge på, har sikkerhetsproblemer."</string> diff --git a/packages/CarrierDefaultApp/res/values-ne/strings.xml b/packages/CarrierDefaultApp/res/values-ne/strings.xml index 1070a6240930..2349f9de748c 100644 --- a/packages/CarrierDefaultApp/res/values-ne/strings.xml +++ b/packages/CarrierDefaultApp/res/values-ne/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"तपाईंको मोबाइल डेटा निष्क्रिय पारिएको छ"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"%s वेबसाइटमा जानका लागि ट्याप गर्नुहोस्"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"कृपया आफ्नो सेवा प्रदायक %s लाई सम्पर्क गर्नुहोस्"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"कुनै पनि मोबाइल डेटाको जडान उपलब्ध छैन"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"%s मार्फत डेटा वा रोमिङ योजना थप्नुहोस्"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"मोबाइल डेटाको स्थिति"</string> <string name="action_bar_label" msgid="4290345990334377177">"मोबाइल नेटवर्कमा साइन इन गर्नुहोस्"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"तपाईंले सामेल हुने प्रयास गरिरहनु भएको नेटवर्कमा सुरक्षा सम्बन्धी समस्याहरू छन्।"</string> diff --git a/packages/CarrierDefaultApp/res/values-nl/strings.xml b/packages/CarrierDefaultApp/res/values-nl/strings.xml index b4991acf0bca..4e2c09bc1e90 100644 --- a/packages/CarrierDefaultApp/res/values-nl/strings.xml +++ b/packages/CarrierDefaultApp/res/values-nl/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Je mobiele data zijn uitgeschakeld"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Tik om de website van %s te bezoeken"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Neem contact op met je serviceprovider %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Geen mobiele internetverbinding"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Data- of roaming-abonnement toevoegen via %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Status van mobiele data"</string> <string name="action_bar_label" msgid="4290345990334377177">"Inloggen bij mobiel netwerk"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Het netwerk waarmee je verbinding probeert te maken, heeft beveiligingsproblemen."</string> diff --git a/packages/CarrierDefaultApp/res/values-pa/strings.xml b/packages/CarrierDefaultApp/res/values-pa/strings.xml index 6b754c165afb..37aa2ac9d86d 100644 --- a/packages/CarrierDefaultApp/res/values-pa/strings.xml +++ b/packages/CarrierDefaultApp/res/values-pa/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"ਤੁਹਾਡਾ ਮੋਬਾਈਲ ਡੈਟਾ ਅਕਿਰਿਆਸ਼ੀਲ ਕਰ ਦਿੱਤਾ ਗਿਆ ਹੈ"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"%s ਵੈੱਬਸਾਈਟ \'ਤੇ ਜਾਣ ਲਈ ਟੈਪ ਕਰੋ"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"ਕਿਰਪਾ ਕਰਕੇ ਆਪਣੇ ਸੇਵਾ ਪ੍ਰਦਾਨਕ %s ਨੂੰ ਸੰਪਰਕ ਕਰੋ"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"ਕੋਈ ਮੋਬਾਈਲ ਡੈਟਾ ਕਨੈਕਸ਼ਨ ਨਹੀਂ"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"%s ਰਾਹੀਂ ਡੈਟਾ ਜਾਂ ਰੋਮਿੰਗ ਯੋਜਨਾ ਸ਼ਾਮਲ ਕਰੋ"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"ਮੋਬਾਈਲ ਡੈਟੇ ਦੀ ਅਵਸਥਾ"</string> <string name="action_bar_label" msgid="4290345990334377177">"ਮੋਬਾਈਲ ਨੈੱਟਵਰਕ ਵਿੱਚ ਸਾਈਨ-ਇਨ ਕਰੋ"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"ਤੁਸੀਂ ਜਿਸ ਨੈੱਟਵਰਕ ਵਿੱਚ ਸ਼ਾਮਲ ਹੋਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਰਹੇ ਹੋ ਉਸ ਵਿੱਚ ਸੁਰੱਖਿਆ ਸਬੰਧੀ ਸਮੱਸਿਆਵਾਂ ਹਨ।"</string> diff --git a/packages/CarrierDefaultApp/res/values-pl/strings.xml b/packages/CarrierDefaultApp/res/values-pl/strings.xml index 427e12ad9b3d..ac45e27a82eb 100644 --- a/packages/CarrierDefaultApp/res/values-pl/strings.xml +++ b/packages/CarrierDefaultApp/res/values-pl/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Mobilna transmisja danych została wyłączona"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Kliknij, by odwiedzić stronę: %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Skontaktuj się z operatorem %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Brak połączenia mobilnej transmisji danych"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Dodaj abonament lub roaming w: %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Stan danych mobilnych"</string> <string name="action_bar_label" msgid="4290345990334377177">"Zaloguj się w sieci komórkowej"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"W sieci, z którą próbujesz się połączyć, występują problemy z zabezpieczeniami."</string> diff --git a/packages/CarrierDefaultApp/res/values-pt-rBR/strings.xml b/packages/CarrierDefaultApp/res/values-pt-rBR/strings.xml index 1028ef8299d0..926de6519b14 100644 --- a/packages/CarrierDefaultApp/res/values-pt-rBR/strings.xml +++ b/packages/CarrierDefaultApp/res/values-pt-rBR/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Os dados móveis foram desativados"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Toque para visitar o website %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Entre em contato com seu provedor de serviços %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Sem conexão de dados móveis"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Adicionar plano de roaming ou dados por meio de %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Status dos dados móveis"</string> <string name="action_bar_label" msgid="4290345990334377177">"Fazer login na rede móvel"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"A rede à qual você está tentando se conectar tem problemas de segurança."</string> diff --git a/packages/CarrierDefaultApp/res/values-pt-rPT/strings.xml b/packages/CarrierDefaultApp/res/values-pt-rPT/strings.xml index 0f42e01ad5d6..107a9c28099b 100644 --- a/packages/CarrierDefaultApp/res/values-pt-rPT/strings.xml +++ b/packages/CarrierDefaultApp/res/values-pt-rPT/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Os seus dados móveis foram desativados"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Tocar para aceder ao Website %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Contacte o seu fornecedor de serviços %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Sem ligação de dados móveis"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Adicionar dados ou um plano de roaming através de %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Estado dos dados móveis"</string> <string name="action_bar_label" msgid="4290345990334377177">"Iniciar sessão na rede móvel"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"A rede à qual está a tentar aceder tem problemas de segurança."</string> diff --git a/packages/CarrierDefaultApp/res/values-pt/strings.xml b/packages/CarrierDefaultApp/res/values-pt/strings.xml index 1028ef8299d0..926de6519b14 100644 --- a/packages/CarrierDefaultApp/res/values-pt/strings.xml +++ b/packages/CarrierDefaultApp/res/values-pt/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Os dados móveis foram desativados"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Toque para visitar o website %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Entre em contato com seu provedor de serviços %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Sem conexão de dados móveis"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Adicionar plano de roaming ou dados por meio de %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Status dos dados móveis"</string> <string name="action_bar_label" msgid="4290345990334377177">"Fazer login na rede móvel"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"A rede à qual você está tentando se conectar tem problemas de segurança."</string> diff --git a/packages/CarrierDefaultApp/res/values-ro/strings.xml b/packages/CarrierDefaultApp/res/values-ro/strings.xml index 5a1f9f48c86a..b91aa813df7f 100644 --- a/packages/CarrierDefaultApp/res/values-ro/strings.xml +++ b/packages/CarrierDefaultApp/res/values-ro/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Datele mobile au fost dezactivate"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Atingeți pentru a accesa site-ul %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Contactați furnizorul de servicii %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Nu există o conexiune de date mobile"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Adăugați un plan de date sau de roaming prin %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Starea datelor mobile"</string> <string name="action_bar_label" msgid="4290345990334377177">"Conectați-vă la rețeaua mobilă"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Rețeaua la care încercați să vă conectați are probleme de securitate."</string> diff --git a/packages/CarrierDefaultApp/res/values-ru/strings.xml b/packages/CarrierDefaultApp/res/values-ru/strings.xml index 9436d61afc71..ff24f1f822eb 100644 --- a/packages/CarrierDefaultApp/res/values-ru/strings.xml +++ b/packages/CarrierDefaultApp/res/values-ru/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Мобильный Интернет отключен"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Нажмите, чтобы открыть сайт %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Обратитесь к своему поставщику услуг \"%s\""</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Отсутствует подключение к мобильной сети"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Активировать мобильный Интернет или интернет-роуминг с помощью оператора \"%s\""</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Состояние мобильного Интернета"</string> <string name="action_bar_label" msgid="4290345990334377177">"Подключиться к мобильной сети"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Сеть, к которой вы хотите подключиться, небезопасна."</string> diff --git a/packages/CarrierDefaultApp/res/values-si/strings.xml b/packages/CarrierDefaultApp/res/values-si/strings.xml index a31e5c40037e..378a53436a96 100644 --- a/packages/CarrierDefaultApp/res/values-si/strings.xml +++ b/packages/CarrierDefaultApp/res/values-si/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"ඔබගේ ජංගම දත්ත අක්රිය කර ඇත"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"%s වෙබ් අඩවිය වෙත යාමට තට්ටු කරන්න"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"කරුණාකර ඔබගේ සේවා සැපයුම්කරු %s අමතන්න"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"ජංගම දත්ත සබැඳුමක් නැත"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"%s හරහා දත්ත හෝ රෝමිං සැලසුම එක් කරන්න"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"ජංගම දත්ත තත්ත්වය"</string> <string name="action_bar_label" msgid="4290345990334377177">"ජංගම ජාලය වෙත පුරනය වෙන්න"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"ඔබ සම්බන්ධ වීමට උත්සහ කරන ජාලයේ ආරක්ෂක ගැටළු ඇත."</string> diff --git a/packages/CarrierDefaultApp/res/values-sk/strings.xml b/packages/CarrierDefaultApp/res/values-sk/strings.xml index 811ef9d4bcb1..9fe38daea3cd 100644 --- a/packages/CarrierDefaultApp/res/values-sk/strings.xml +++ b/packages/CarrierDefaultApp/res/values-sk/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Vaše mobilné dáta boli deaktivované"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Klepnutím navštívite web %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Kontaktujte svojho poskytovateľa služieb %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Žiadne mobilné dátové pripojenie"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Pridať dátový alebo roamingový plán prostredníctvom služby %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Stav mobilných dát"</string> <string name="action_bar_label" msgid="4290345990334377177">"Prihlásiť sa do mobilnej siete"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Sieť, ku ktorej sa pokúšate pripojiť, má problémy so zabezpečením"</string> diff --git a/packages/CarrierDefaultApp/res/values-sl/strings.xml b/packages/CarrierDefaultApp/res/values-sl/strings.xml index 482a5c87309c..bdbc15534adf 100644 --- a/packages/CarrierDefaultApp/res/values-sl/strings.xml +++ b/packages/CarrierDefaultApp/res/values-sl/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Prenos podatkov v mobilnih omrežjih je deaktiviran"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Dotaknite se, če želite obiskati spletno mesto %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Obrnite se na ponudnika storitev %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Brez mobilne podatkovne povezave"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Dodajte podatkovni paket ali paket gostovanja operaterja %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Stanje prenosa podatkov v mobilnem omrežju"</string> <string name="action_bar_label" msgid="4290345990334377177">"Prijava v mobilno omrežje"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Omrežje, ki se mu poskušate pridružiti, ima varnostne težave."</string> diff --git a/packages/CarrierDefaultApp/res/values-sq/strings.xml b/packages/CarrierDefaultApp/res/values-sq/strings.xml index b384115c4ecc..d4899e0db411 100644 --- a/packages/CarrierDefaultApp/res/values-sq/strings.xml +++ b/packages/CarrierDefaultApp/res/values-sq/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Të dhënat celulare janë çaktivizuar"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Trokit për të vizituar sajtin e uebit të %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Kontakto me ofruesin e shërbimit %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Nuk ka lidhje të të dhënave celulare"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Shto plan të dhënash ose plan roaming përmes %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Statusi i të dhënave celulare"</string> <string name="action_bar_label" msgid="4290345990334377177">"Identifikohu në rrjetin celular"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Rrjeti në të cilin po përpiqesh të bashkohesh ka probleme sigurie."</string> diff --git a/packages/CarrierDefaultApp/res/values-sr/strings.xml b/packages/CarrierDefaultApp/res/values-sr/strings.xml index cd7587de234c..34c3bdc362ec 100644 --- a/packages/CarrierDefaultApp/res/values-sr/strings.xml +++ b/packages/CarrierDefaultApp/res/values-sr/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Мобилни подаци су деактивирани"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Додирните да бисте посетили веб-сајт %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Контактирајте добављача услуге %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Нема везе за пренос података преко мобилног оператера"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Додајте податке или пакет за роминг преко оператера %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Статус мобилних података"</string> <string name="action_bar_label" msgid="4290345990334377177">"Пријавите се на мобилну мрежу"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Мрежа којој покушавате да се придружите има безбедносних проблема."</string> diff --git a/packages/CarrierDefaultApp/res/values-sv/strings.xml b/packages/CarrierDefaultApp/res/values-sv/strings.xml index 360e04ea0756..4e76c8d6c746 100644 --- a/packages/CarrierDefaultApp/res/values-sv/strings.xml +++ b/packages/CarrierDefaultApp/res/values-sv/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Din mobildata har inaktiverats"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Tryck här för att besöka webbplatsen %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Kontakta operatören %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Det finns ingen mobildataanslutning"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Lägg till ett abonnemang för data eller roaming via %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Status för mobildata"</string> <string name="action_bar_label" msgid="4290345990334377177">"Logga in på mobilnätverk"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Nätverket du försöker ansluta till har säkerhetsproblem."</string> diff --git a/packages/CarrierDefaultApp/res/values-sw/strings.xml b/packages/CarrierDefaultApp/res/values-sw/strings.xml index e908563b6972..a160186b3dff 100644 --- a/packages/CarrierDefaultApp/res/values-sw/strings.xml +++ b/packages/CarrierDefaultApp/res/values-sw/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Data yako ya mtandao wa simu imezimwa"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Gonga ili utembelee tovuti ya %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Tafadhali wasiliana na mtoa huduma wako %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Hakuna muunganisho wa data kwa simu za mkononi"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Ongeza mpango wa mitandao mingine au data kupitia %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Hali ya data ya mtandao wa simu"</string> <string name="action_bar_label" msgid="4290345990334377177">"Ingia katika akaunti ya mtandao wa simu"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Mtandao unaojaribu kujiunga nao una matatizo ya usalama."</string> diff --git a/packages/CarrierDefaultApp/res/values-ta/strings.xml b/packages/CarrierDefaultApp/res/values-ta/strings.xml index 515368630bbb..111f8d175673 100644 --- a/packages/CarrierDefaultApp/res/values-ta/strings.xml +++ b/packages/CarrierDefaultApp/res/values-ta/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"மொபைல் தரவு முடக்கப்பட்டது"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"%s இணையதளத்திற்குச் செல்ல, தட்டவும்"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"%s எனும் உங்கள் சேவை வழங்குநரைத் தொடர்புகொள்ளவும்"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"மொபைல் தரவு இணைப்பு இல்லை"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"%s மூலம் தரவு அல்லது ரோமிங் திட்டத்தைச் சேர்க்கவும்"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"மொபைல் தரவின் நிலை"</string> <string name="action_bar_label" msgid="4290345990334377177">"மொபைல் நெட்வொர்க்கில் உள்நுழையவும்"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"நீங்கள் சேர முயலும் நெட்வொர்க்கில் பாதுகாப்புச் சிக்கல்கள் உள்ளன."</string> diff --git a/packages/CarrierDefaultApp/res/values-te/strings.xml b/packages/CarrierDefaultApp/res/values-te/strings.xml index b849c4c8518c..8877c0cc25dc 100644 --- a/packages/CarrierDefaultApp/res/values-te/strings.xml +++ b/packages/CarrierDefaultApp/res/values-te/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"మీ మొబైల్ డేటా నిష్క్రియం చేయబడింది"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"%s వెబ్సైట్ని సందర్శించడం కోసం నొక్కండి"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"దయచేసి మీ సేవా ప్రదాత %sని సంప్రదించండి"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"మొబైల్ డేటా కనెక్షన్ లేదు"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"%s ద్వారా డేటాను లేదా రోమింగ్ ప్లాన్ను జోడించండి"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"మొబైల్ డేటా స్థితి"</string> <string name="action_bar_label" msgid="4290345990334377177">"మొబైల్ నెట్వర్క్కి సైన్ ఇన్ చేయి"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"మీరు చేరడానికి ప్రయత్నిస్తున్న నెట్వర్క్ భద్రతా సమస్యలను కలిగి ఉంది."</string> diff --git a/packages/CarrierDefaultApp/res/values-th/strings.xml b/packages/CarrierDefaultApp/res/values-th/strings.xml index c374f9bfae36..8d30cfdff9ec 100644 --- a/packages/CarrierDefaultApp/res/values-th/strings.xml +++ b/packages/CarrierDefaultApp/res/values-th/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"อินเทอร์เน็ตมือถือของคุณถูกปิดใช้งานแล้ว"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"แตะเพื่อเข้าชมเว็บไซต์ %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"โปรดติดต่อผู้ให้บริการ %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"ไม่มีการเชื่อมต่อเน็ตมือถือ"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"เพิ่มแพ็กเกจเน็ตหรือการโรมมิ่งผ่าน %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"สถานะเน็ตมือถือ"</string> <string name="action_bar_label" msgid="4290345990334377177">"ลงชื่อเข้าใช้เครือข่ายมือถือ"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"เครือข่ายที่คุณพยายามเข้าร่วมมีปัญหาด้านความปลอดภัย"</string> diff --git a/packages/CarrierDefaultApp/res/values-tl/strings.xml b/packages/CarrierDefaultApp/res/values-tl/strings.xml index 3ef550cffbc9..083ec9ae7c6f 100644 --- a/packages/CarrierDefaultApp/res/values-tl/strings.xml +++ b/packages/CarrierDefaultApp/res/values-tl/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Na-deactivate na ang iyong mobile data"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"I-tap upang bisitahin ang website ng %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Makipag-ugnayan sa iyong service provider %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Walang koneksyon sa mobile data"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Magdagdag ng data o roaming plan sa pamamagitan ng %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Status ng mobile data"</string> <string name="action_bar_label" msgid="4290345990334377177">"Mag-sign in sa mobile network"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"May mga isyu sa seguridad ang network na sinusubukan mong salihan."</string> diff --git a/packages/CarrierDefaultApp/res/values-tr/strings.xml b/packages/CarrierDefaultApp/res/values-tr/strings.xml index 7f5cc4bfd9e4..aa17431c395a 100644 --- a/packages/CarrierDefaultApp/res/values-tr/strings.xml +++ b/packages/CarrierDefaultApp/res/values-tr/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Mobil veriniz devre dışı bırakıldı"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"%s web sitesini ziyaret etmek için dokunun"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Lütfen servis sağlayıcınıza (%s) başvurun"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Mobil veri bağlantısı yok"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"%s üzerinden veri veya dolaşım planı ekleyin"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Mobil veri durumu"</string> <string name="action_bar_label" msgid="4290345990334377177">"Mobil ağda oturum aç"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Katılmaya çalıştığınız ağda güvenlik sorunları var."</string> diff --git a/packages/CarrierDefaultApp/res/values-uk/strings.xml b/packages/CarrierDefaultApp/res/values-uk/strings.xml index 8b0f85e717c2..8381e35b5bed 100644 --- a/packages/CarrierDefaultApp/res/values-uk/strings.xml +++ b/packages/CarrierDefaultApp/res/values-uk/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Мобільний трафік дезактивовано"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Торкніться, щоб перейти на веб-сайт %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Зв’яжіться зі своїм постачальником послуг %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Немає мобільного Інтернету"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Додати тарифний план або роумінг через оператора %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Статус мобільного передавання даних"</string> <string name="action_bar_label" msgid="4290345990334377177">"Під’єднайте пристрій до мобільної мережі"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"У мережі, до якої ви намагаєтеся під’єднатись, є проблеми з безпекою."</string> diff --git a/packages/CarrierDefaultApp/res/values-ur/strings.xml b/packages/CarrierDefaultApp/res/values-ur/strings.xml index f5fbdc8b8709..fc286b8a53d3 100644 --- a/packages/CarrierDefaultApp/res/values-ur/strings.xml +++ b/packages/CarrierDefaultApp/res/values-ur/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"آپ کا موبائل ڈیٹا غیر فعال کر دیا گیا ہے"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"%s ویب سائٹ ملاحظہ کرنے کیلئے تھپتھپائیں"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"براہ کرم اپنے خدمت کے فراہم کنندہ %s سے رابطہ کریں"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"کوئی موبائل ڈیٹا کنکشن نہیں ہے"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"%s کے ذریعے ڈیٹا یا رومنگ پلان شامل کریں"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"موبائل ڈیٹا کی صورت حال"</string> <string name="action_bar_label" msgid="4290345990334377177">"موبائل نیٹ ورک میں سائن ان کریں"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"آپ جس نیٹ ورک میں شامل ہونے کی کوشش کر رہے ہیں، اس میں سیکیورٹی کے مسائل ہیں۔"</string> diff --git a/packages/CarrierDefaultApp/res/values-uz/strings.xml b/packages/CarrierDefaultApp/res/values-uz/strings.xml index c65f2cba27d6..f2801c84a990 100644 --- a/packages/CarrierDefaultApp/res/values-uz/strings.xml +++ b/packages/CarrierDefaultApp/res/values-uz/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Mobil internet o‘chirildi"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"%s saytiga o‘tish uchun bosing"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"%s xizmat ta’minotchisi bilan bog‘laning"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Mobil internet aloqasi yo‘q"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"%s orqali trafik yoki rouming rejasini qo‘shish"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Mobil internet holati"</string> <string name="action_bar_label" msgid="4290345990334377177">"Mobil tarmoqqa ulanish"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Siz ulanmoqchi bo‘lgan tarmoqda xavfsizlik bilan bog‘liq muammolar mavjud."</string> diff --git a/packages/CarrierDefaultApp/res/values-vi/strings.xml b/packages/CarrierDefaultApp/res/values-vi/strings.xml index 1d302da9929b..1047cd4999f1 100644 --- a/packages/CarrierDefaultApp/res/values-vi/strings.xml +++ b/packages/CarrierDefaultApp/res/values-vi/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Dữ liệu di động của bạn đã bị hủy kích hoạt"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Nhấn để truy cập trang web %s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Hãy liên hệ với nhà cung cấp dịch vụ của bạn %s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Không có kết nối dữ liệu di động"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Thêm gói dữ liệu hoặc gói chuyển vùng thông qua %s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Trạng thái dữ liệu di động"</string> <string name="action_bar_label" msgid="4290345990334377177">"Đăng nhập vào mạng di động"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Mạng mà bạn đang cố gắng tham gia có vấn đề về bảo mật."</string> diff --git a/packages/CarrierDefaultApp/res/values-zh-rCN/strings.xml b/packages/CarrierDefaultApp/res/values-zh-rCN/strings.xml index ce1e2fa0736c..f84cedb5fb7c 100644 --- a/packages/CarrierDefaultApp/res/values-zh-rCN/strings.xml +++ b/packages/CarrierDefaultApp/res/values-zh-rCN/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"您的移动数据网络已停用"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"点按即可访问%s网站"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"请与您的服务提供商(%s)联系"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"无移动数据网络连接"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"通过%s添加流量或漫游套餐"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"移动数据状态"</string> <string name="action_bar_label" msgid="4290345990334377177">"登录到移动网络"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"您尝试加入的网络存在安全问题。"</string> diff --git a/packages/CarrierDefaultApp/res/values-zh-rHK/strings.xml b/packages/CarrierDefaultApp/res/values-zh-rHK/strings.xml index 23e0acc612de..ad76306cb812 100644 --- a/packages/CarrierDefaultApp/res/values-zh-rHK/strings.xml +++ b/packages/CarrierDefaultApp/res/values-zh-rHK/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"您的流動數據已停用"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"輕按即可瀏覽 %s 網站"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"請與您的服務供應商 (%s) 聯絡"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"沒有流動數據連線"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"透過「%s」新增數據或漫遊計劃"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"流動數據狀態"</string> <string name="action_bar_label" msgid="4290345990334377177">"登入流動網絡"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"您正在嘗試加入的網絡有安全性問題。"</string> diff --git a/packages/CarrierDefaultApp/res/values-zh-rTW/strings.xml b/packages/CarrierDefaultApp/res/values-zh-rTW/strings.xml index b3a799210d00..ccf95c1eebd6 100644 --- a/packages/CarrierDefaultApp/res/values-zh-rTW/strings.xml +++ b/packages/CarrierDefaultApp/res/values-zh-rTW/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"你的行動數據已停用"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"輕觸即可造訪 %s 網站"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"請與你的服務供應商 (%s) 聯絡"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"沒有行動數據連線"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"透過「%s」新增數據或漫遊方案"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"行動數據狀態"</string> <string name="action_bar_label" msgid="4290345990334377177">"登入行動網路"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"你嘗試加入的網路有安全性問題。"</string> diff --git a/packages/CarrierDefaultApp/res/values-zu/strings.xml b/packages/CarrierDefaultApp/res/values-zu/strings.xml index 48e4637ed6da..4ef80c1623ba 100644 --- a/packages/CarrierDefaultApp/res/values-zu/strings.xml +++ b/packages/CarrierDefaultApp/res/values-zu/strings.xml @@ -7,6 +7,8 @@ <string name="no_data_notification_id" msgid="668400731803969521">"Idatha yakho yeselula yenziwe yangasebenzi"</string> <string name="portal_notification_detail" msgid="2295729385924660881">"Thepha ukuze uvakashele iwebhusayithi engu-%s"</string> <string name="no_data_notification_detail" msgid="3112125343857014825">"Sicela uxhumane nomhlinzeki wakho wesevisi ongu-%s"</string> + <string name="no_mobile_data_connection_title" msgid="7449525772416200578">"Akukho ukuxhumeka kwedatha yeselula"</string> + <string name="no_mobile_data_connection" msgid="544980465184147010">"Engeza idatha noma uhlelo lokuzulazula nge-%s"</string> <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Isimo sedatha yeselula"</string> <string name="action_bar_label" msgid="4290345990334377177">"Ngena ngemvume kunethiwekhi yeselula"</string> <string name="ssl_error_warning" msgid="3127935140338254180">"Inethiwekhi ozama ukuyijoyina inezinkinga zokuvikela."</string> diff --git a/packages/EasterEgg/Android.mk b/packages/EasterEgg/Android.mk index df081f4091d9..d4c1e7094b99 100644 --- a/packages/EasterEgg/Android.mk +++ b/packages/EasterEgg/Android.mk @@ -5,6 +5,7 @@ LOCAL_MODULE_TAGS := optional LOCAL_STATIC_JAVA_LIBRARIES := \ android-support-v4 \ android-support-v13 \ + android-support-dynamic-animation \ android-support-v7-recyclerview \ android-support-v7-preference \ android-support-v7-appcompat \ diff --git a/packages/EasterEgg/AndroidManifest.xml b/packages/EasterEgg/AndroidManifest.xml index fbc238657647..14861c261f0d 100644 --- a/packages/EasterEgg/AndroidManifest.xml +++ b/packages/EasterEgg/AndroidManifest.xml @@ -19,12 +19,25 @@ Copyright (C) 2016 The Android Open Source Project android:versionCode="1" android:versionName="1.0"> - <uses-sdk android:minSdkVersion="24" /> + <uses-sdk android:minSdkVersion="26" /> <uses-permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <application android:label="@string/app_name" android:icon="@drawable/icon"> + + <activity android:name=".octo.Ocquarium" + android:theme="@android:style/Theme.DeviceDefault.NoActionBar.Fullscreen" + android:label="@string/app_name"> + <intent-filter> + <action android:name="android.intent.action.MAIN"/> + <category android:name="android.intent.category.DEFAULT" /> + <category android:name="com.android.internal.category.PLATLOGO" /> + </intent-filter> + </activity> + + <!-- Android N lives on inside Android O... --> + <!-- Long press the QS tile to get here --> <activity android:name=".neko.NekoLand" android:theme="@android:style/Theme.Material.NoActionBar" @@ -57,7 +70,6 @@ Copyright (C) 2016 The Android Open Source Project <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.DEFAULT" /> - <category android:name="com.android.internal.category.PLATLOGO" /> </intent-filter> </activity> diff --git a/packages/EasterEgg/res/drawable/icon.xml b/packages/EasterEgg/res/drawable/icon.xml index defa83a9b5c6..5ce9e5133847 100644 --- a/packages/EasterEgg/res/drawable/icon.xml +++ b/packages/EasterEgg/res/drawable/icon.xml @@ -1,5 +1,5 @@ <!-- -Copyright (C) 2016 The Android Open Source Project +Copyright (C) 2017 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -14,24 +14,27 @@ Copyright (C) 2016 The Android Open Source Project limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="512dp" - android:height="512dp" + android:width="48dp" + android:height="48dp" android:viewportWidth="48.0" android:viewportHeight="48.0"> <path - android:fillColor="#FF7E5BBF" - android:pathData="M32.0,12.5l0.0,28.0l12.0,-5.0l0.0,-28.0z"/> + android:pathData="M25.0,25.0m-20.5,0.0a20.5,20.5,0,1,1,41.0,0.0a20.5,20.5,0,1,1,-41.0,0.0" + android:fillAlpha="0.066" + android:fillColor="#000000"/> <path - android:fillColor="#FF7E5BBF" - android:pathData="M4.0,40.5l12.0,-5.0l0.0,-11.0l-12.0,-12.0z"/> + android:pathData="M24.0,24.0m-20.0,0.0a20.0,20.0,0,1,1,40.0,0.0a20.0,20.0,0,1,1,-40.0,0.0" + android:fillColor="#283593"/> <path - android:fillColor="#40000000" - android:pathData="M44.0,35.5l-12.0,-12.0l0.0,-4.0z"/> + android:pathData="M44,24.2010101 L33.9004889,14.101499 L14.101499,33.9004889 L24.2010101,44 C29.2525804,43.9497929 34.2887564,41.9975027 38.1431296,38.1431296 C41.9975027,34.2887564 43.9497929,29.2525804 44,24.2010101 Z" + android:fillColor="#1a237e"/> <path - android:fillColor="#40000000" - android:pathData="M4.0,12.5l12.0,12.0l0.0,4.0z"/> + android:pathData="M24.0,24.0m-14.0,0.0a14.0,14.0,0,1,1,28.0,0.0a14.0,14.0,0,1,1,-28.0,0.0" + android:fillColor="#5c6bc0"/> <path - android:fillColor="#FF55C4F5" - android:pathData="M32.0,23.5l-16.0,-16.0l-12.0,5.0l0.0,0.0l12.0,12.0l16.0,16.0l12.0,-5.0l0.0,0.0z"/> + android:pathData="M37.7829445,26.469236 L29.6578482,18.3441397 L18.3441397,29.6578482 L26.469236,37.7829445 C29.1911841,37.2979273 31.7972024,36.0037754 33.9004889,33.9004889 C36.0037754,31.7972024 37.2979273,29.1911841 37.7829445,26.469236 Z" + android:fillColor="#3f51b5"/> + <path + android:pathData="M24.0,24.0m-8.0,0.0a8.0,8.0,0,1,1,16.0,0.0a8.0,8.0,0,1,1,-16.0,0.0" + android:fillColor="#FFFFFF"/> </vector> - diff --git a/packages/EasterEgg/res/drawable/octo_bg.xml b/packages/EasterEgg/res/drawable/octo_bg.xml new file mode 100644 index 000000000000..1e46cf434a8b --- /dev/null +++ b/packages/EasterEgg/res/drawable/octo_bg.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<shape xmlns:android="http://schemas.android.com/apk/res/android"> + <gradient android:angle="-90" + android:startColor="#FF205090" + android:endColor="#FF001040" + android:type="linear" + /> +</shape>
\ No newline at end of file diff --git a/packages/EasterEgg/src/com/android/egg/octo/Ocquarium.java b/packages/EasterEgg/src/com/android/egg/octo/Ocquarium.java new file mode 100644 index 000000000000..bbbdf80612d7 --- /dev/null +++ b/packages/EasterEgg/src/com/android/egg/octo/Ocquarium.java @@ -0,0 +1,77 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the + * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +package com.android.egg.octo; + +import android.app.Activity; +import android.os.Bundle; +import android.view.MotionEvent; +import android.view.View; +import android.view.ViewGroup; +import android.widget.FrameLayout; +import android.widget.ImageView; + +import com.android.egg.R; + +public class Ocquarium extends Activity { + ImageView mImageView; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + final float dp = getResources().getDisplayMetrics().density; + + getWindow().setBackgroundDrawableResource(R.drawable.octo_bg); + + FrameLayout bg = new FrameLayout(this); + setContentView(bg); + bg.setAlpha(0f); + bg.animate().setStartDelay(500).setDuration(5000).alpha(1f).start(); + + mImageView = new ImageView(this); + bg.addView(mImageView, new FrameLayout.LayoutParams( + ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); + + final OctopusDrawable octo = new OctopusDrawable(getApplicationContext()); + octo.setSizePx((int) (OctopusDrawable.randfrange(40f,180f) * dp)); + mImageView.setImageDrawable(octo); + octo.startDrift(); + + mImageView.setOnTouchListener(new View.OnTouchListener() { + boolean touching; + @Override + public boolean onTouch(View view, MotionEvent motionEvent) { + switch (motionEvent.getActionMasked()) { + case MotionEvent.ACTION_DOWN: + if (octo.hitTest(motionEvent.getX(), motionEvent.getY())) { + touching = true; + octo.stopDrift(); + } + break; + case MotionEvent.ACTION_MOVE: + if (touching) { + octo.moveTo(motionEvent.getX(), motionEvent.getY()); + } + break; + case MotionEvent.ACTION_UP: + case MotionEvent.ACTION_CANCEL: + touching = false; + octo.startDrift(); + break; + } + return true; + } + }); + } +} diff --git a/packages/EasterEgg/src/com/android/egg/octo/OctopusDrawable.java b/packages/EasterEgg/src/com/android/egg/octo/OctopusDrawable.java new file mode 100644 index 000000000000..5dde6e115268 --- /dev/null +++ b/packages/EasterEgg/src/com/android/egg/octo/OctopusDrawable.java @@ -0,0 +1,436 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the + * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +package com.android.egg.octo; + +import android.animation.TimeAnimator; +import android.content.Context; +import android.graphics.Canvas; +import android.graphics.ColorFilter; +import android.graphics.DashPathEffect; +import android.graphics.Matrix; +import android.graphics.Paint; +import android.graphics.Path; +import android.graphics.PixelFormat; +import android.graphics.PointF; +import android.graphics.Rect; +import android.graphics.drawable.Drawable; +import android.support.animation.DynamicAnimation; +import android.support.animation.SpringForce; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; +import android.support.animation.SpringAnimation; +import android.support.animation.FloatValueHolder; + +public class OctopusDrawable extends Drawable { + private static float BASE_SCALE = 100f; + public static boolean PATH_DEBUG = false; + + private static int BODY_COLOR = 0xFF101010; + private static int ARM_COLOR = 0xFF101010; + private static int ARM_COLOR_BACK = 0xFF000000; + private static int EYE_COLOR = 0xFF808080; + + private static int[] BACK_ARMS = {1, 3, 4, 6}; + private static int[] FRONT_ARMS = {0, 2, 5, 7}; + + private Paint mPaint = new Paint(); + private Arm[] mArms = new Arm[8]; + final PointF point = new PointF(); + private int mSizePx = 100; + final Matrix M = new Matrix(); + final Matrix M_inv = new Matrix(); + private TimeAnimator mDriftAnimation; + private boolean mBlinking; + private float[] ptmp = new float[2]; + private float[] scaledBounds = new float[2]; + + public static float randfrange(float a, float b) { + return (float) (Math.random()*(b-a) + a); + } + public static float clamp(float v, float a, float b) { + return v<a?a:v>b?b:v; + } + + public OctopusDrawable(Context context) { + float dp = context.getResources().getDisplayMetrics().density; + setSizePx((int) (100*dp)); + mPaint.setAntiAlias(true); + for (int i=0; i<mArms.length; i++) { + final float bias = (float)i/(mArms.length-1) - 0.5f; + mArms[i] = new Arm( + 0,0, // arm will be repositioned on moveTo + 10f*bias + randfrange(0,20f), randfrange(20f,50f), + 40f*bias+randfrange(-60f,60f), randfrange(30f, 80f), + randfrange(-40f,40f), randfrange(-80f,40f), + 14f, 2f); + } + } + + public void setSizePx(int size) { + mSizePx = size; + M.setScale(mSizePx/BASE_SCALE, mSizePx/BASE_SCALE); + // TaperedPathStroke.setMinStep(20f*BASE_SCALE/mSizePx); // nice little floaty circles + TaperedPathStroke.setMinStep(8f*BASE_SCALE/mSizePx); // classic tentacles + M.invert(M_inv); + } + + public void startDrift() { + if (mDriftAnimation == null) { + mDriftAnimation = new TimeAnimator(); + mDriftAnimation.setTimeListener(new TimeAnimator.TimeListener() { + float MAX_VY = 35f; + float JUMP_VY = -100f; + float MAX_VX = 15f; + private float ax = 0f, ay = 30f; + private float vx, vy; + long nextjump = 0; + long unblink = 0; + @Override + public void onTimeUpdate(TimeAnimator timeAnimator, long t, long dt) { + float t_sec = 0.001f * t; + float dt_sec = 0.001f * dt; + if (t > nextjump) { + vy = JUMP_VY; + nextjump = t + (long) randfrange(5000, 10000); + } + if (unblink > 0 && t > unblink) { + setBlinking(false); + unblink = 0; + } else if (Math.random() < 0.001f) { + setBlinking(true); + unblink = t + 200; + } + + ax = (float) (MAX_VX * Math.sin(t_sec*.25f)); + + vx = clamp(vx + dt_sec * ax, -MAX_VX, MAX_VX); + vy = clamp(vy + dt_sec * ay, -100*MAX_VY, MAX_VY); + + // oob check + if (point.y - BASE_SCALE/2 > scaledBounds[1]) { + vy = JUMP_VY; + } else if (point.y + BASE_SCALE < 0) { + vy = MAX_VY; + } + + point.x = clamp(point.x + dt_sec * vx, 0, scaledBounds[0]); + point.y = point.y + dt_sec * vy; + + repositionArms(); + } + }); + } + mDriftAnimation.start(); + } + + public void stopDrift() { + mDriftAnimation.cancel(); + } + + @Override + public void onBoundsChange(Rect bounds) { + final float w = bounds.width(); + final float h = bounds.height(); + + lockArms(true); + moveTo(w/2, h/2); + lockArms(false); + + scaledBounds[0] = w; + scaledBounds[1] = h; + M_inv.mapPoints(scaledBounds); + } + + // real pixel coordinates + public void moveTo(float x, float y) { + point.x = x; + point.y = y; + mapPointF(M_inv, point); + repositionArms(); + } + + public boolean hitTest(float x, float y) { + ptmp[0] = x; + ptmp[1] = y; + M_inv.mapPoints(ptmp); + return Math.hypot(ptmp[0] - point.x, ptmp[1] - point.y) < BASE_SCALE/2; + } + + private void lockArms(boolean l) { + for (Arm arm : mArms) { + arm.setLocked(l); + } + } + private void repositionArms() { + for (int i=0; i<mArms.length; i++) { + final float bias = (float)i/(mArms.length-1) - 0.5f; + mArms[i].setAnchor( + point.x+bias*30f,point.y+26f); + } + invalidateSelf(); + } + + private void drawPupil(Canvas canvas, float x, float y, float size, boolean open, + Paint pt) { + final float r = open ? size*.33f : size * .1f; + canvas.drawRoundRect(x - size, y - r, x + size, y + r, r, r, pt); + } + + @Override + public void draw(@NonNull Canvas canvas) { + canvas.save(); + { + canvas.concat(M); + + // arms behind + mPaint.setColor(ARM_COLOR_BACK); + for (int i : BACK_ARMS) { + mArms[i].draw(canvas, mPaint); + } + + // head/body/thing + mPaint.setColor(EYE_COLOR); + canvas.drawCircle(point.x, point.y, 36f, mPaint); + mPaint.setColor(BODY_COLOR); + canvas.save(); + { + canvas.clipOutRect(point.x - 61f, point.y + 8f, + point.x + 61f, point.y + 12f); + canvas.drawOval(point.x-40f,point.y-60f,point.x+40f,point.y+40f, mPaint); + } + canvas.restore(); + + // eyes + mPaint.setColor(EYE_COLOR); + if (mBlinking) { + drawPupil(canvas, point.x - 16f, point.y - 12f, 6f, false, mPaint); + drawPupil(canvas, point.x + 16f, point.y - 12f, 6f, false, mPaint); + } else { + canvas.drawCircle(point.x - 16f, point.y - 12f, 6f, mPaint); + canvas.drawCircle(point.x + 16f, point.y - 12f, 6f, mPaint); + } + + // too much? + if (false) { + mPaint.setColor(0xFF000000); + drawPupil(canvas, point.x - 16f, point.y - 12f, 5f, true, mPaint); + drawPupil(canvas, point.x + 16f, point.y - 12f, 5f, true, mPaint); + } + + // arms in front + mPaint.setColor(ARM_COLOR); + for (int i : FRONT_ARMS) { + mArms[i].draw(canvas, mPaint); + } + + if (PATH_DEBUG) for (Arm arm : mArms) { + arm.drawDebug(canvas); + } + } + canvas.restore(); + } + + public void setBlinking(boolean b) { + mBlinking = b; + invalidateSelf(); + } + + @Override + public void setAlpha(int i) { + } + + @Override + public void setColorFilter(@Nullable ColorFilter colorFilter) { + + } + + @Override + public int getOpacity() { + return PixelFormat.TRANSLUCENT; + } + + static Path pathMoveTo(Path p, PointF pt) { + p.moveTo(pt.x, pt.y); + return p; + } + static Path pathQuadTo(Path p, PointF p1, PointF p2) { + p.quadTo(p1.x, p1.y, p2.x, p2.y); + return p; + } + + static void mapPointF(Matrix m, PointF point) { + float[] p = new float[2]; + p[0] = point.x; + p[1] = point.y; + m.mapPoints(p); + point.x = p[0]; + point.y = p[1]; + } + + private class Link // he come to town + implements DynamicAnimation.OnAnimationUpdateListener { + final FloatValueHolder[] coords = new FloatValueHolder[2]; + final SpringAnimation[] anims = new SpringAnimation[coords.length]; + private float dx, dy; + private boolean locked = false; + Link next; + + Link(int index, float x1, float y1, float dx, float dy) { + coords[0] = new FloatValueHolder(x1); + coords[1] = new FloatValueHolder(y1); + this.dx = dx; + this.dy = dy; + for (int i=0; i<coords.length; i++) { + anims[i] = new SpringAnimation(coords[i]); + anims[i].setSpring(new SpringForce() + .setDampingRatio(SpringForce.DAMPING_RATIO_LOW_BOUNCY) + .setStiffness( + index == 0 ? SpringForce.STIFFNESS_LOW + : index == 1 ? SpringForce.STIFFNESS_VERY_LOW + : SpringForce.STIFFNESS_VERY_LOW/2) + .setFinalPosition(0f)); + anims[i].addUpdateListener(this); + } + } + public void setLocked(boolean locked) { + this.locked = locked; + } + public PointF start() { + return new PointF(coords[0].getValue(), coords[1].getValue()); + } + public PointF end() { + return new PointF(coords[0].getValue()+dx,coords[1].getValue()+dy); + } + public PointF mid() { + return new PointF( + 0.5f*dx+(coords[0].getValue()), + 0.5f*dy+(coords[1].getValue())); + } + public void animateTo(PointF target) { + if (locked) { + setStart(target.x, target.y); + } else { + anims[0].animateToFinalPosition(target.x); + anims[1].animateToFinalPosition(target.y); + } + } + @Override + public void onAnimationUpdate(DynamicAnimation dynamicAnimation, float v, float v1) { + if (next != null) { + next.animateTo(end()); + } + OctopusDrawable.this.invalidateSelf(); + } + + public void setStart(float x, float y) { + coords[0].setValue(x); + coords[1].setValue(y); + onAnimationUpdate(null, 0, 0); + } + } + + private class Arm { + final Link link1, link2, link3; + float max, min; + + public Arm(float x, float y, float dx1, float dy1, float dx2, float dy2, float dx3, float dy3, + float max, float min) { + link1 = new Link(0, x, y, dx1, dy1); + link2 = new Link(1, x+dx1, y+dy1, dx2, dy2); + link3 = new Link(2, x+dx1+dx2, y+dy1+dy2, dx3, dy3); + link1.next = link2; + link2.next = link3; + + link1.setLocked(true); + link2.setLocked(false); + link3.setLocked(false); + + this.max = max; + this.min = min; + } + + // when the arm is locked, it moves rigidly, without physics + public void setLocked(boolean locked) { + link2.setLocked(locked); + link3.setLocked(locked); + } + + private void setAnchor(float x, float y) { + link1.setStart(x,y); + } + + public Path getPath() { + Path p = new Path(); + pathMoveTo(p, link1.start()); + pathQuadTo(p, link2.start(), link2.mid()); + pathQuadTo(p, link2.end(), link3.end()); + return p; + } + + public void draw(@NonNull Canvas canvas, Paint pt) { + final Path p = getPath(); + TaperedPathStroke.drawPath(canvas, p, max, min, pt); + } + + private final Paint dpt = new Paint(); + public void drawDebug(Canvas canvas) { + dpt.setStyle(Paint.Style.STROKE); + dpt.setStrokeWidth(0.75f); + dpt.setStrokeCap(Paint.Cap.ROUND); + + dpt.setAntiAlias(true); + dpt.setColor(0xFF336699); + + final Path path = getPath(); + canvas.drawPath(path, dpt); + + dpt.setColor(0xFFFFFF00); + + dpt.setPathEffect(new DashPathEffect(new float[] {2f, 2f}, 0f)); + + canvas.drawLines(new float[] { + link1.end().x, link1.end().y, + link2.start().x, link2.start().y, + + link2.end().x, link2.end().y, + link3.start().x, link3.start().y, + }, dpt); + dpt.setPathEffect(null); + + dpt.setColor(0xFF00CCFF); + + canvas.drawLines(new float[] { + link1.start().x, link1.start().y, + link1.end().x, link1.end().y, + + link2.start().x, link2.start().y, + link2.end().x, link2.end().y, + + link3.start().x, link3.start().y, + link3.end().x, link3.end().y, + }, dpt); + + dpt.setColor(0xFFCCEEFF); + canvas.drawCircle(link2.start().x, link2.start().y, 2f, dpt); + canvas.drawCircle(link3.start().x, link3.start().y, 2f, dpt); + + dpt.setStyle(Paint.Style.FILL_AND_STROKE); + canvas.drawCircle(link1.start().x, link1.start().y, 2f, dpt); + canvas.drawCircle(link2.mid().x, link2.mid().y, 2f, dpt); + canvas.drawCircle(link3.end().x, link3.end().y, 2f, dpt); + } + + } +} diff --git a/packages/EasterEgg/src/com/android/egg/octo/TaperedPathStroke.java b/packages/EasterEgg/src/com/android/egg/octo/TaperedPathStroke.java new file mode 100644 index 000000000000..e014fbc2559e --- /dev/null +++ b/packages/EasterEgg/src/com/android/egg/octo/TaperedPathStroke.java @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the + * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +package com.android.egg.octo; + +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.Path; +import android.graphics.PathMeasure; +import android.os.Debug; + +import java.util.Arrays; + +public class TaperedPathStroke { + static float sMinStepPx = 4f; + static PathMeasure pm = new PathMeasure(); + static float[] pos = {0,0}; + static float[] tan = {0,0}; + static float lerp(float t, float a, float b) { + return a + t*(b-a); + } + public static void setMinStep(float px) { + sMinStepPx = px; + } + + // it's the variable-width brush algorithm from the Markers app, basically + public static void drawPath(Canvas c, Path p, float r1, float r2, Paint pt) { + pm.setPath(p,false); + final float len = pm.getLength(); + float t=0; + boolean last=false; + while (true) { + if (t>=len) { + t=len; + last=true; + } + pm.getPosTan(t, pos, tan); + float r = len > 0 ? lerp(t/len, r1, r2) : r1; + c.drawCircle(pos[0], pos[1], r, pt); + t += Math.max(r*0.25f, sMinStepPx); // walk forward 1/4 radius, not too small though + if (last) break; + } + } +} diff --git a/packages/SettingsLib/res/values-af/strings.xml b/packages/SettingsLib/res/values-af/strings.xml index 1058110d1f75..6576035ddcf6 100644 --- a/packages/SettingsLib/res/values-af/strings.xml +++ b/packages/SettingsLib/res/values-af/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Nie gekoppel nie weens laegehalte-netwerk"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"WiFi-verbinding het misluk"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Stawingsprobleem"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Kan nie koppel nie"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Kan nie aan \"<xliff:g id="AP_NAME">%1$s</xliff:g>\" koppel nie"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Gaan wagwoord na en probeer weer"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Nie binne ontvangs nie"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Sal nie outomaties koppel nie"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Geen internettoegang nie"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Gekoppel via %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Beskikbaar via %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Gekoppel, geen internet nie"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Baie stadig"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Stadig"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"OK"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Middelmatig"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Vinnig"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Baie vinnig"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Ontkoppel"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Ontkoppel tans…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Verbind tans…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Gekoppel (geen boodskaptoegang nie)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Gekoppel (geen foon of media nie)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Media-oudio"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Foonoproepe"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Lêeroordrag"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Invoertoestel"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Internettoegang"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Kontakdeling"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Gebruik vir kontakdeling"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Deling van internetverbinding"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Teksboodskappe"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"SIM-toegang"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD-oudio: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD oudio"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Gekoppel aan media-oudio"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Gekoppel aan foonoudio"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Gekoppel aan lêeroordragbediener"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Kleurregstelling"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Hierdie kenmerk is eksperimenteel en kan werkverrigting beïnvloed."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Geneutraliseer deur <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Omtrent <xliff:g id="TIME">%1$s</xliff:g> oor"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Ongeveer <xliff:g id="TIME">%1$s</xliff:g> oor gegrond op jou gebruik"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">%1$s</xliff:g> oor tot vol gelaai"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> oor"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"<xliff:g id="TIME">%1$s</xliff:g> oor gegrond op jou gebruik"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> – omtrent <xliff:g id="TIME">%2$s</xliff:g> oor"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> – ongeveer <xliff:g id="TIME">%2$s</xliff:g> oor gegrond op jou gebruik"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> oor"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Omtrent <xliff:g id="TIME">^1</xliff:g> oor"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Ongeveer <xliff:g id="TIME">^1</xliff:g> oor gegrond op jou gebruik"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">^1</xliff:g> oor tot vol gelaai"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> oor"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"<xliff:g id="TIME">^1</xliff:g> oor gegrond op jou gebruik"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> – omtrent <xliff:g id="TIME">^2</xliff:g> oor"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> – ongeveer <xliff:g id="TIME">^2</xliff:g> oor gegrond op jou gebruik"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g> oor"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> tot vol gelaai"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g> tot vol gelaai"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Onbekend"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Laai"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"laai tans"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Beheer deur administrateur"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Geaktiveer deur administrateur"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Gedeaktiveer deur administrateur"</string> + <string name="disabled" msgid="9206776641295849915">"Gedeaktiveer"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Toegelaat"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Nie toegelaat nie"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Installeer onbekende apps"</string> <string name="home" msgid="3256884684164448244">"Instellingstuisblad"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-am/strings.xml b/packages/SettingsLib/res/values-am/strings.xml index dfa5aaa726ad..d7ddedcf34b5 100644 --- a/packages/SettingsLib/res/values-am/strings.xml +++ b/packages/SettingsLib/res/values-am/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"በዝቅተኛ አውታረ መረብ ምክንያት አልተገናኘም"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"የWiFi ግንኙነት መሰናከል"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"የማረጋገጫ ችግር"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"መገናኘት አልተቻለም"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"ወደ «<xliff:g id="AP_NAME">%1$s</xliff:g>» ማገናኘት አይቻልም"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"የይለፍ ቃልን ይፈትሹ እና እንደገና ይሞክሩ"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"በክልል ውስጥ የለም"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"በራስ-ሰር አይገናኝም"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"ምንም የበይነመረብ መዳረሻ ያለም"</string> @@ -37,18 +40,12 @@ <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> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"በጣም ቀርፋፋ"</string> + <string name="speed_label_slow" msgid="813109590815810235">"አዘግይ"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"እሺ"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"መካከለኛ"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"ፈጣን"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"እጅግ በጣም ፈጣን"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"ተለያይቷል"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"በመለያየት ላይ..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"በማገናኘት ላይ…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"ተገናኝቷል (ምንም የመልዕክት መዳረሻ የለም)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"ተያይዟል (ምንም ስልክ ወይም ማህደረ መረጃ የለም)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"የማህደረ መረጃ ኦዲዮ"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"የስልክ ጥሪዎች"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"ፋይል ማስተላለፍ"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"ግቤት መሣሪያ"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"የበይነመረብ ድረስ"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"እውቂያ ማጋራት"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"እውቂያን ለማጋራት ተጠቀም"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"የበይነ መረብ ተያያዥ ማጋሪያ"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"የጽሑፍ መልዕክቶች"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"የሲም መዳረሻ"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"ኤችዲ ኦዲዮ፦ <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"ኤችዲ ኦዲዮ"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"ወደ ማህደረ መረጃ አውዲዮ ተያይዟል"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"ወደ ስልክ አውዲዮ ተያይዟል"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"ወደ ፋይል ዝውውር አገልጋይ ተያይዟል"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"የቀለም ማስተካከያ"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"ይህ ባህሪ የሙከራ ነውና አፈጻጸም ላይ ተጽዕኖ ሊኖረው ይችላል።"</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"በ<xliff:g id="TITLE">%1$s</xliff:g> ተሽሯል"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"<xliff:g id="TIME">%1$s</xliff:g> አካባቢ ቀርቷል"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"በእርስዎ አጠቃቀም ላይ በመመስረት <xliff:g id="TIME">%1$s</xliff:g> ገደማ ቀርቷል"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"ሙሉ ኃይል እስኪሞላ ድረስ <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> ቀርቷል"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"በእርስዎ አጠቃቀም ላይ በመመስረት <xliff:g id="TIME">%1$s</xliff:g> ቀርቷል"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> አካባቢ ይቀራል"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - በእርስዎ አጠቃቀም ላይ በመመስረት <xliff:g id="TIME">%2$s</xliff:g> ገደማ ቀርቷል"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> ይቀራል"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"<xliff:g id="TIME">^1</xliff:g> አካባቢ ቀርቷል"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"በእርስዎ አጠቃቀም ላይ በመመስረት <xliff:g id="TIME">^1</xliff:g> ገደማ ቀርቷል"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"ሙሉ ኃይል እስኪሞላ ድረስ <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> ቀርቷል"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"በእርስዎ አጠቃቀም ላይ በመመስረት <xliff:g id="TIME">^1</xliff:g> ቀርቷል"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> አካባቢ ይቀራል"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - በእርስዎ አጠቃቀም ላይ በመመስረት <xliff:g id="TIME">^2</xliff:g> ገደማ ቀርቷል"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> ይቀራል"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - ሙሉ ለሙሉ እስኪሞላ ድረስ <xliff:g id="TIME">%2$s</xliff:g>"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - ሙሉ ለሙሉ እስኪሞላ ድረስ <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"ያልታወቀ"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"ኃይል በመሙላት ላይ"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"ኃይል በመሙላት ላይ"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"በአስተዳዳሪ ቁጥጥር የተደረገበት"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"በአስተዳዳሪ ነቅቷል"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"በአስተዳዳሪ ተሰናክሏል"</string> + <string name="disabled" msgid="9206776641295849915">"ቦዝኗል"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"ይፈቀዳል"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"አይፈቀድም"</string> + <string name="install_other_apps" msgid="6986686991775883017">"ያልታወቁ መተግበሪያዎችን ይጫኑ"</string> <string name="home" msgid="3256884684164448244">"የቅንብሮች መነሻ"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-ar/strings.xml b/packages/SettingsLib/res/values-ar/strings.xml index 343c82f71018..c879100aef9c 100644 --- a/packages/SettingsLib/res/values-ar/strings.xml +++ b/packages/SettingsLib/res/values-ar/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"الجهاز غير متصل بسبب انخفاض جودة الشبكة"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"تعذّر اتصال WiFi"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"حدثت مشكلة في المصادقة"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"تعذَّر الاتصال"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"تعذَّر الاتصال بـ \'<xliff:g id="AP_NAME">%1$s</xliff:g>\'"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"يُرجى التحقق من كلمة المرور وإعادة المحاولة"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"ليست في النطاق"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"لن يتم الاتصال تلقائيًا"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"لا يتوفر اتصال بالإنترنت"</string> @@ -37,18 +40,12 @@ <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> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"بطيئة جدًا"</string> + <string name="speed_label_slow" msgid="813109590815810235">"بطيئة"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"موافق"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"متوسطة"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"سريعة"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"سريعة جدًا"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"غير متصل"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"جارٍ قطع الاتصال..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"جارٍ الاتصال…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"تم الاتصال (يتعذر الدخول إلى الرسائل)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"متصل (بجهاز غير الهاتف أو الوسائط)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"الإعدادات الصوتية للوسائط"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"المكالمات الهاتفية"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"نقل الملف"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"جهاز الإرسال"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"الدخول إلى الإنترنت"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"مشاركة جهة الاتصال"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"استخدام مع مشاركة جهة الاتصال"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"مشاركة اتصال الإنترنت"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"الرسائل النصية"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"الوصول إلى شريحة SIM"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"صوت عالي الدقة: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"صوت عالي الدقة"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"متصل بالإعدادات الصوتية للوسائط"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"متصل بالإعدادات الصوتية للهاتف"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"متصل بخادم نقل الملف"</string> @@ -336,19 +329,19 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"تصحيح الألوان"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"هذه الميزة تجريبية وقد تؤثر في الأداء."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"تم الاستبدال بـ <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"يتبقى حوالي <xliff:g id="TIME">%1$s</xliff:g> لإتمام شحن البطارية"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"يتبقى <xliff:g id="TIME">%1$s</xliff:g> تقريبًا بناءً على استخدامك"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"يتبقى <xliff:g id="TIME">%1$s</xliff:g> لشحن البطارية بالكامل"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"يتبقى <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"يتبقى <xliff:g id="TIME">%1$s</xliff:g> بناءً على استخدامك"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - يتبقى <xliff:g id="TIME">%2$s</xliff:g> تقريبًا"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - يتبقى <xliff:g id="TIME">%2$s</xliff:g> تقريبًا بناءً على استخدامك"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - يتبقى <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"يتبقى حوالي <xliff:g id="TIME">^1</xliff:g> لإتمام شحن البطارية"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"يتبقى <xliff:g id="TIME">^1</xliff:g> تقريبًا بناءً على استخدامك"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"يتبقى <xliff:g id="TIME">^1</xliff:g> لشحن البطارية بالكامل"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"يتبقى <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"يتبقى <xliff:g id="TIME">^1</xliff:g> بناءً على استخدامك"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - يتبقى <xliff:g id="TIME">^2</xliff:g> تقريبًا"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - يتبقى <xliff:g id="TIME">^2</xliff:g> تقريبًا بناءً على استخدامك"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - يتبقى <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> حتى يكتمل الشحن"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> حتى يكتمل الشحن"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"غير معروف"</string> - <string name="battery_info_status_charging" msgid="1705179948350365604">"جاري الشحن"</string> + <string name="battery_info_status_charging" msgid="1705179948350365604">"جارٍ الشحن"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"جارٍ الشحن"</string> <string name="battery_info_status_discharging" msgid="310932812698268588">"لا يتم الشحن"</string> <string name="battery_info_status_not_charging" msgid="2820070506621483576">"لا يتم الشحن"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"إعدادات يتحكم فيها المشرف"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"تم تمكين الإعداد بواسطة المشرف"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"تم تعطيل الإعداد بواسطة المشرف"</string> + <string name="disabled" msgid="9206776641295849915">"معطل"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"مسموح به"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"غير مسموح به"</string> + <string name="install_other_apps" msgid="6986686991775883017">"تثبيت التطبيقات غير المعروفة"</string> <string name="home" msgid="3256884684164448244">"الشاشة الرئيسية للإعدادات"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"٠٪"</item> diff --git a/packages/SettingsLib/res/values-az/strings.xml b/packages/SettingsLib/res/values-az/strings.xml index be22538f2842..6b32c3533b8f 100644 --- a/packages/SettingsLib/res/values-az/strings.xml +++ b/packages/SettingsLib/res/values-az/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Şəbəkə keyfiyyəti aşağı olduğuna görə qoşulmadı"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"WiFi Bağlantı Uğursuzluğu"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Autentifikasiya problemi"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Qoşulmaq mümkün deyil"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"\"<xliff:g id="AP_NAME">%1$s</xliff:g>\" şəbəkəsinə qoşulmaq mümkün deyil"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Parolu yoxlayın və yenidən cəhd edin"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Diapazonda deyil"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Avtomatik qoşulmayacaq"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"İnternet girişi yoxdur"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"%1$s vasitəsilə qoşuludur"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"%1$s vasitəsilə əlçatandır"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Qoşuludur, internet yoxdur"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Çox Yavaş"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Yavaş"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"OK"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Orta"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Sürətli"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Çox Sürətli"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Ayrıldı"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Ayrılır..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Qoşulur..."</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Qoşulu (mesaj girişi yoxdur)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Bağlantı yaradılıb (telefon və ya media deyil)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Media audio"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Telefon zəngləri"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Fayl transferi"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Daxiletmə cihazı"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"İnternet girişi"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Kontakt paylaşımı"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Kontakt paylaşımı üçün istifadə edin"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"internet bağlantı paylaşımı"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Mətn Mesajları"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"SIM Girişi"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD audio: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD audio"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Media audioya birləşdirilib"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Telefon audiosuna qoşulu"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Fayl transfer serverinə qoşulu"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Rəng düzəlişi"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Bu funksiya eksperimentaldır və performansa təsir edə bilər."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"<xliff:g id="TITLE">%1$s</xliff:g> tərəfindən qəbul edilmir"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Təxminən <xliff:g id="TIME">%1$s</xliff:g> qalıb"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"İstifadəyə əsasən təxminən <xliff:g id="TIME">%1$s</xliff:g> qalıb"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Tam enerji yığmağına <xliff:g id="TIME">%1$s</xliff:g> qalıb"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> qalıb"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"İstifadəyə əsasən <xliff:g id="TIME">%1$s</xliff:g> qalıb"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - təxminən <xliff:g id="TIME">%2$s</xliff:g> qalıb"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - istifadəyə əsasən təxminən <xliff:g id="TIME">%2$s</xliff:g> qalıb"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> qalıb"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Təxminən <xliff:g id="TIME">^1</xliff:g> qalıb"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"İstifadəyə əsasən təxminən <xliff:g id="TIME">^1</xliff:g> qalıb"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Tam enerji yığmağına <xliff:g id="TIME">^1</xliff:g> qalıb"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> qalıb"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"İstifadəyə əsasən <xliff:g id="TIME">^1</xliff:g> qalıb"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - təxminən <xliff:g id="TIME">^2</xliff:g> qalıb"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - istifadəyə əsasən təxminən <xliff:g id="TIME">^2</xliff:g> qalıb"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> qalıb"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> tam enerji yığana kimi"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> tam enerji yığana kimi"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Naməlum"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Enerji doldurma"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"enerji yığır"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Admin tərəfindən nəzarət olunur"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Admin tərəfindən aktiv edildi"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Admin tərəfindən deaktiv edildi"</string> + <string name="disabled" msgid="9206776641295849915">"Deaktiv"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"İcazə verilib"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"İcazə verilməyib"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Naməlum tətbiqlərin quraşdırılması"</string> <string name="home" msgid="3256884684164448244">"Ayarların əsas səhifəsi"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-b+sr+Latn/strings.xml b/packages/SettingsLib/res/values-b+sr+Latn/strings.xml index e8fade22b8a2..0f323ddaea4f 100644 --- a/packages/SettingsLib/res/values-b+sr+Latn/strings.xml +++ b/packages/SettingsLib/res/values-b+sr+Latn/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Nije povezano zbog lošeg kvaliteta mreže"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Wi-Fi veza je otkazala"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Problem sa potvrdom autentičnosti"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Povezivanje nije uspelo"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Povezivanje sa „<xliff:g id="AP_NAME">%1$s</xliff:g>“ nije uspelo"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Proverite lozinku i probajte ponovo"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Nije u opsegu"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Automatsko povezivanje nije uspelo"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Nema pristupa internetu"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Veza je uspostavljena preko pristupne tačke %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Dostupna je preko pristupne tačke %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Veza je uspostavljena, nema interneta"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Veoma spora"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Spora"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"Potvrdi"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Srednja"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Brza"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Veoma brza"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Veza je prekinuta"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Prekidanje veze..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Povezivanje…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Povezano je (nema pristupa porukama)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Povezano (bez telefona ili medija)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Zvuk medija"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Telefonski pozivi"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Prenos datoteke"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Ulazni uređaj"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Pristup Internetu"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Deljenje kontakata"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Koristite za deljenje kontakata"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Deljenje internet veze"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"SMS-ovi"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Pristup SIM kartici"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD zvuk: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD zvuk"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Povezano sa zvukom medija"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Povezano sa zvukom telefona"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Povezano sa serverom za prenos datoteka"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Korekcija boja"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Ova funkcija je eksperimentalna i može da utiče na kvalitet rada."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Zamenjuje ga <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Još oko <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Na osnovu potrošnje imate još otprilike <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">%1$s</xliff:g> do potpunog punjenja"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Preostalo vreme: <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Na osnovu potrošnje imate još <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> – ostalo je oko <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> – na osnovu potrošnje imate još otprilike <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"Preostalo je <xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Još oko <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Na osnovu potrošnje imate još otprilike <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">^1</xliff:g> do potpunog punjenja"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Preostalo vreme: <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Na osnovu potrošnje imate još <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> – ostalo je oko <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> – na osnovu potrošnje imate još otprilike <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"Preostalo je <xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> do potpunog punjenja"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g> do potpunog punjenja"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Nepoznato"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Punjenje"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"puni se"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Kontroliše administrator"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Omogućio je administrator"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Administrator je onemogućio"</string> + <string name="disabled" msgid="9206776641295849915">"Onemogućeno"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Dozvoljeno"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Nije dozvoljeno"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Instalirajte nepozn. apl."</string> <string name="home" msgid="3256884684164448244">"Početna za Podešavanja"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-be/strings.xml b/packages/SettingsLib/res/values-be/strings.xml index c69b3141c7a6..5f7332cd806a 100644 --- a/packages/SettingsLib/res/values-be/strings.xml +++ b/packages/SettingsLib/res/values-be/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Няма падключэння з-за нізкай якасці сеткі"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Збой падлучэння Wi-Fi"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Праблема аўтэнтыфікацыі"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Немагчыма падключыцца"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Немагчыма падключыцца да сеткі \"<xliff:g id="AP_NAME">%1$s</xliff:g>\""</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Праверце пароль і паўтарыце спробу"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Не ў зоне дасягальнасці"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Не будзе аўтаматычна падключацца"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Няма доступу да інтэрнэту"</string> @@ -37,18 +40,12 @@ <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> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Вельмі павольная"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Павольная"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"ОК"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Сярэдняя"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Хуткая"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Вельмі хуткая"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Адключана"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Адключэнне..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Злучэнне..."</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Падлучана (без доступу да паведамленняў)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Падключаны (без тэлефона або носьбіта)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Аўдыё медыяпрылады"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Тэлефонныя выклікі"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Перадача файлаў"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Прылада ўводу"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Доступ у інтэрнэт"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Абагуленне кантактаў"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Выкарыстоўваць для абагулення кантактаў"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Прадастаўленне доступу да Інтэрнэту"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Тэкставыя паведамленні"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Доступ да SIM-карты"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"Аўдыя ў HD: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"Аўдыя ў HD"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Падключана да аўдыё медыа"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Падключана да аўдыё тэлефона"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Падключаны да серверу перадачы файлаў"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Карэкцыя колеру"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Гэта функцыя з\'яўляецца эксперыментальнай і можа паўплываць на прадукцыйнасць."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Перавызначаны <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Засталося каля <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Засталося каля <xliff:g id="TIME">%1$s</xliff:g> на аснове вашага выкарыстання"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Да поўнай зарадкі засталося <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Засталося <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Засталося <xliff:g id="TIME">%1$s</xliff:g> на аснове вашага выкарыстання"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> – засталося каля <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> – засталося каля <xliff:g id="TIME">%2$s</xliff:g> на аснове вашага выкарыстання"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> – засталося <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Засталося каля <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Засталося каля <xliff:g id="TIME">^1</xliff:g> на аснове вашага выкарыстання"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Да поўнай зарадкі засталося <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Засталося <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Засталося <xliff:g id="TIME">^1</xliff:g> на аснове вашага выкарыстання"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> – засталося каля <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> – засталося каля <xliff:g id="TIME">^2</xliff:g> на аснове вашага выкарыстання"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> – засталося <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> да поўнай зарадкі"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g> да поўнай зарадкі"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Невядома"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Зарадка"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"ідзе зарадка"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Кантралюецца адміністратарам"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Уключана адміністратарам"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Адключана адміністратарам"</string> + <string name="disabled" msgid="9206776641295849915">"Адключанае"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Дазволена"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Забаронена"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Усталёўваць невядомыя праграмы"</string> <string name="home" msgid="3256884684164448244">"Галоўная старонка налад"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0 %"</item> diff --git a/packages/SettingsLib/res/values-bg/strings.xml b/packages/SettingsLib/res/values-bg/strings.xml index b7713b90eec3..b69e290e02df 100644 --- a/packages/SettingsLib/res/values-bg/strings.xml +++ b/packages/SettingsLib/res/values-bg/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Не е установена връзка поради ниското качество на мрежата"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Неуспешна връзка с Wi-Fi"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Проблем при удостоверяването"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Не може да се установи връзка"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Не може да се установи връзка с/ъс <xliff:g id="AP_NAME">%1$s</xliff:g>"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Проверете паролата и опитайте отново"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Извън обхват"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Няма да се свърже автоматично"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Няма достъп до интернет"</string> @@ -37,18 +40,12 @@ <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> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Много бавна"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Бавна"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"ОK"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Средна"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Бърза"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Много бърза"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Изкл."</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Изключва се..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Установява се връзка…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Има връзка (няма достъп до съобщенията)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Свързано (без телефона или мултимедията)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Мултимедийно аудио"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Телефонни обаждания"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Прехвърляне на файл"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Входно устройство"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Достъп до интернет"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Споделяне на контакти"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Използване за споделяне на контакти"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Споделяне на връзката с интернет"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Текстови съобщения"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Достъп до SIM картата"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"Висококачествено аудио: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"Висококачествено аудио"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Установена е връзка с медийно аудио"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Връзка със звука на телефона"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Установена е връзка със сървър за трансфер на файлове"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Корекция на цветове"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Тази функция е експериментална и може да се отрази на ефективността."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Заменено от „<xliff:g id="TITLE">%1$s</xliff:g>“"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Оставащо време: около <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Още около <xliff:g id="TIME">%1$s</xliff:g> въз основа на използването"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Оставащо време до пълно зареждане: <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Оставащо време: <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Още <xliff:g id="TIME">%1$s</xliff:g> въз основа на използването"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> – около <xliff:g id="TIME">%2$s</xliff:g> оставащо време"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> – още около <xliff:g id="TIME">%2$s</xliff:g> въз основа на използването"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> – оставащо време: <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Оставащо време: около <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Още около <xliff:g id="TIME">^1</xliff:g> въз основа на използването"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Оставащо време до пълно зареждане: <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Оставащо време: <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Още <xliff:g id="TIME">^1</xliff:g> въз основа на използването"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> – около <xliff:g id="TIME">^2</xliff:g> оставащо време"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> – още около <xliff:g id="TIME">^2</xliff:g> въз основа на използването"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> – оставащо време: <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> до пълно зареждане"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g> до пълно зареждане"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Неизвестно"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Зарежда се"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"зарежда се"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Контролира се от администратор"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Активирано от администратора"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Деактивирано от администратора"</string> + <string name="disabled" msgid="9206776641295849915">"Деактивирано"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Има разрешение"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Няма разрешение"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Инст. на неизвестни прилож."</string> <string name="home" msgid="3256884684164448244">"Начален екран на Настройки"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-bn/strings.xml b/packages/SettingsLib/res/values-bn/strings.xml index 7b6cffef47cc..e8faf5dfeaab 100644 --- a/packages/SettingsLib/res/values-bn/strings.xml +++ b/packages/SettingsLib/res/values-bn/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"খারাপ নেটওয়ার্কের কারণে সংযুক্ত নয়"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"ওয়াই ফাই সংযোগের ব্যর্থতা"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"প্রমাণীকরণ সমস্যা"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"সংযোগ স্থাপন করা যাচ্ছে না"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"\'<xliff:g id="AP_NAME">%1$s</xliff:g>\'এ যোগ করা যায়নি"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"পাসওয়ার্ড দেখে আবার চেষ্টা করুন"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"পরিসরের মধ্যে নয়"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"স্বয়ংক্রিয়ভাবে সংযোগ করবে না"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"কোনো ইন্টারনেট অ্যাক্সেস নেই"</string> @@ -37,18 +40,12 @@ <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> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"খুব ধীরে"</string> + <string name="speed_label_slow" msgid="813109590815810235">"ধীরে"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"ঠিক আছে"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"মাঝারি"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"দ্রুত"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"খুব দ্রুত"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"সংযোগ বিচ্ছিন্ন করা হয়েছে"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"সংযোগ বিচ্ছিন্ন হচ্ছে..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"সংযুক্ত হচ্ছে..."</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"সংযুক্ত (কোনো বার্তা অ্যাক্সেস নেই)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"সংযুক্ত (কোনো ফোন বা মিডিয়া নেই)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"মিডিয়া অডিও"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"ফোন কল"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"ফাইল স্থানান্তর"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"ইনপুট ডিভাইস"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"ইন্টারনেট অ্যাক্সেস"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"পরিচিতি শেয়ার করা"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"পরিচিতি শেয়ার করার কাজে ব্যবহার করুন"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"ইন্টারনেট সংযোগ শেয়ার করা হচ্ছে"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"এসএমএস"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"সিম -এর অ্যাক্সেস"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD অডিও: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD অডিও"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"মিডিয়া অডিওতে সংযুক্ত রয়েছে"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"ফোন অডিওতে সংযুক্ত"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"ফাইল স্থানান্তর সার্ভারের সঙ্গে সংযুক্ত"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"রঙ সংশোধন"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"এই বৈশিষ্ট্যটি পরীক্ষামূলক এবং এটি কার্য-সম্পাদনা প্রভাবিত করতে পারে।"</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"<xliff:g id="TITLE">%1$s</xliff:g> এর দ্বারা ওভাররাইড করা হয়েছে"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"প্রায় <xliff:g id="TIME">%1$s</xliff:g> বাকি"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"বর্তমান ব্যাটারি ব্যবহার অনুযায়ী আর <xliff:g id="TIME">%1$s</xliff:g> বাকি"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"সম্পূর্ণ চার্জ হতে <xliff:g id="TIME">%1$s</xliff:g> বাকি"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> বাকী আছে"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"বর্তমান ব্যাটারি ব্যবহার অনুযায়ী আর <xliff:g id="TIME">%1$s</xliff:g> বাকি"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - প্রায় <xliff:g id="TIME">%2$s</xliff:g> বাকি আছে"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - বর্তমান ব্যাটারি ব্যবহার অনুযায়ী আর <xliff:g id="TIME">%2$s</xliff:g> বাকি"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> বাকী আছে"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"প্রায় <xliff:g id="TIME">^1</xliff:g> বাকি"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"বর্তমান ব্যাটারি ব্যবহার অনুযায়ী আর <xliff:g id="TIME">^1</xliff:g> বাকি"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"সম্পূর্ণ চার্জ হতে <xliff:g id="TIME">^1</xliff:g> বাকি"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> বাকী আছে"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"বর্তমান ব্যাটারি ব্যবহার অনুযায়ী আর <xliff:g id="TIME">^1</xliff:g> বাকি"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - প্রায় <xliff:g id="TIME">^2</xliff:g> বাকি আছে"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - বর্তমান ব্যাটারি ব্যবহার অনুযায়ী আর <xliff:g id="TIME">^2</xliff:g> বাকি"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> বাকী আছে"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - সম্পূর্ণ চার্জ হতে <xliff:g id="TIME">%2$s</xliff:g> লাগবে"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - সম্পূর্ণ চার্জ হতে <xliff:g id="TIME">^2</xliff:g> লাগবে"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"অজানা"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"চার্জ হচ্ছে"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"চার্জ হচ্ছে"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"প্রশাসকের দ্বারা নিয়ন্ত্রিত"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"প্রশাসক দ্বারা সক্ষম করা হয়েছে"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"প্রশাসক দ্বারা অক্ষম করা হয়েছে"</string> + <string name="disabled" msgid="9206776641295849915">"অক্ষম হয়েছে"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"অনুমোদিত"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"অনুমোদিত নয়"</string> + <string name="install_other_apps" msgid="6986686991775883017">"অজানা অ্যাপ ইনস্টল করুন"</string> <string name="home" msgid="3256884684164448244">"সেটিংস হোম"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"০%"</item> diff --git a/packages/SettingsLib/res/values-bs/strings.xml b/packages/SettingsLib/res/values-bs/strings.xml index 58598a34b070..deab61da1bb2 100644 --- a/packages/SettingsLib/res/values-bs/strings.xml +++ b/packages/SettingsLib/res/values-bs/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Niste povezani zbog slabog kvaliteta mreže"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Greška pri povezivanju na Wi-Fi"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Problem pri provjeri vjerodostojnosti."</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Nije se moguće povezati"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Nije se moguće povezati na aplikaciju \'<xliff:g id="AP_NAME">%1$s</xliff:g>\'"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Provjerite lozinku i pokušajte ponovo"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Nije u dometu"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Neće se automatski povezati"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Nema pristupa internetu"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Povezani preko %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Dostupan preko %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Povezano. Nema interneta"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Veoma sporo"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Sporo"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"UREDU"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Srednja brzina"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Brzo"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Veoma brzo"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Isključen"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Prekidanje veze…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Povezivanje…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Povezano (bez pristupa porukama)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Povezano (bez zvuka telefona ili medija)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Zvuk medija"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Telefonski pozivi"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Prenošenje fajla"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Ulazni uređaj"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Pristup internetu"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Dijeljenje kontakta"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Koristi za dijeljenje kontakta"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Dijeljenje internet veze"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Tekstualne poruke"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Pristup SIM-u"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD audio: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD audio"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Povezano sa zvukom medija"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Povezano na zvuk telefona"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Povezan na server za prijenos podataka"</string> @@ -166,7 +159,7 @@ <string name="development_settings_not_available" msgid="4308569041701535607">"Opcije za programere nisu dostupne za ovog korisnika"</string> <string name="vpn_settings_not_available" msgid="956841430176985598">"VPN postavke nisu dostupne za ovog korisnika"</string> <string name="tethering_settings_not_available" msgid="6765770438438291012">"Postavke za privezivanje nisu dostupne za ovog korisnika"</string> - <string name="apn_settings_not_available" msgid="7873729032165324000">"Postavke za naziv pristupne tačke nisu dostupne za ovog korisnika"</string> + <string name="apn_settings_not_available" msgid="7873729032165324000">"Postavke za ime pristupne tačke nisu dostupne za ovog korisnika"</string> <string name="enable_adb" msgid="7982306934419797485">"Otklanjanje grešaka putem uređaja spojenog na USB"</string> <string name="enable_adb_summary" msgid="4881186971746056635">"Način rada za uklanjanje grešaka kada je povezan USB"</string> <string name="clear_adb_keys" msgid="4038889221503122743">"Ukini odobrenja otklanjanja grešaka putem uređaja spojenog na USB"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Ispravka boje"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Ova funkcija je eksperimentalna i može uticati na performanse."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Zamjenjuje <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Preostalo je otprilike još <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Preostalo je još oko <xliff:g id="TIME">%1$s</xliff:g>, na osnovu vašeg korištenja"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Još <xliff:g id="TIME">%1$s</xliff:g> do potpune napunjenosti"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Imate još <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Preostalo je još <xliff:g id="TIME">%1$s</xliff:g>, na osnovu vašeg korištenja"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - imate još <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - preostalo je još oko <xliff:g id="TIME">%2$s</xliff:g>, na osnovu vašeg korištenja"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - imate još <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Preostalo je otprilike još <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Preostalo je još oko <xliff:g id="TIME">^1</xliff:g>, na osnovu vašeg korištenja"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Još <xliff:g id="TIME">^1</xliff:g> do potpune napunjenosti"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Imate još <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Preostalo je još <xliff:g id="TIME">^1</xliff:g>, na osnovu vašeg korištenja"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - imate još <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - preostalo je još oko <xliff:g id="TIME">^2</xliff:g>, na osnovu vašeg korištenja"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - imate još <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> do potpune napunjenosti"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> do potpune napunjenosti"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Nepoznato"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Punjenje"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"punjenje"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Pod kontrolom administratora"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Omogućio administrator"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Onemogućio administrator"</string> + <string name="disabled" msgid="9206776641295849915">"Onemogućeno"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Dozvoljeno"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Nije dozvoljeno"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Instaliranje nepoznatih aplikacija"</string> <string name="home" msgid="3256884684164448244">"Postavke početne stranice"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-ca/strings.xml b/packages/SettingsLib/res/values-ca/strings.xml index d9cfb9cdb65a..fbdb394976dc 100644 --- a/packages/SettingsLib/res/values-ca/strings.xml +++ b/packages/SettingsLib/res/values-ca/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"No s\'ha connectat a la xarxa perquè la qualitat és baixa"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Error de connexió Wi-Fi"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Problema d\'autenticació"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"No es pot connectar"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"No es pot connectar a <xliff:g id="AP_NAME">%1$s</xliff:g>"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Comprova la contrasenya i torna-ho a provar"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Fora de l\'abast"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"No es connectarà automàticament"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"No hi ha accés a Internet"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Connectada mitjançant %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Disponible mitjançant %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Connectada, sense Internet"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Molt lenta"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Lenta"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"Correcta"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Mitjana"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Ràpida"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Molt ràpida"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Desconnectat"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"S\'està desconnectant..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"S\'està connectant…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Connectat (no hi ha accés als missatges)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Connectat (sense telèfon o disp. mult.)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Àudio multimèdia"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Trucades telefòniques"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Transferència del fitxer"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Dispositiu d\'entrada"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Accés a Internet"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Compartir contactes"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"S\'utilitza per compartir contactes."</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Connexió compartida a Internet"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Missatges de text"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Accés a la SIM"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"Àudio HD: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"Àudio HD"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Connectat a l\'àudio del mitjà"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Connectat a àudio del telèfon"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Connectat al servidor de transferència de fitxers"</string> @@ -288,7 +281,7 @@ <string name="app_process_limit_title" msgid="4280600650253107163">"Límita processos en segon pla"</string> <string name="show_all_anrs" msgid="28462979638729082">"Tots els errors sense resposta"</string> <string name="show_all_anrs_summary" msgid="641908614413544127">"Informa que una aplicació en segon pla no respon"</string> - <string name="show_notification_channel_warnings" msgid="1399948193466922683">"Avisos del canal de notificacions"</string> + <string name="show_notification_channel_warnings" msgid="1399948193466922683">"Mostra avisos del canal de notificacions"</string> <string name="show_notification_channel_warnings_summary" msgid="5536803251863694895">"Mostra un avís a la pantalla quan una app publica una notificació sense canal vàlid"</string> <string name="force_allow_on_external" msgid="3215759785081916381">"Força permís d\'aplicacions a l\'emmagatzem. extern"</string> <string name="force_allow_on_external_summary" msgid="3640752408258034689">"Permet que qualsevol aplicació es pugui escriure en un dispositiu d’emmagatzematge extern, independentment dels valors definits"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Correcció del color"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Aquesta funció és experimental i pot afectar el rendiment."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"S\'ha substituït per <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Temps restant aproximat: <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Temps restant aproximat segons l\'ús que en fas: <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">%1$s</xliff:g> per completar la càrrega"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Temps restant: <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Temps restant segons l\'ús que en fas: <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g>: <xliff:g id="TIME">%2$s</xliff:g> aproximadament per esgotar la bateria"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g>; temps restant aproximat segons l\'ús que en fas: <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g>; temps restant: <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Temps restant aproximat: <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Temps restant aproximat segons l\'ús que en fas: <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">^1</xliff:g> per completar la càrrega"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Temps restant: <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Temps restant segons l\'ús que en fas: <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g>: <xliff:g id="TIME">^2</xliff:g> aproximadament per esgotar la bateria"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g>; temps restant aproximat segons l\'ús que en fas: <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g>; temps restant: <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g>: <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g>: <xliff:g id="TIME">%2$s</xliff:g> per completar la càrrega"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g>: <xliff:g id="TIME">^2</xliff:g> per completar la càrrega"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g>: <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Desconegut"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"S\'està carregant"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"s\'està carregant"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Controlat per l\'administrador"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Activada per l\'administrador"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Desactivada per l\'administrador"</string> + <string name="disabled" msgid="9206776641295849915">"Desactivat"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Permeses"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"No permeses"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Instal·lar aplicacions desconegudes"</string> <string name="home" msgid="3256884684164448244">"Pàgina d\'inici de configuració"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-cs/strings.xml b/packages/SettingsLib/res/values-cs/strings.xml index 0ea664215a6b..2b8f811eabae 100644 --- a/packages/SettingsLib/res/values-cs/strings.xml +++ b/packages/SettingsLib/res/values-cs/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Nejste připojeni, protože síť je příliš slabá"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Selhání připojení Wi-Fi"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Problém s ověřením"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Nelze se připojit"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"K síti <xliff:g id="AP_NAME">%1$s</xliff:g> se nelze připojit"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Zkontrolujte heslo a zkuste to znovu"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Mimo dosah"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Připojení nebude automaticky navázáno"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Nebyl zjištěn žádný přístup k internetu"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Připojeno prostřednictvím %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Dostupné prostřednictvím %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Připojeno, není k dispozici internet"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Velmi pomalá"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Pomalá"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"OK"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Střední"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Rychlá"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Velmi rychlá"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Odpojeno"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Odpojování..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Připojování..."</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Připojeno (bez přístupu ke zprávám)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Připojeno (žádný telefon nebo média)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Zvuk médií"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Telefonní hovory"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Přenos souborů"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Vstupní zařízení"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Přístup k internetu"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Sdílení kontaktů"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Použít ke sdílení kontaktů"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Sdílení internetového připojení"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Textové zprávy"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Přístup k SIM kartě"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD zvuk: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD zvuk"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Připojeno ke zvukovému médiu"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Připojeno k náhlavní soupravě"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Připojeno k serveru pro přenos dat"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Korekce barev"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Funkce je experimentální a může mít vliv na výkon."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Přepsáno nastavením <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Zbývá asi <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Při vašem obvyklém využití zbývá asi <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Plně se nabije za <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Zbývající čas: <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Při vašem obvyklém využití zbývá <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> – zbývá přibližně <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> – při vašem obvyklém využití zbývá asi <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> – zbývá <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Zbývá asi <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Při vašem obvyklém využití zbývá asi <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Plně se nabije za <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Zbývající čas: <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Při vašem obvyklém využití zbývá <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> – zbývá přibližně <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> – při vašem obvyklém využití zbývá asi <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> – zbývá <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> – plně se nabije za <xliff:g id="TIME">%2$s</xliff:g>"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> – plně se nabije za <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Neznámé"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Nabíjí se"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"nabíjení"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Spravováno administrátorem"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Zapnuto administrátorem"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Zakázáno administrátorem"</string> + <string name="disabled" msgid="9206776641295849915">"Deaktivováno"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Povoleno"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Není povoleno"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Instalace neznámých aplikací"</string> <string name="home" msgid="3256884684164448244">"Domovská stránka Nastavení"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0 %"</item> diff --git a/packages/SettingsLib/res/values-da/strings.xml b/packages/SettingsLib/res/values-da/strings.xml index 5b2f75a03416..c82a0cb221bc 100644 --- a/packages/SettingsLib/res/values-da/strings.xml +++ b/packages/SettingsLib/res/values-da/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Ingen forbindelse på grund af lav netværkskvalitet"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Wi-Fi-forbindelsesfejl"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Problem med godkendelse"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Der kan ikke oprettes forbindelse"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Der kan ikke oprettes forbindelse til \"<xliff:g id="AP_NAME">%1$s</xliff:g>\""</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Tjek adgangskoden, og prøv igen"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Ikke inden for rækkevidde"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Der oprettes ikke automatisk forbindelse"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Ingen internetadgang"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Tilsluttet via %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Tilgængelig via %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Tilsluttet – intet internet"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Meget langsom"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Langsom"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"OK"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Middel"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Hurtig"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Meget hurtig"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Afbrudt"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Afbryder ..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Opretter forbindelse..."</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Forbundet (ingen adgang til meddelelse)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Forbundet (ingen telefon eller medier)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Medielyd"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Telefonopkald"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Filoverførsel"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Inputenhed"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Internetadgang"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Deling af kontaktpersoner"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Brug til deling af kontaktpersoner"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Deling af internetforbindelse"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Sms-beskeder"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"SIM-adgang"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD-lyd: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD-lyd"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Forbundet til medielyd"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Forbundet til telefonlyd"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Forbundet til filoverførselsserver"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Korriger farver"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Denne funktion er eksperimentel og kan påvirke ydeevnen."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Tilsidesat af <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Ca. <xliff:g id="TIME">%1$s</xliff:g> tilbage"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Der er ca. <xliff:g id="TIME">%1$s</xliff:g> tilbage, alt efter hvordan du bruger enheden"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">%1$s</xliff:g> til det er fuldt opladet"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> tilbage"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Der er <xliff:g id="TIME">%1$s</xliff:g> tilbage, alt efter hvordan du bruger enheden"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> – ca. <xliff:g id="TIME">%2$s</xliff:g> tilbage"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> – der er ca. <xliff:g id="TIME">%2$s</xliff:g> tilbage, alt efter hvordan du bruger enheden"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> tilbage"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Ca. <xliff:g id="TIME">^1</xliff:g> tilbage"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Der er ca. <xliff:g id="TIME">^1</xliff:g> tilbage, alt efter hvordan du bruger enheden"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">^1</xliff:g> til det er fuldt opladet"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> tilbage"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Der er <xliff:g id="TIME">^1</xliff:g> tilbage, alt efter hvordan du bruger enheden"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> – ca. <xliff:g id="TIME">^2</xliff:g> tilbage"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> – der er ca. <xliff:g id="TIME">^2</xliff:g> tilbage, alt efter hvordan du bruger enheden"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g> tilbage"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> til det er fuldt opladet"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g> til det er fuldt opladet"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Ukendt"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Oplader"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"oplader"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Kontrolleret af administratoren"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Aktiveret af administratoren"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Deaktiveret af administratoren"</string> + <string name="disabled" msgid="9206776641295849915">"Deaktiveret"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Tilladt"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Ikke tilladt"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Installer ukendte apps"</string> <string name="home" msgid="3256884684164448244">"Startside for Indstillinger"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0 %"</item> diff --git a/packages/SettingsLib/res/values-de/strings.xml b/packages/SettingsLib/res/values-de/strings.xml index 729d87262e31..a6e0fd9b870b 100644 --- a/packages/SettingsLib/res/values-de/strings.xml +++ b/packages/SettingsLib/res/values-de/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Keine Verbindung aufgrund der geringen Netzwerkqualität"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"WLAN-Verbindungsfehler"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Authentifizierungsproblem"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Verbindung nicht möglich"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Keine Verbindung zu \"<xliff:g id="AP_NAME">%1$s</xliff:g>\" möglich"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Prüfe das Passwort und versuch es noch einmal"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Nicht in Reichweite"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Kein automatischer Verbindungsaufbau"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Kein Internetzugriff"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Über %1$s verbunden"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Verfügbar über %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Verbunden, kein Internet"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Sehr langsam"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Langsam"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"OK"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Mittel"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Schnell"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Sehr schnell"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Nicht verbunden"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Verbindung wird getrennt..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Verbindung wird hergestellt..."</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Verbunden (ohne Nachrichtenzugriff)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Verbunden (außer Telefon- und Audiomedien)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Media-Audio"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Telefonanrufe"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Dateiübertragung"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Eingabegerät"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Internetzugriff"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Kontaktfreigabe"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Für Kontaktfreigabe nutzen"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Freigabe der Internetverbindung"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"SMS"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Zugriff auf SIM"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD-Audio: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD-Audio"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Verbunden mit Audiosystem von Medien"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Verbunden mit Audiosystem des Telefons"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Mit Dateiübertragungsserver verbunden"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Farbkorrektur"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Hierbei handelt es sich um eine experimentelle Funktion, die sich auf die Leistung auswirken kann."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Außer Kraft gesetzt von \"<xliff:g id="TITLE">%1$s</xliff:g>\""</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Ca. <xliff:g id="TIME">%1$s</xliff:g> übrig"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Noch ca. <xliff:g id="TIME">%1$s</xliff:g>, basierend auf deiner Nutzung"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">%1$s</xliff:g> bis zur vollständigen Aufladung"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Noch <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Noch <xliff:g id="TIME">%1$s</xliff:g>, basierend auf deiner Nutzung"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> – ungefähr noch <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> – noch ca. <xliff:g id="TIME">%2$s</xliff:g>, basierend auf deiner Nutzung"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> – noch <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Ca. <xliff:g id="TIME">^1</xliff:g> übrig"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Noch ca. <xliff:g id="TIME">^1</xliff:g>, basierend auf deiner Nutzung"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">^1</xliff:g> bis zur vollständigen Aufladung"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Noch <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Noch <xliff:g id="TIME">^1</xliff:g>, basierend auf deiner Nutzung"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> – ungefähr noch <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> – noch ca. <xliff:g id="TIME">^2</xliff:g>, basierend auf deiner Nutzung"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> – noch <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> bis vollständig geladen"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g> bis vollständig geladen"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Unbekannt"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Wird aufgeladen"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"wird aufgeladen..."</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Durch den Administrator verwaltet"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Vom Administrator aktiviert"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Vom Administrator deaktiviert"</string> + <string name="disabled" msgid="9206776641295849915">"Deaktiviert"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Zulässig"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Nicht zulässig"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Unbek. Apps installieren"</string> <string name="home" msgid="3256884684164448244">"Startseite \"Einstellungen\""</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0 %"</item> diff --git a/packages/SettingsLib/res/values-el/strings.xml b/packages/SettingsLib/res/values-el/strings.xml index fb9d57d6e199..7ae277829f47 100644 --- a/packages/SettingsLib/res/values-el/strings.xml +++ b/packages/SettingsLib/res/values-el/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Δεν υπάρχει σύνδεση λόγω χαμηλής ποιότητας δικτύου"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Αποτυχία σύνδεσης Wi-Fi"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Πρόβλημα ελέγχου ταυτότητας"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Αδυναμία σύνδεσης"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Δεν είναι δυνατή η σύνδεση στο δίκτυο \"<xliff:g id="AP_NAME">%1$s</xliff:g>\""</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Ελέγξτε τον κωδικό πρόσβασης και δοκιμάστε ξανά"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Εκτός εμβέλειας"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Δεν θα συνδεθεί αυτόματα"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Δεν υπάρχει πρόσβαση στο διαδίκτυο"</string> @@ -37,18 +40,12 @@ <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> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Πολύ αργή"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Αργή"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"ΟΚ"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Μέτρια"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Γρήγορη"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Πολύ γρήγορη"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Αποσυνδέθηκε"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Αποσύνδεση..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Σύνδεση..."</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Συνδεδεμένο (χωρίς πρόσβαση μηνύματος)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Συνδεδεμένο (χωρίς τηλέφωνο ή πολυμέσα)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Ήχος πολυμέσων"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Τηλεφωνικές κλήσεις"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Μεταφορά αρχείου"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Συσκευή εισόδου"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Πρόσβαση στο Διαδίκτυο"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Κοινή χρήση επαφών"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Για κοινή χρήση επαφών"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Κοινή χρήση σύνδεσης στο Διαδίκτυο"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Μηνύματα κειμένου"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Πρόσβαση SIM"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"Ήχος HD: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"Ήχος HD"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Συνδέθηκε σε ήχο πολυμέσων"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Συνδεδεμένο στον ήχο τηλεφώνου"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Συνδεδεμένο σε διακομιστή μεταφοράς αρχείων"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Διόρθωση χρωμάτων"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Αυτή η λειτουργία είναι πειραματική και ενδεχομένως να επηρεάσει τις επιδόσεις."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Αντικαταστάθηκε από <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Απομένουν περίπου <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Απομένει/ουν περίπου <xliff:g id="TIME">%1$s</xliff:g> με βάση τη χρήση σας"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Απομένουν <xliff:g id="TIME">%1$s</xliff:g> έως την πλήρη φόρτιση"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Απομένει/ουν <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Απομένει/ουν <xliff:g id="TIME">%1$s</xliff:g> με βάση τη χρήση σας"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - απομένουν περίπου <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - Απομένει/ουν περίπου <xliff:g id="TIME">%2$s</xliff:g> με βάση τη χρήση σας"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - απομένει/ουν <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Απομένουν περίπου <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Απομένει/ουν περίπου <xliff:g id="TIME">^1</xliff:g> με βάση τη χρήση σας"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Απομένουν <xliff:g id="TIME">^1</xliff:g> έως την πλήρη φόρτιση"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Απομένει/ουν <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Απομένει/ουν <xliff:g id="TIME">^1</xliff:g> με βάση τη χρήση σας"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - απομένουν περίπου <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - Απομένει/ουν περίπου <xliff:g id="TIME">^2</xliff:g> με βάση τη χρήση σας"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - απομένει/ουν <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> για πλήρη φόρτιση"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> για πλήρη φόρτιση"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Άγνωστο"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Φόρτιση"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"φόρτιση"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Ελέγχονται από το διαχειριστή"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Ενεργοποιήθηκε από τον διαχειριστή"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Απενεργοποιήθηκε από τον διαχειριστή"</string> + <string name="disabled" msgid="9206776641295849915">"Απενεργοποιημένο"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Επιτρέπεται"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Δεν επιτρέπεται"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Εγκατ. άγνωστων εφ."</string> <string name="home" msgid="3256884684164448244">"Αρχική σελίδα ρυθμίσεων"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-en-rAU/strings.xml b/packages/SettingsLib/res/values-en-rAU/strings.xml index e9ff46b1f78a..d10726f9dd01 100644 --- a/packages/SettingsLib/res/values-en-rAU/strings.xml +++ b/packages/SettingsLib/res/values-en-rAU/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Not connected due to low quality network"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Wi-Fi Connection Failure"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Authentication problem"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Can\'t connect"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Can\'t connect to \'<xliff:g id="AP_NAME">%1$s</xliff:g>\'"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Check password and try again"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Not in range"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Won\'t automatically connect"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"No Internet access"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Connected via %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Available via %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Connected, no Internet"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Very slow"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Slow"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"OK"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Medium"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Fast"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Very fast"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Disconnected"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Disconnecting…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Connecting…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Connected (no message access)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Connected (no phone or media)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Media audio"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Phone calls"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"File transfer"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Input device"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Internet access"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Contact sharing"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Use for contact sharing"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Internet connection sharing"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Text messages"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"SIM Access"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD audio: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD audio"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Connected to media audio"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Connected to phone audio"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Connected to file-transfer server"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Colour correction"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"This feature is experimental and may affect performance."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Overridden by <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"About <xliff:g id="TIME">%1$s</xliff:g> left"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"About <xliff:g id="TIME">%1$s</xliff:g> left based on your usage"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">%1$s</xliff:g> left until fully charged"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> left"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"<xliff:g id="TIME">%1$s</xliff:g> left based on your usage"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> – about <xliff:g id="TIME">%2$s</xliff:g> left"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - about <xliff:g id="TIME">%2$s</xliff:g> left based on your usage"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> left"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"About <xliff:g id="TIME">^1</xliff:g> left"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"About <xliff:g id="TIME">^1</xliff:g> left based on your usage"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">^1</xliff:g> left until fully charged"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> left"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"<xliff:g id="TIME">^1</xliff:g> left based on your usage"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> – about <xliff:g id="TIME">^2</xliff:g> left"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - about <xliff:g id="TIME">^2</xliff:g> left based on your usage"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> left"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> until fully charged"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g> until fully charged"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Unknown"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Charging"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"charging"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Controlled by admin"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Enabled by admin"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Disabled by admin"</string> + <string name="disabled" msgid="9206776641295849915">"Disabled"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Allowed"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Not allowed"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Install unknown apps"</string> <string name="home" msgid="3256884684164448244">"Settings Home"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-en-rGB/strings.xml b/packages/SettingsLib/res/values-en-rGB/strings.xml index e9ff46b1f78a..d10726f9dd01 100644 --- a/packages/SettingsLib/res/values-en-rGB/strings.xml +++ b/packages/SettingsLib/res/values-en-rGB/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Not connected due to low quality network"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Wi-Fi Connection Failure"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Authentication problem"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Can\'t connect"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Can\'t connect to \'<xliff:g id="AP_NAME">%1$s</xliff:g>\'"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Check password and try again"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Not in range"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Won\'t automatically connect"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"No Internet access"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Connected via %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Available via %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Connected, no Internet"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Very slow"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Slow"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"OK"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Medium"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Fast"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Very fast"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Disconnected"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Disconnecting…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Connecting…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Connected (no message access)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Connected (no phone or media)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Media audio"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Phone calls"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"File transfer"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Input device"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Internet access"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Contact sharing"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Use for contact sharing"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Internet connection sharing"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Text messages"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"SIM Access"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD audio: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD audio"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Connected to media audio"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Connected to phone audio"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Connected to file-transfer server"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Colour correction"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"This feature is experimental and may affect performance."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Overridden by <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"About <xliff:g id="TIME">%1$s</xliff:g> left"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"About <xliff:g id="TIME">%1$s</xliff:g> left based on your usage"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">%1$s</xliff:g> left until fully charged"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> left"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"<xliff:g id="TIME">%1$s</xliff:g> left based on your usage"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> – about <xliff:g id="TIME">%2$s</xliff:g> left"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - about <xliff:g id="TIME">%2$s</xliff:g> left based on your usage"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> left"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"About <xliff:g id="TIME">^1</xliff:g> left"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"About <xliff:g id="TIME">^1</xliff:g> left based on your usage"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">^1</xliff:g> left until fully charged"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> left"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"<xliff:g id="TIME">^1</xliff:g> left based on your usage"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> – about <xliff:g id="TIME">^2</xliff:g> left"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - about <xliff:g id="TIME">^2</xliff:g> left based on your usage"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> left"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> until fully charged"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g> until fully charged"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Unknown"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Charging"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"charging"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Controlled by admin"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Enabled by admin"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Disabled by admin"</string> + <string name="disabled" msgid="9206776641295849915">"Disabled"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Allowed"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Not allowed"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Install unknown apps"</string> <string name="home" msgid="3256884684164448244">"Settings Home"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-en-rIN/strings.xml b/packages/SettingsLib/res/values-en-rIN/strings.xml index e9ff46b1f78a..d10726f9dd01 100644 --- a/packages/SettingsLib/res/values-en-rIN/strings.xml +++ b/packages/SettingsLib/res/values-en-rIN/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Not connected due to low quality network"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Wi-Fi Connection Failure"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Authentication problem"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Can\'t connect"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Can\'t connect to \'<xliff:g id="AP_NAME">%1$s</xliff:g>\'"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Check password and try again"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Not in range"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Won\'t automatically connect"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"No Internet access"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Connected via %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Available via %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Connected, no Internet"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Very slow"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Slow"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"OK"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Medium"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Fast"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Very fast"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Disconnected"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Disconnecting…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Connecting…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Connected (no message access)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Connected (no phone or media)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Media audio"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Phone calls"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"File transfer"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Input device"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Internet access"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Contact sharing"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Use for contact sharing"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Internet connection sharing"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Text messages"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"SIM Access"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD audio: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD audio"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Connected to media audio"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Connected to phone audio"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Connected to file-transfer server"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Colour correction"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"This feature is experimental and may affect performance."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Overridden by <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"About <xliff:g id="TIME">%1$s</xliff:g> left"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"About <xliff:g id="TIME">%1$s</xliff:g> left based on your usage"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">%1$s</xliff:g> left until fully charged"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> left"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"<xliff:g id="TIME">%1$s</xliff:g> left based on your usage"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> – about <xliff:g id="TIME">%2$s</xliff:g> left"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - about <xliff:g id="TIME">%2$s</xliff:g> left based on your usage"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> left"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"About <xliff:g id="TIME">^1</xliff:g> left"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"About <xliff:g id="TIME">^1</xliff:g> left based on your usage"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">^1</xliff:g> left until fully charged"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> left"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"<xliff:g id="TIME">^1</xliff:g> left based on your usage"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> – about <xliff:g id="TIME">^2</xliff:g> left"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - about <xliff:g id="TIME">^2</xliff:g> left based on your usage"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> left"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> until fully charged"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g> until fully charged"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Unknown"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Charging"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"charging"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Controlled by admin"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Enabled by admin"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Disabled by admin"</string> + <string name="disabled" msgid="9206776641295849915">"Disabled"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Allowed"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Not allowed"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Install unknown apps"</string> <string name="home" msgid="3256884684164448244">"Settings Home"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-es-rUS/strings.xml b/packages/SettingsLib/res/values-es-rUS/strings.xml index a28802beade8..66e55f9191e3 100644 --- a/packages/SettingsLib/res/values-es-rUS/strings.xml +++ b/packages/SettingsLib/res/values-es-rUS/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"No se estableció conexión debido a la mala calidad de la red"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Error de conexión Wi-Fi"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Problema de autenticación"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"No se puede establecer conexión"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"No se puede establecer conexión con \"<xliff:g id="AP_NAME">%1$s</xliff:g>\""</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Revisa la contraseña y vuelve a intentarlo"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Fuera de alcance"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"No se conectará automáticamente"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"No se detectó acceso a Internet"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Conexión a través de %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Disponible a través de %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Conectado a Wi-Fi, sin conexión a Internet"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Muy lenta"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Lenta"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"Aceptar"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Media"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Rápida"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Muy rápida"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Desconectado"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Desconectando…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Conectando…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Conectado (sin acceso a mensajes)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Conectado (sin tel. ni audio multimedia)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Audio multimedia"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Llamadas telefónicas"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Transferencia de archivos"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Dispositivo de entrada"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Acceso a Internet"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Compartir contactos"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Utilizar para compartir contactos"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Compartir conexión a Internet"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Mensajes de texto"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Acceso SIM"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"Audio en HD: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"Audio en HD"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Conectado al audio multimedia"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Conectado al audio del dispositivo"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Conectado al servidor de transferencia de archivo"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Corrección de color"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Esta función es experimental y puede afectar el rendimiento."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Reemplazado por <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Tiempo restante aproximado: <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Aproximadamente <xliff:g id="TIME">%1$s</xliff:g> restantes en función del uso"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">%1$s</xliff:g> para completar la carga"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Tiempo restante: <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"<xliff:g id="TIME">%1$s</xliff:g> restantes en función del uso"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> (tiempo restante: <xliff:g id="TIME">%2$s</xliff:g>)"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> (aproximadamente <xliff:g id="TIME">%2$s</xliff:g> restantes en función del uso)"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - Tiempo restante: <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Tiempo restante aproximado: <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Aproximadamente <xliff:g id="TIME">^1</xliff:g> restantes en función del uso"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">^1</xliff:g> para completar la carga"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Tiempo restante: <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"<xliff:g id="TIME">^1</xliff:g> restantes en función del uso"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> (tiempo restante: <xliff:g id="TIME">^2</xliff:g>)"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> (aproximadamente <xliff:g id="TIME">^2</xliff:g> restantes en función del uso)"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - Tiempo restante: <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g>: <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> (<xliff:g id="TIME">%2$s</xliff:g> para completar la carga)"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> (<xliff:g id="TIME">^2</xliff:g> para completar la carga)"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Desconocido"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Cargando"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"cargando"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Controlada por el administrador"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"El administrador habilitó esta opción"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"El administrador inhabilitó esta opción"</string> + <string name="disabled" msgid="9206776641295849915">"Inhabilitadas"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Permitida"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"No permitida"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Instalar apps desconocidas"</string> <string name="home" msgid="3256884684164448244">"Pantalla de configuración"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-es/strings.xml b/packages/SettingsLib/res/values-es/strings.xml index f3d605394fed..487d84782279 100644 --- a/packages/SettingsLib/res/values-es/strings.xml +++ b/packages/SettingsLib/res/values-es/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"No conectado debido a la baja calidad de la red"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Error de conexión Wi-Fi"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Error de autenticación"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"No se puede establecer conexión"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"No se puede establecer conexión con \"<xliff:g id="AP_NAME">%1$s</xliff:g>\""</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Comprueba la contraseña y vuelve a intentarlo"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Fuera de rango"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"No se establecerá conexión automáticamente"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"No se ha detectado acceso a Internet"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Conectado a través de %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Disponible a través de %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Conexión sin Internet"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Muy lenta"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Lenta"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"Aceptar"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Media"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Rápida"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Muy rápida"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Desconectado"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Desconectando…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Estableciendo conexión…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Conectado (sin acceso a mensajes)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Conectado (sin teléfono ni multimedia)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Audio multimedia"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Llamadas de teléfono"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Transferencia de archivos"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Dispositivo de entrada"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Acceso a Internet"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Compartir contactos"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Usar para compartir contactos"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Compartir conexión a Internet"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Mensajes de texto"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Acceso a tarjeta SIM"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"Audio HD: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"Audio HD"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Conectado al audio del medio"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Conectado al audio del teléfono"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Conectado con el servidor de transferencia de archivos"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Corrección de color"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Esta función es experimental y puede afectar al rendimiento."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Anulado por <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Tiempo restante aproximado: <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Tiempo restante aproximado según tu uso: <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Tiempo restante hasta carga completa: <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Tiempo restante: <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Tiempo restante aproximado según tu uso: <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - tiempo aproximado restante: <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> (tiempo restante aproximado según tu uso: <xliff:g id="TIME">%2$s</xliff:g>)"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - Tiempo restante: <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Tiempo restante aproximado: <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Tiempo restante aproximado según tu uso: <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Tiempo restante hasta carga completa: <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Tiempo restante: <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Tiempo restante aproximado según tu uso: <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - tiempo aproximado restante: <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> (tiempo restante aproximado según tu uso: <xliff:g id="TIME">^2</xliff:g>)"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - Tiempo restante: <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> para completar la carga"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> para completar la carga"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Desconocido"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Cargando"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"cargando"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Controlada por el administrador"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Habilitada por el administrador"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Inhabilitada por el administrador"</string> + <string name="disabled" msgid="9206776641295849915">"Inhabilitada"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Autorizadas"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"No autorizadas"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Instalar aplicaciones desconocidas"</string> <string name="home" msgid="3256884684164448244">"Página principal de ajustes"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-et/strings.xml b/packages/SettingsLib/res/values-et/strings.xml index 9617e614e128..91e75912c1a4 100644 --- a/packages/SettingsLib/res/values-et/strings.xml +++ b/packages/SettingsLib/res/values-et/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Võrgu kehva kvaliteedi tõttu ei ühendatud"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"WiFi-ühenduse viga"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Autentimise probleem"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Ei saa ühendada"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Võrguga „<xliff:g id="AP_NAME">%1$s</xliff:g>” ei saa ühendada"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Kontrollige parooli ja proovige uuesti"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Pole vahemikus"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Automaatselt ei ühendata"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Interneti-ühendus puudub"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Ühendatud üksuse %1$s kaudu"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Saadaval üksuse %1$s kaudu"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Ühendatud, Interneti-ühendus puudub"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Väga aeglane"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Aeglane"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"Hea"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Keskmine"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Kiire"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Väga kiire"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Ühendus katkestatud"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Ühenduse katkestamine ..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Ühendamine ..."</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Ühendatud (sõnumita juurdepääs)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Ühendatud (pole telefoni ega meediat)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Meedia heli"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Telefonikõned"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Failiedastus"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Sisendseade"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Internetti juurdepääs"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Kontakti jagamine"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Kasutamine kontaktide jagamiseks"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Interneti-ühenduse jagamine"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Tekstsõnumid"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"SIM-kaardi juurdepääs"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD-heli: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD-heli"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Ühendatud meediumiheliga"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Ühendatud telefoniheliga"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Ühendatud failiedastuse serveriga"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Värvide korrigeerimine"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"See funktsioon on katseline ja võib mõjutada toimivust."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Alistas <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Umbes <xliff:g id="TIME">%1$s</xliff:g> on jäänud"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Teie kasutuse alusel on jäänud ligikaudu <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">%1$s</xliff:g> täislaadimiseni"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> on jäänud"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Teie kasutuse alusel on jäänud <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> – umbes <xliff:g id="TIME">%2$s</xliff:g> on jäänud"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> – teie kasutuse alusel on jäänud ligikaudu <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> on jäänud"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Umbes <xliff:g id="TIME">^1</xliff:g> on jäänud"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Teie kasutuse alusel on jäänud ligikaudu <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">^1</xliff:g> täislaadimiseni"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> on jäänud"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Teie kasutuse alusel on jäänud <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> – umbes <xliff:g id="TIME">^2</xliff:g> on jäänud"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> – teie kasutuse alusel on jäänud ligikaudu <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g> on jäänud"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> täislaadimiseni"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g> täislaadimiseni"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Tundmatu"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Laadimine"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"laadimine"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Juhib administraator"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Administraatori lubatud"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Administraatori keelatud"</string> + <string name="disabled" msgid="9206776641295849915">"Keelatud"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Lubatud"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Pole lubatud"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Tundmatute rakenduste installimine"</string> <string name="home" msgid="3256884684164448244">"Seadete avaleht"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-eu/strings.xml b/packages/SettingsLib/res/values-eu/strings.xml index 77e05ef761c5..7f00f08f9bf5 100644 --- a/packages/SettingsLib/res/values-eu/strings.xml +++ b/packages/SettingsLib/res/values-eu/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Ez dago konektatuta sarearen kalitate eskasagatik"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Ezin izan da konektatu Wi-Fi sarera"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Autentifikazio-arazoa"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Ezin da konektatu"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Ezin da konektatu \"<xliff:g id="AP_NAME">%1$s</xliff:g>\" sarera"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Egiaztatu pasahitza zuzena dela eta saiatu berriro"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Urrunegi"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Ez da konektatuko automatikoki"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Ezin da konektatu Internetera"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"%1$s bidez konektatuta"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"%1$s bidez erabilgarri"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Konektatuta, ez dago Interneteko konexiorik"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Oso motela"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Motela"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"Ados"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Tartekoa"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Bizkorra"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Oso bizkorra"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Deskonektatuta"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Deskonektatzen…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Konektatzen…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Konektatuta (mezuetarako sarbiderik ez)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Konektatuta (ez dago telef./euskarririk)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Euskarriaren audioa"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Telefono-deiak"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Fitxategi-transferentzia"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Sarrerako gailua"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Interneterako sarbidea"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Kontaktuak partekatzea"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Erabili kontaktuak partekatzeko"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Interneteko konexioa partekatzea"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Testu-mezuak"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"SIM txartelerako sarbidea"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"Kalitate handiko audioa: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"Kalitate handiko audioa"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Euskarriaren audiora konektatuta"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Telefonoaren audiora konektatuta"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Fitxategi-transferentziako zerbitzarira konektatuta"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Kolore-zuzenketa"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Eginbidea esperimentala da eta eragina izan dezake funtzionamenduan."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"<xliff:g id="TITLE">%1$s</xliff:g> hobespena gainjarri zaio"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"<xliff:g id="TIME">%1$s</xliff:g> inguru gelditzen dira"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"<xliff:g id="TIME">%1$s</xliff:g> inguru gelditzen dira, erabileraren arabera"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">%1$s</xliff:g> falta dira guztiz kargatu arte"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> guztiz kargatu arte"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"<xliff:g id="TIME">%1$s</xliff:g> gelditzen dira, erabileraren arabera"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> inguru gelditzen dira"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g>: <xliff:g id="TIME">%2$s</xliff:g> inguru gelditzen dira, erabileraren arabera"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> guztiz kargatu arte"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"<xliff:g id="TIME">^1</xliff:g> inguru gelditzen dira"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"<xliff:g id="TIME">^1</xliff:g> inguru gelditzen dira, erabileraren arabera"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">^1</xliff:g> falta dira guztiz kargatu arte"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> guztiz kargatu arte"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"<xliff:g id="TIME">^1</xliff:g> gelditzen dira, erabileraren arabera"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> inguru gelditzen dira"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g>: <xliff:g id="TIME">^2</xliff:g> inguru gelditzen dira, erabileraren arabera"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> guztiz kargatu arte"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> guztiz kargatu arte"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> guztiz kargatu arte"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Ezezaguna"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Kargatzen"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"kargatzen"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Administratzaileak kontrolatzen du"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Administratzaileak gaitu du"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Administratzaileak desgaitu du"</string> + <string name="disabled" msgid="9206776641295849915">"Desgaituta"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Baimena dauka"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Ez dauka baimenik"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Instalatu aplikazio ezezagunak"</string> <string name="home" msgid="3256884684164448244">"Ezarpenen hasierako pantaila"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"% 0"</item> diff --git a/packages/SettingsLib/res/values-fa/strings.xml b/packages/SettingsLib/res/values-fa/strings.xml index 4b0f39bd1305..fac966ad0f35 100644 --- a/packages/SettingsLib/res/values-fa/strings.xml +++ b/packages/SettingsLib/res/values-fa/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"اتصال ناموفق به دلیل شبکه با کیفیت پایین"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"اتصال Wi-Fi برقرار نشد"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"مشکل احراز هویت"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"برقراری اتصال ممکن نیست"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"برقراری اتصال به «<xliff:g id="AP_NAME">%1$s</xliff:g>» ممکن نیست"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"گذرواژه را بررسی و دوباره امتحان کنید"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"در محدوده نیست"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"اتصال بهصورت خودکار انجام نمیشود"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"دسترسی به اینترنت وجود ندارد"</string> @@ -37,18 +40,12 @@ <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> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"بسیار آهسته"</string> + <string name="speed_label_slow" msgid="813109590815810235">"آهسته"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"تأیید"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"متوسط"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"سریع"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"خیلی سریع"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"اتصال قطع شد"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"در حال قطع اتصال..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"در حال اتصال…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"متصل (عدم دسترسی به پیام)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"متصل شد (بدون تلفن یا رسانه)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"رسانه صوتی"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"تماسهای تلفنی"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"انتقال فایل"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"دستگاه ورودی"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"دسترسی به اینترنت"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"اشتراکگذاری مخاطب"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"استفاده برای اشتراکگذاری مخاطب"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"اشتراکگذاری اتصال اینترنت"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"پیامهای نوشتاری"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"دسترسی سیمکارت"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"صدای HD: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"صدای HD"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"به رسانه صوتی متصل شد"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"به تلفن صوتی متصل شد"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"به سرور انتقال فایل متصل شد"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"تصحیح رنگ"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"این قابلیت آزمایشی است و ممکن است عملکرد را تحت تأثیر قرار دهد."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"توسط <xliff:g id="TITLE">%1$s</xliff:g> لغو شد"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"حدود <xliff:g id="TIME">%1$s</xliff:g> باقی مانده است"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"براساس میزان مصرف شما، <xliff:g id="TIME">%1$s</xliff:g> باقیمانده است"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">%1$s</xliff:g> تا شارژ شدن کامل باقی مانده است"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> باقی مانده"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"براساس میزان مصرف شما، <xliff:g id="TIME">%1$s</xliff:g> باقیمانده است"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - تقریباً <xliff:g id="TIME">%2$s</xliff:g> باقی مانده است"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - براساس میزان مصرف شما، <xliff:g id="TIME">%2$s</xliff:g> باقیمانده است"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> باقی مانده"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"حدود <xliff:g id="TIME">^1</xliff:g> باقی مانده است"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"براساس میزان مصرف شما، <xliff:g id="TIME">^1</xliff:g> باقیمانده است"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">^1</xliff:g> تا شارژ شدن کامل باقی مانده است"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> باقی مانده"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"براساس میزان مصرف شما، <xliff:g id="TIME">^1</xliff:g> باقیمانده است"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - تقریباً <xliff:g id="TIME">^2</xliff:g> باقی مانده است"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - براساس میزان مصرف شما، <xliff:g id="TIME">^2</xliff:g> باقیمانده است"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> باقی مانده"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> مانده تا شارژ کامل"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> مانده تا شارژ کامل"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"ناشناس"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"در حال شارژ شدن"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"درحال شارژ شدن"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"توسط سرپرست سیستم کنترل میشود"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"فعالشده توسط سرپرست"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"غیرفعالشده توسط سرپرست"</string> + <string name="disabled" msgid="9206776641295849915">"غیر فعال شد"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"مجاز"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"مجاز نیست"</string> + <string name="install_other_apps" msgid="6986686991775883017">"نصب برنامههای ناشناس"</string> <string name="home" msgid="3256884684164448244">"صفحه اصلی تنظیمات"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"٪۰"</item> diff --git a/packages/SettingsLib/res/values-fi/strings.xml b/packages/SettingsLib/res/values-fi/strings.xml index 3f36ea44989d..3ec8e4883632 100644 --- a/packages/SettingsLib/res/values-fi/strings.xml +++ b/packages/SettingsLib/res/values-fi/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Ei yhteyttä – verkko huonolaatuinen"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Wi-Fi-yhteysvirhe"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Todennusvirhe"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Yhdistäminen ei onnistu."</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Yhdistäminen verkkoon <xliff:g id="AP_NAME">%1$s</xliff:g> ei onnistu."</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Tarkista salasana ja yritä uudelleen."</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Ei kantoalueella"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Yhteyttä ei muodosteta automaattisesti"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Ei internetyhteyttä"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Yhdistetty seuraavan kautta: %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Käytettävissä seuraavan kautta: %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Yhdistetty, ei internetyhteyttä."</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Hyvin hidas"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Hidas"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"OK"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Kohtuullinen"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Nopea"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Hyvin nopea"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Yhteys katkaistu"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Katkaistaan yhteyttä..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Yhdistetään…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Yhdistetty (ei MAP)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Yhdistetty (ei puhelimen/median ääntä)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Median ääni"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Puhelut"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Tiedostonsiirto"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Syöttölaite"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Internetyhteys"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Yhteystietojen jakaminen"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Käytä yhteystietojen jakamiseen"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Internetyhteyden jakaminen"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Tekstiviestit"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"SIM-kortin käyttö"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD-ääni: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD-ääni"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Yhdistetty median ääneen"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Yhdistetty puhelimen ääneen"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Yhdistetty tiedostonsiirtopalvelimeen"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Värikorjaus"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Tämä ominaisuus on kokeellinen ja voi vaikuttaa suorituskykyyn."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Tämän ohittaa <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Noin <xliff:g id="TIME">%1$s</xliff:g> jäljellä"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Noin <xliff:g id="TIME">%1$s</xliff:g> jäljellä käytön perusteella"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">%1$s</xliff:g> kunnes täynnä"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> jäljellä"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"<xliff:g id="TIME">%1$s</xliff:g> jäljellä käytön perusteella"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> – noin <xliff:g id="TIME">%2$s</xliff:g> jäljellä"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> – noin <xliff:g id="TIME">%2$s</xliff:g> jäljellä käytön perusteella"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> jäljellä"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Noin <xliff:g id="TIME">^1</xliff:g> jäljellä"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Noin <xliff:g id="TIME">^1</xliff:g> jäljellä käytön perusteella"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">^1</xliff:g> kunnes täynnä"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> jäljellä"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"<xliff:g id="TIME">^1</xliff:g> jäljellä käytön perusteella"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> – noin <xliff:g id="TIME">^2</xliff:g> jäljellä"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> – noin <xliff:g id="TIME">^2</xliff:g> jäljellä käytön perusteella"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g> jäljellä"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> täyteen lataukseen"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g> täyteen lataukseen"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Tuntematon"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Ladataan"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"ladataan"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Järjestelmänvalvoja hallinnoi tätä asetusta."</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Järjestelmänvalvojan käyttöön ottama"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Järjestelmänvalvojan estämä"</string> + <string name="disabled" msgid="9206776641295849915">"Pois käytöstä"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Sallittu"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Ei sallittu"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Tuntemattomien sovellusten asentaminen"</string> <string name="home" msgid="3256884684164448244">"Asetusten etusivu"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0 %"</item> diff --git a/packages/SettingsLib/res/values-fr-rCA/strings.xml b/packages/SettingsLib/res/values-fr-rCA/strings.xml index b2c596c705cb..bc4b7814da95 100644 --- a/packages/SettingsLib/res/values-fr-rCA/strings.xml +++ b/packages/SettingsLib/res/values-fr-rCA/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Non connecté en raison de la mauvaise qualité du réseau"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Échec de connexion Wi-Fi"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Problème d\'authentification"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Connexion impossible"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Impossible de se connecter à « <xliff:g id="AP_NAME">%1$s</xliff:g> »"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Vérifiez le mot de passe et réessayez"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Hors de portée"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Reconnexion automatique impossible"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Aucun accès à Internet"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Connecté par %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Accessible par %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Connecté, aucun accès à Internet"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Très lente"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Lente"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"OK"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Moyenne"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Élevée"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Très rapide"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Déconnecté"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Déconnexion…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Connexion en cours…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Connecté (sans accès aux messages)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Connecté (sans audio tel./multimédia)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Paramètres audio du support"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Appels téléphoniques"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Transfert de fichier"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Périphérique d\'entrée"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Accès Internet"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Partage de contact"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Utiliser pour le partage de contacts"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Partage de connexion Internet"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Messages texte"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Accès à la carte SIM"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"Audio HD : <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"Audio HD"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Connecté aux paramètres audio du média"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Connecté à l\'audio du téléphone"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Connexion au serveur de transfert de fichiers"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Correction des couleurs"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Cette fonctionnalité est expérimentale et peut affecter les performances."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Remplacé par <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Il reste environ <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Il reste environ <xliff:g id="TIME">%1$s</xliff:g> en fonction de votre usage"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">%1$s</xliff:g> jusqu\'à la charge complète"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Temps restant : <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Il reste <xliff:g id="TIME">%1$s</xliff:g> en fonction de votre usage"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> : il reste environ <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> : il reste environ <xliff:g id="TIME">%2$s</xliff:g> en fonction de votre usage"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> – Temps restant : <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Il reste environ <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Il reste environ <xliff:g id="TIME">^1</xliff:g> en fonction de votre usage"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">^1</xliff:g> jusqu\'à la charge complète"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Temps restant : <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Il reste <xliff:g id="TIME">^1</xliff:g> en fonction de votre usage"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> : il reste environ <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> : il reste environ <xliff:g id="TIME">^2</xliff:g> en fonction de votre usage"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> – Temps restant : <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> : <xliff:g id="TIME">%2$s</xliff:g> jusqu\'à la charge complète"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> : <xliff:g id="TIME">^2</xliff:g> jusqu\'à la charge complète"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Inconnu"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Charge en cours…"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"en cours de charge"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Contrôlé par l\'administrateur"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Activé par l\'administrateur"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Désactivé par l\'administrateur"</string> + <string name="disabled" msgid="9206776641295849915">"Désactivés"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Autorisée"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Non autorisée"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Installer applis inconnues"</string> <string name="home" msgid="3256884684164448244">"Accueil des paramètres"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0 %"</item> diff --git a/packages/SettingsLib/res/values-fr/strings.xml b/packages/SettingsLib/res/values-fr/strings.xml index b726f9df95fc..4853bc8507fb 100644 --- a/packages/SettingsLib/res/values-fr/strings.xml +++ b/packages/SettingsLib/res/values-fr/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Non connecté en raison de la faible qualité du réseau"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Échec de la connexion Wi-Fi"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Problème d\'authentification."</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Connexion impossible"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Impossible de se connecter au réseau \"<xliff:g id="AP_NAME">%1$s</xliff:g>\""</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Vérifiez le mot de passe et réessayez"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Hors de portée"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Reconnexion automatique impossible"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Aucun accès à Internet"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Connecté via %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Disponible via %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Connecté, aucun accès à Internet"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Très lente"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Lente"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"Correct"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Moyenne"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Élevée"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Très élevée"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Déconnecté"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Déconnexion…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Connexion…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Connecté (sans accès aux messages)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Connecté (sans audio tel./multimédia)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Multimédia"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Appels téléphoniques"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Transfert de fichier"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Périphérique d\'entrée"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Accès Internet"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Partage de contacts"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Utiliser pour le partage de contacts"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Partage de connexion Internet"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"SMS"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Accès à la carte SIM"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"Audio HD : <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"Audio HD"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Connecté aux paramètres audio du média"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Connecté aux paramètres audio du téléphone"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Connexion au serveur de transfert de fichiers"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Correction couleur"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Cette fonctionnalité est expérimentale et peut affecter les performances."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Remplacé par <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Il reste environ <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Temps restant en fonction de votre utilisation : environ <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">%1$s</xliff:g> avant charge complète"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Temps restant : <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Temps restant en fonction de votre utilisation : <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - encore environ <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> – Temps restant en fonction de votre utilisation : environ <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> – Temps restant : <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Il reste environ <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Temps restant en fonction de votre utilisation : environ <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">^1</xliff:g> avant charge complète"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Temps restant : <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Temps restant en fonction de votre utilisation : <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - encore environ <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> – Temps restant en fonction de votre utilisation : environ <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> – Temps restant : <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> jusqu\'à la charge complète"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> jusqu\'à la charge complète"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Inconnu"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Batterie en charge"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"chargement…"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Contrôlé par l\'administrateur"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Activé par l\'administrateur"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Désactivé par l\'administrateur"</string> + <string name="disabled" msgid="9206776641295849915">"Désactivée"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Autorisé"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Non autorisé"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Installation d\'applications inconnues"</string> <string name="home" msgid="3256884684164448244">"Paramètres"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0 %"</item> diff --git a/packages/SettingsLib/res/values-gl/strings.xml b/packages/SettingsLib/res/values-gl/strings.xml index 6116f6f02beb..90437127defe 100644 --- a/packages/SettingsLib/res/values-gl/strings.xml +++ b/packages/SettingsLib/res/values-gl/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Non se estableceu conexión porque a rede é de baixa calidade"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Erro na conexión wifi"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Problema de autenticación"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Non se pode establecer conexión"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Non se pode establecer conexión coa aplicación <xliff:g id="AP_NAME">%1$s</xliff:g>"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Comproba o contrasinal e téntao de novo"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Non está dentro da zona de cobertura"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Non se conectará automaticamente"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Non hai acceso a Internet"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Conectado a través de %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Dispoñible a través de %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Conectado, pero sen Internet"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Moi lenta"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Lenta"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"Aceptar"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Media"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Rápida"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Moi rápida"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Desconectado"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Desconectando..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Conectando..."</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Conectado (sen acceso ás mensaxes)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Conectado (ningún teléfono nin soporte)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Audio multimedia"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Chamadas telefónicas"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Transferencia de ficheiros"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Dispositivo de entrada"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Acceso a Internet"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Compartir contactos"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Utilizar para compartir contactos"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Uso compartido da conexión a Internet"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Mensaxes de texto"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Acceso á SIM"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"Audio en HD: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"Audio en HD"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Conectado ao audio multimedia"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Conectado ao audio do teléfono"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Conectado ao servidor de transferencia de ficheiros"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Corrección da cor"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Esta función é experimental e pode afectar ao rendemento."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Anulado por <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Tempo que queda aproximadamente: <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Tempo restante aproximado en función do uso: <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Tempo que queda ata cargar de todo: <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Tempo restante: <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Tempo restante en función do uso: <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> (tempo restante aproximado: <xliff:g id="TIME">%2$s</xliff:g>)"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - Tempo restante aproximado en función do uso: <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> (tempo restante: <xliff:g id="TIME">%2$s</xliff:g>)"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Tempo que queda aproximadamente: <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Tempo restante aproximado en función do uso: <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Tempo que queda ata cargar de todo: <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Tempo restante: <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Tempo restante en función do uso: <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> (tempo restante aproximado: <xliff:g id="TIME">^2</xliff:g>)"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - Tempo restante aproximado en función do uso: <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> (tempo restante: <xliff:g id="TIME">^2</xliff:g>)"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> ata completar a carga"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> ata completar a carga"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> (<xliff:g id="TIME">^2</xliff:g>)"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Descoñecido"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Cargando"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"cargando"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Opción controlada polo administrador"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Activado polo administrador"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Desactivado polo administrador"</string> + <string name="disabled" msgid="9206776641295849915">"Desactivada"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Permitida"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Non permitida"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Instalar apps descoñecidas"</string> <string name="home" msgid="3256884684164448244">"Inicio da configuración"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0 %"</item> diff --git a/packages/SettingsLib/res/values-gu/strings.xml b/packages/SettingsLib/res/values-gu/strings.xml index 9bf91a3cd85c..9ec0c33ac807 100644 --- a/packages/SettingsLib/res/values-gu/strings.xml +++ b/packages/SettingsLib/res/values-gu/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"ઓછી ગુણવત્તાવાળા નેટવર્કના લીધે કનેક્ટ થયું નથી"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"WiFi કનેક્શન નિષ્ફળ"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"પ્રમાણીકરણ સમસ્યા"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"કનેક્ટ કરી શકાતું નથી"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"\'<xliff:g id="AP_NAME">%1$s</xliff:g>\' સાથે કનેક્ટ કરી શકાતું નથી"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"પાસવર્ડ તપાસો અને ફરી પ્રયાસ કરો"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"રેન્જમાં નથી"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"આપમેળે કનેક્ટ કરશે નહીં"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"કોઈ ઇન્ટરનેટ ઍક્સેસ નથી"</string> @@ -37,18 +40,12 @@ <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> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"ખૂબ જ ધીમી"</string> + <string name="speed_label_slow" msgid="813109590815810235">"ધીમી"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"ઓકે"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"મધ્યમ"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"ઝડપી"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"ખૂબ ઝડપી"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"ડિસ્કનેક્ટ કર્યું"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"ડિસ્કનેક્ટ થઈ રહ્યું છે..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"કનેક્ટ થઈ રહ્યું છે…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"કનેક્ટ કર્યું (કોઇ સંદેશ ઍક્સેસ નથી)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"કનેક્ટ કરેલ (કોઈ ફોન અથવા મીડિયા નથી)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"મીડિયા ઑડિઓ"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"ફોન કૉલ"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"ફાઇલ સ્થાનાંતરણ"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"ઇનપુટ ઉપકરણ"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"ઇન્ટરનેટ ઍક્સેસ"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"સંપર્ક શેરિંગ"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"સંપર્ક શેરિંગ માટે ઉપયોગ કરો"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"ઇન્ટરનેટ કનેક્શન શેરિંગ"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"ટેક્સ્ટ સંદેશા"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"SIM ઍક્સેસ"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD ઑડિઓ: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD ઑડિઓ"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"મીડિયા ઑડિઓ સાથે કનેક્ટ કર્યુ"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"ફોન ઑડિઓ સાથે કનેક્ટ થયાં"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"ફાઇલ સ્થાનાંતરણ સેવાથી કનેક્ટ થયાં"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"રંગ સુધારણા"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"આ સુવિધા પ્રાયોગિક છે અને કામગીરી પર અસર કરી શકે છે."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"<xliff:g id="TITLE">%1$s</xliff:g> દ્વારા ઓવરરાઇડ થયું"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"અંદાજે <xliff:g id="TIME">%1$s</xliff:g> બાકી"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"તમારા વપરાશનાં આધારે લગભગ <xliff:g id="TIME">%1$s</xliff:g> બાકી છે"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"સંપૂર્ણપણે ચાર્જ થવામાં <xliff:g id="TIME">%1$s</xliff:g> બાકી"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> બાકી"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"તમારા વપરાશનાં આધારે <xliff:g id="TIME">%1$s</xliff:g> બાકી છે"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - લગભગ <xliff:g id="TIME">%2$s</xliff:g> બાકી"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - તમારા વપરાશનાં આધારે લગભગ <xliff:g id="TIME">%2$s</xliff:g> બાકી છે"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> બાકી"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"અંદાજે <xliff:g id="TIME">^1</xliff:g> બાકી"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"તમારા વપરાશનાં આધારે લગભગ <xliff:g id="TIME">^1</xliff:g> બાકી છે"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"સંપૂર્ણપણે ચાર્જ થવામાં <xliff:g id="TIME">^1</xliff:g> બાકી"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> બાકી"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"તમારા વપરાશનાં આધારે <xliff:g id="TIME">^1</xliff:g> બાકી છે"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - લગભગ <xliff:g id="TIME">^2</xliff:g> બાકી"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - તમારા વપરાશનાં આધારે લગભગ <xliff:g id="TIME">^2</xliff:g> બાકી છે"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> બાકી"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - સંપૂર્ણપણે ચાર્જ થવા માટે <xliff:g id="TIME">%2$s</xliff:g>"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - સંપૂર્ણપણે ચાર્જ થવા માટે <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"અજાણ્યું"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"ચાર્જ થઈ રહ્યું છે"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"ચાર્જ થઈ રહ્યું છે"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"વ્યવસ્થાપક દ્વારા નિયંત્રિત"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"વ્યવસ્થાપકે સક્ષમ કરેલ"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"વ્યવસ્થાપકે અક્ષમ કરેલ"</string> + <string name="disabled" msgid="9206776641295849915">"અક્ષમ કર્યો"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"મંજૂરી છે"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"મંજૂરી નથી"</string> + <string name="install_other_apps" msgid="6986686991775883017">"અજાણી ઍપ્લિકેશનો ઇન્સ્ટૉલ કરો"</string> <string name="home" msgid="3256884684164448244">"સેટિંગ્સ હોમ"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-hi/strings.xml b/packages/SettingsLib/res/values-hi/strings.xml index a7a01ec1b2c6..9078817233c3 100644 --- a/packages/SettingsLib/res/values-hi/strings.xml +++ b/packages/SettingsLib/res/values-hi/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"खराब नेटवर्क होने के कारण कनेक्ट नहीं हुआ"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"वाईफ़ाई कनेक्शन विफलता"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"प्रमाणीकरण समस्या"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"कनेक्ट नहीं हो पा रहा है"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"\'<xliff:g id="AP_NAME">%1$s</xliff:g>\' से कनेक्ट नहीं हो पा रहा है"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"पासवर्ड जांचें और दोबारा कोशिश करें"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"रेंज में नहीं"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"अपने आप कनेक्ट नहीं होगा"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"कोई इंटरनेट एक्सेस नहीं"</string> @@ -37,18 +40,12 @@ <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> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"अत्यधिक धीमी"</string> + <string name="speed_label_slow" msgid="813109590815810235">"धीमी"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"ठीक"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"मध्यम"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"तेज़"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"अत्यधिक तेज़"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"डिस्कनेक्ट किया गया"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"डिस्कनेक्ट हो रहा है..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"कनेक्ट हो रहा है..."</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"कनेक्ट किया गया (कोई संदेश एक्सेस नहीं)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"कनेक्ट है (फ़ोन या मीडिया नहीं)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"मीडिया ऑडियो"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"फ़ोन कॉल"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"फ़ाइल स्थानांतरण"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"इनपुट डिवाइस"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"इंटरनेट पहुंच"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"संपर्क साझाकरण"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"संपर्क साझाकरण के लिए उपयोग करें"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"इंटरनेट कनेक्शन साझाकरण"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"लेख संदेश"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"सिम ऐक्सेस"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD ऑडियो: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD ऑडियो"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"मीडिया ऑडियो से कनेक्ट किया गया"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"फ़ोन ऑडियो से कनेक्ट किया गया"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"फ़ाइल स्थानांतरण सर्वर से कनेक्ट किया गया"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"रंग सुधार"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"यह सुविधा प्रायोगिक है और निष्पादन को प्रभावित कर सकती है."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"<xliff:g id="TITLE">%1$s</xliff:g> के द्वारा ओवरराइड किया गया"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"लगभग <xliff:g id="TIME">%1$s</xliff:g> शेष"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"आपके उपयोग के आधार पर लगभग <xliff:g id="TIME">%1$s</xliff:g> का समय बचा है"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"पूरी तरह से चार्ज होने में <xliff:g id="TIME">%1$s</xliff:g> शेष"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> शेष"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"आपके उपयोग के आधार पर <xliff:g id="TIME">%1$s</xliff:g> का समय बचा है"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - लगभग <xliff:g id="TIME">%2$s</xliff:g> शेष"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - आपके उपयोग के आधार पर लगभग <xliff:g id="TIME">%2$s</xliff:g> का समय बचा है"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> शेष"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"लगभग <xliff:g id="TIME">^1</xliff:g> शेष"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"आपके उपयोग के आधार पर लगभग <xliff:g id="TIME">^1</xliff:g> का समय बचा है"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"पूरी तरह से चार्ज होने में <xliff:g id="TIME">^1</xliff:g> शेष"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> शेष"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"आपके उपयोग के आधार पर <xliff:g id="TIME">^1</xliff:g> का समय बचा है"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - लगभग <xliff:g id="TIME">^2</xliff:g> शेष"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - आपके उपयोग के आधार पर लगभग <xliff:g id="TIME">^2</xliff:g> का समय बचा है"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> शेष"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> पूरी तरह से चार्ज होने तक"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> पूरी तरह से चार्ज होने तक"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"अज्ञात"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"चार्ज हो रही है"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"चार्ज किया जा रहा है"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"व्यवस्थापक द्वारा नियंत्रित"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"व्यवस्थापक ने सक्षम किया है"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"व्यवस्थापक ने अक्षम किया है"</string> + <string name="disabled" msgid="9206776641295849915">"अक्षम किया गया"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"अनुमति है"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"अनुमति नहीं है"</string> + <string name="install_other_apps" msgid="6986686991775883017">"अनजान ऐप्लिकेशन इंस्टॉल करें"</string> <string name="home" msgid="3256884684164448244">"सेटिंग होम"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-hr/strings.xml b/packages/SettingsLib/res/values-hr/strings.xml index 05f13e464596..ed6f06e56c12 100644 --- a/packages/SettingsLib/res/values-hr/strings.xml +++ b/packages/SettingsLib/res/values-hr/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Niste povezani jer je mreža loše kvalitete"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Povezivanje s Wi-Fi-jem nije uspjelo"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Problem u autentifikaciji"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Povezivanje nije uspjelo"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Povezivanje s aplikacijom \"<xliff:g id="AP_NAME">%1$s</xliff:g>\" nije uspjelo"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Provjerite zaporku i pokušajte ponovo"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Nije u rasponu"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Neće se povezati automatski"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Nema pristupa internetu"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Povezano putem %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Dostupno putem %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Povezano, bez interneta"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Vrlo sporo"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Sporo"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"U redu"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Srednje"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Brzo"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Vrlo brzo"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Niste povezani"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Isključivanje…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Povezivanje…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Povezano (bez pristupa porukama)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Povezano (bez telefona ili medija)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Medijski zvuk"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Telefonski pozivi"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Prijenos datoteke"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Ulazni uređaj"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Pristup internetu"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Dijeljenje kontakata"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Upotrijebi za dijeljenje kontakata"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Dijeljenje internetske veze"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"SMS-ovi"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Pristup SIM-u"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD audio: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD audio"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Povezano s medijskim zvukom"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Povezano sa telefonskim zvukom"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Povezano s poslužiteljem za prijenos datoteka"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Korekcija boje"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Ova je značajka eksperimentalna i može utjecati na performanse."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Premošćeno postavkom <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Još otprilike <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Još otprilike <xliff:g id="TIME">%1$s</xliff:g> na temelju vaše upotrebe"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Još <xliff:g id="TIME">%1$s</xliff:g> do potpune napunjenosti"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Još <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Još <xliff:g id="TIME">%1$s</xliff:g> na temelju vaše upotrebe"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> – preostalo je približno <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> – još otprilike <xliff:g id="TIME">%2$s</xliff:g> na temelju vaše upotrebe"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> – još <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Još otprilike <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Još otprilike <xliff:g id="TIME">^1</xliff:g> na temelju vaše upotrebe"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Još <xliff:g id="TIME">^1</xliff:g> do potpune napunjenosti"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Još <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Još <xliff:g id="TIME">^1</xliff:g> na temelju vaše upotrebe"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> – preostalo je približno <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> – još otprilike <xliff:g id="TIME">^2</xliff:g> na temelju vaše upotrebe"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> – još <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> do potpune napunjenosti"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g> do potpune napunjenosti"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Nepoznato"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Punjenje"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"punjenje"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Kontrolira administrator"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Omogućio administrator"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Onemogućio administrator"</string> + <string name="disabled" msgid="9206776641295849915">"Onemogućeno"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Dopušteno"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Nije dopušteno"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Instalacija nepoznatih aplikacija"</string> <string name="home" msgid="3256884684164448244">"Početni zaslon postavki"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-hu/strings.xml b/packages/SettingsLib/res/values-hu/strings.xml index eab7fc231677..822ff0b1da6c 100644 --- a/packages/SettingsLib/res/values-hu/strings.xml +++ b/packages/SettingsLib/res/values-hu/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Nem kapcsolódik a hálózat rossz minősége miatt"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Wi-Fi-kapcsolati hiba"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Azonosítási probléma"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Nem lehet csatlakozni"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Nem lehet csatlakozni a(z) „<xliff:g id="AP_NAME">%1$s</xliff:g>” hálózathoz"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Ellenőrizze a jelszót, majd próbálkozzon újra"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Hatókörön kívül"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Nem csatlakozik automatikusan"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Nincs internet-hozzáférés"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Csatlakozva a következőn keresztül: %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Elérhető a következőn keresztül: %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Csatlakozva, nincs internetelérés"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Nagyon lassú"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Lassú"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"Rendben"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Közepes"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Gyors"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Nagyon gyors"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Szétkapcsolva"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Szétkapcsolás..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Csatlakozás…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Csatlakoztatva (nincs üzenet-hozzáférés)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Csatlakoztatva (nincs telefon vagy hordozó)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Média audió"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Telefonhívások"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Fájlátvitel"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Beviteli eszköz"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Internetelérés"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Névjegyek megosztása"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Használja a névjegyek megosztására"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Internetkapcsolat megosztása"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Szöveges üzenetek"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"SIM-elérés"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD audio: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD audio"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Csatlakoztatva az eszköz hangjához"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Csatlakoztatva a telefon hangjához"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Csatlakozva a fájlküldő szerverhez"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Színkorrekció"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Ez egy kísérleti funkció, és hatással lehet a teljesítményre."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Felülírva erre: <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Körülbelül <xliff:g id="TIME">%1$s</xliff:g> maradt hátra"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Körülbelül <xliff:g id="TIME">%1$s</xliff:g> van hátra az eszköz igénybevétele alapján"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">%1$s</xliff:g> a teljes töltöttségig"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> van hátra"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"<xliff:g id="TIME">%1$s</xliff:g> van hátra az eszköz igénybevétele alapján"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - körülbelül <xliff:g id="TIME">%2$s</xliff:g> van hátra"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> – körülbelül <xliff:g id="TIME">%2$s</xliff:g> van hátra az eszköz igénybevétele alapján"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> van hátra"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Körülbelül <xliff:g id="TIME">^1</xliff:g> maradt hátra"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Körülbelül <xliff:g id="TIME">^1</xliff:g> van hátra az eszköz igénybevétele alapján"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">^1</xliff:g> a teljes töltöttségig"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> van hátra"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"<xliff:g id="TIME">^1</xliff:g> van hátra az eszköz igénybevétele alapján"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - körülbelül <xliff:g id="TIME">^2</xliff:g> van hátra"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> – körülbelül <xliff:g id="TIME">^2</xliff:g> van hátra az eszköz igénybevétele alapján"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g> van hátra"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> a teljes feltöltésig"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> a teljes feltöltésig"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Ismeretlen"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Töltés"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"töltés"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Rendszergazda által irányítva"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"A rendszergazda bekapcsolta"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"A rendszergazda kikapcsolta"</string> + <string name="disabled" msgid="9206776641295849915">"Letiltva"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Engedélyezett"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Nem engedélyezett"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Ismeretlen alkalmazások telepítése"</string> <string name="home" msgid="3256884684164448244">"Beállítások kezdőlapja"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-hy/strings.xml b/packages/SettingsLib/res/values-hy/strings.xml index 62e3a2a2e88d..1b7615b39a95 100644 --- a/packages/SettingsLib/res/values-hy/strings.xml +++ b/packages/SettingsLib/res/values-hy/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Չի կապակցվել ցանցի թույլ ազդանշանի պատճառով"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"WiFi կապի ձախողում"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Նույնականացման խնդիր"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Կապ չկա"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Հնարավոր չէ միանալ «<xliff:g id="AP_NAME">%1$s</xliff:g>»-ին"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Ստուգեք գաղտնաբառը և նորից փորձեք"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Ընդգրկույթից դուրս է"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Չի միանա ավտոմատ"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Ինտերնետ կապ չկա"</string> @@ -37,18 +40,12 @@ <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> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Շատ դանդաղ"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Դանդաղ"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"Հաստատել"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Միջին"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Արագ"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Շատ արագ"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Անջատված է"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Անջատվում է..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Միանում է..."</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Միացված է (հաղորդագրությանը մուտք չկա)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Միացված է (առանց հեռախոսի և մեդիայի)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Մեդիա աուդիո"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Հեռախոսազանգեր"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Ֆայլերի փոխանցում"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Ներմուծման սարք"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Ինտերնետի մուտք"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Կոնտակտի համօգտագործում"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Օգտագործել կոնտակտի համօգտագործման համար"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Ինտերնետ կապի տարածում"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"SMS հաղորդագրություններ"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"SIM քարտի հասանելիություն"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD ձայն՝ <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD ձայն"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Միացված է մեդիա աուդիոյին"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Միացված է հեռախոսի ձայնային տվյալներին"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Միացված է ֆայլերի փոխանցման սերվերին"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Գունաշտկում"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Սա փորձնական գործառույթ է և կարող է ազդել սարքի աշխատանքի վրա:"</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Գերազանցված է <xliff:g id="TITLE">%1$s</xliff:g>-ից"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Մնացել է մոտ <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Մնացել է մոտ <xliff:g id="TIME">%1$s</xliff:g>՝ օգտագործման եղանակից կախված"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Մինչև լրիվ լիցքավորումը մնացել է <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Մնացել է <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Մնացել է <xliff:g id="TIME">%1$s</xliff:g>՝ օգտագործման եղանակից կախված"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> – մնացել է մոտ <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - մնացել է մոտ <xliff:g id="TIME">%2$s</xliff:g>՝ օգտագործման եղանակից կախված"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - մնացել է <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Մնացել է մոտ <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Մնացել է մոտ <xliff:g id="TIME">^1</xliff:g>՝ օգտագործման եղանակից կախված"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Մինչև լրիվ լիցքավորումը մնացել է <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Մնացել է <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Մնացել է <xliff:g id="TIME">^1</xliff:g>՝ օգտագործման եղանակից կախված"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> – մնացել է մոտ <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - մնացել է մոտ <xliff:g id="TIME">^2</xliff:g>՝ օգտագործման եղանակից կախված"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - մնացել է <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> մինչև լրիվ լիցքավորումը"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g> մինչև լրիվ լիցքավորումը"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Անհայտ"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Լիցքավորում"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"լիցքավորում"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Վերահսկվում է ադմինիստրատորի կողմից"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Միացված է ադմինիստրատորի կողմից"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Անջատվել է ադմինիստրատորի կողմից"</string> + <string name="disabled" msgid="9206776641295849915">"Կասեցված է"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Թույլատրված է"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Արգելված է"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Անհայտ հավելվածների տեղադրում"</string> <string name="home" msgid="3256884684164448244">"Կարգավորումների գլխավոր էջ"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-in/strings.xml b/packages/SettingsLib/res/values-in/strings.xml index 5b5b4524a965..6e862b4f1d14 100644 --- a/packages/SettingsLib/res/values-in/strings.xml +++ b/packages/SettingsLib/res/values-in/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Tidak tersambung karena jaringan berkualitas rendah"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Kegagalan Sambungan Wi-Fi"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Masalah autentikasi"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Tidak dapat tersambung"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Tidak dapat tersambung ke \'<xliff:g id="AP_NAME">%1$s</xliff:g>\'"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Periksa sandi dan coba lagi"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Tidak dalam jangkauan"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Tidak akan tersambung otomatis"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Tidak ada akses internet"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Terhubung melalui %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Tersedia melalui %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Tersambung, tidak ada internet"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Sangat Lambat"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Lambat"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"Oke"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Sedang"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Cepat"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Sangat Cepat"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Sambungan terputus"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Memutus sambungan..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Menyambung…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Tersambung (tidak ada akses pesan)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Terhubung (bukan telepon atau media)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Audio media"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Panggilan telepon"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Transfer file"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Perangkat masukan"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Akses Internet"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Berbagi kontak"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Gunakan untuk berbagi kontak"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Berbagi sambungan internet"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"SMS"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Akses SIM"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"Audio HD: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"Audio HD"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Tersambung ke media audio"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Tersambung ke audio ponsel"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Sambungkan ke server transfer file"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Koreksi warna"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Fitur ini bersifat eksperimental dan dapat memengaruhi kinerja."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Digantikan oleh <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Sekitar <xliff:g id="TIME">%1$s</xliff:g> lagi"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Kira-kira <xliff:g id="TIME">%1$s</xliff:g> lagi berdasarkan penggunaan Anda"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">%1$s</xliff:g> lagi hingga terisi penuh"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> tersisa"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"<xliff:g id="TIME">%1$s</xliff:g> lagi berdasarkan penggunaan Anda"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - kira-kira <xliff:g id="TIME">%2$s</xliff:g> lagi"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - kira-kira <xliff:g id="TIME">%2$s</xliff:g> lagi berdasarkan penggunaan Anda"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> tersisa"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Sekitar <xliff:g id="TIME">^1</xliff:g> lagi"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Kira-kira <xliff:g id="TIME">^1</xliff:g> lagi berdasarkan penggunaan Anda"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">^1</xliff:g> lagi hingga terisi penuh"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> tersisa"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"<xliff:g id="TIME">^1</xliff:g> lagi berdasarkan penggunaan Anda"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - kira-kira <xliff:g id="TIME">^2</xliff:g> lagi"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - kira-kira <xliff:g id="TIME">^2</xliff:g> lagi berdasarkan penggunaan Anda"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> tersisa"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> lagi terisi penuh"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> lagi terisi penuh"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Tidak diketahui"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Mengisi daya"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"mengisi daya baterai"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Dikontrol oleh admin"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Diaktifkan oleh admin"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Dinonaktifkan oleh admin"</string> + <string name="disabled" msgid="9206776641295849915">"Dinonaktifkan"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Diizinkan"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Tidak diizinkan"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Instal aplikasi yang tidak dikenal"</string> <string name="home" msgid="3256884684164448244">"Layar Utama Setelan"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-is/strings.xml b/packages/SettingsLib/res/values-is/strings.xml index 3f9aafd91292..6b556852a145 100644 --- a/packages/SettingsLib/res/values-is/strings.xml +++ b/packages/SettingsLib/res/values-is/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Tenging er ekki til staðar því nettengingin er léleg"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"WiFi-tengingarvilla"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Vandamál við auðkenningu"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Ekki tókst að tengjast"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Ekki tókst að tengjast við „<xliff:g id="AP_NAME">%1$s</xliff:g>“"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Athugaðu aðgangsorðið og reyndu aftur"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Ekkert samband"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Mun ekki tengjast sjálfkrafa"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Enginn netaðgangur"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Tengt í gegnum %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Í boði í gegnum %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Tengt, enginn internetaðgangur"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Mjög hægt"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Hægt"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"Í lagi"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Miðlungshratt"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Hratt"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Mjög hratt"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Aftengt"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Aftengist…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Tengist…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Tengt (enginn skilaboðaaðgangur)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Tengt (ekki sími eða efnisspilun)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Hljóð efnis"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Símtöl"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Skráaflutningur"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Inntakstæki"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Internetaðgangur"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Deiling tengiliða"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Nota til að deila tengiliðum"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Deiling nettengingar"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Textaskilaboð"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Aðgangur að SIM-korti"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD-hljóð: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD-hljóð"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Tengt við hljóðspilun efnis"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Tengt við hljóð símans"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Tengt við skráaflutningsþjón"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Litaleiðrétting"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Þessi eiginleiki er á tilraunastigi og getur haft áhrif á frammistöðu."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Hnekkt af <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Um það bil <xliff:g id="TIME">%1$s</xliff:g> eftir"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"U.þ.b. <xliff:g id="TIME">%1$s</xliff:g> eftir miðað við notkun þína"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">%1$s</xliff:g> þar til hleðslu er lokið"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> eftir"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"<xliff:g id="TIME">%1$s</xliff:g> eftir miðað við notkun þína"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> – um <xliff:g id="TIME">%2$s</xliff:g> eftir"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> – u.þ.b. <xliff:g id="TIME">%2$s</xliff:g> eftir miðað við notkun þína"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> eftir"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Um það bil <xliff:g id="TIME">^1</xliff:g> eftir"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"U.þ.b. <xliff:g id="TIME">^1</xliff:g> eftir miðað við notkun þína"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">^1</xliff:g> þar til hleðslu er lokið"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> eftir"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"<xliff:g id="TIME">^1</xliff:g> eftir miðað við notkun þína"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> – um <xliff:g id="TIME">^2</xliff:g> eftir"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> – u.þ.b. <xliff:g id="TIME">^2</xliff:g> eftir miðað við notkun þína"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g> eftir"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> þar til fullri hleðslu er náð"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> þar til fullri hleðslu er náð"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Óþekkt"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Í hleðslu"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"í hleðslu"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Stjórnað af kerfisstjóra"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Gert virkt af kerfisstjóra"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Gert óvirkt af kerfisstjóra"</string> + <string name="disabled" msgid="9206776641295849915">"Óvirkt"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Heimilað"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Ekki heimilað"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Setja upp óþekkt forrit"</string> <string name="home" msgid="3256884684164448244">"Stillingar"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-it/strings.xml b/packages/SettingsLib/res/values-it/strings.xml index 99377e15a83d..0484645cbcb4 100644 --- a/packages/SettingsLib/res/values-it/strings.xml +++ b/packages/SettingsLib/res/values-it/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Impossibile connettersi a causa della bassa qualità della rete"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Errore connessione Wi-Fi"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Problema di autenticazione"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Impossibile stabilire una connessione"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Impossibile connettersi a \"<xliff:g id="AP_NAME">%1$s</xliff:g>\""</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Controlla la password e riprova"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Fuori portata"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Non verrà eseguita la connessione automatica"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Nessun accesso a Internet"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Collegato tramite %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Disponibile tramite %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Connesso senza Internet"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Molto lenta"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Lenta"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"OK"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Media"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Veloce"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Molto veloce"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Disconnesso"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Disconnessione..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Connessione..."</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Connesso (nessun accesso ai messaggi)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Collegato (telef. o conten. mult. esclusi)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Audio multimediale"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Telefonate"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Trasferimento file"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Dispositivo di input"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Accesso Internet"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Condivisione contatti"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Usa per condivisione contatti"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Condivisione connessione Internet"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"SMS"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Accesso alla SIM"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"Audio HD: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"Audio HD"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Collegato ad audio media"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Collegato ad audio telefono"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Collegato al server di trasferimento file"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Correzione del colore"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Questa funzione è sperimentale e potrebbe influire sulle prestazioni."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Valore sostituito da <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Tempo approssimativo rimanente: <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Tempo rimanente in base al tuo utilizzo: <xliff:g id="TIME">%1$s</xliff:g> circa"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Tempo rimanente alla carica completa: <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Tempo rimanente: <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Tempo rimanente in base al tuo utilizzo: <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - ancora circa <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - Tempo rimanente in base al tuo utilizzo: <xliff:g id="TIME">%2$s</xliff:g> circa"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - Tempo rimanente: <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Tempo approssimativo rimanente: <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Tempo rimanente in base al tuo utilizzo: <xliff:g id="TIME">^1</xliff:g> circa"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Tempo rimanente alla carica completa: <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Tempo rimanente: <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Tempo rimanente in base al tuo utilizzo: <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - ancora circa <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - Tempo rimanente in base al tuo utilizzo: <xliff:g id="TIME">^2</xliff:g> circa"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - Tempo rimanente: <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> alla carica completa"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> alla carica completa"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Sconosciuta"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"In carica"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"in carica"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Gestita dall\'amministratore"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Attivata dall\'amministratore"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Disattivata dall\'amministratore"</string> + <string name="disabled" msgid="9206776641295849915">"Disattivato"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Consentite"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Non consentite"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Installa app sconosciute"</string> <string name="home" msgid="3256884684164448244">"Home page Impostazioni"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-iw/strings.xml b/packages/SettingsLib/res/values-iw/strings.xml index 3622a25a88f9..36117ed3c706 100644 --- a/packages/SettingsLib/res/values-iw/strings.xml +++ b/packages/SettingsLib/res/values-iw/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"אין חיבור לרשת, כי איכות הרשת נמוכה"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"כשל בחיבור Wi-Fi"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"בעיית אימות"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"לא ניתן להתחבר"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"לא ניתן להתחבר אל <xliff:g id="AP_NAME">%1$s</xliff:g>"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"בדוק את הסיסמה ונסה שוב"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"מחוץ לטווח"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"לא יתבצע חיבור באופן אוטומטי"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"אין גישה לאינטרנט"</string> @@ -37,18 +40,12 @@ <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> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"איטית מאוד"</string> + <string name="speed_label_slow" msgid="813109590815810235">"איטית"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"אישור"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"בינונית"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"מהירה"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"מהירה מאוד"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"מנותק"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"מתנתק..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"מתחבר ..."</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"מחובר (אין גישה להודעות)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"מחובר (ללא טלפון או מדיה)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"אודיו של מדיה"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"שיחות טלפון"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"העברת קבצים"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"מכשיר קלט"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"גישה לאינטרנט"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"שיתוף אנשי קשר"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"השתמש עבור שיתוף אנשי קשר"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"שיתוף חיבור לאינטרנט"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"הודעות טקסט"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"גישה ל-SIM"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"אודיו באיכות HD: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"אודיו באיכות HD"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"מחובר לאודיו של מדיה"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"מחובר לאודיו של הטלפון"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"מחובר לשרת העברת קבצים"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"תיקון צבע"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"תכונה זו היא ניסיונית ועשויה להשפיע על הביצועים."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"נעקף על ידי <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"עוד <xliff:g id="TIME">%1$s</xliff:g> בקירוב"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"על סמך השימוש במכשיר, הסוללה תתרוקן בעוד <xliff:g id="TIME">%1$s</xliff:g>, בקירוב"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">%1$s</xliff:g> עד לטעינה מלאה"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"נותרו <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"על סמך השימוש במכשיר, הסוללה תתרוקן בעוד <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - הזמן הנותר: בערך <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - על סמך השימוש במכשיר, הסוללה תתרוקן בעוד <xliff:g id="TIME">%2$s</xliff:g>, בקירוב"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - נותרו <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"עוד <xliff:g id="TIME">^1</xliff:g> בקירוב"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"על סמך השימוש במכשיר, הסוללה תתרוקן בעוד <xliff:g id="TIME">^1</xliff:g>, בקירוב"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">^1</xliff:g> עד לטעינה מלאה"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"נותרו <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"על סמך השימוש במכשיר, הסוללה תתרוקן בעוד <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - הזמן הנותר: בערך <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - על סמך השימוש במכשיר, הסוללה תתרוקן בעוד <xliff:g id="TIME">^2</xliff:g>, בקירוב"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - נותרו <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> עד לטעינה מלאה"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> עד לטעינה מלאה"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"לא ידוע"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"טוען"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"בטעינה"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"נמצא בשליטת מנהל מערכת"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"מופעל על ידי מנהל המכשיר"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"הושבת על ידי מנהל המכשיר"</string> + <string name="disabled" msgid="9206776641295849915">"מושבת"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"מורשה"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"לא מורשה"</string> + <string name="install_other_apps" msgid="6986686991775883017">"להתקין גם אם לא מוכר?"</string> <string name="home" msgid="3256884684164448244">"דף הבית של ההגדרות"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-ja/strings.xml b/packages/SettingsLib/res/values-ja/strings.xml index 54eedc3acb49..1e82d3a4a5b4 100644 --- a/packages/SettingsLib/res/values-ja/strings.xml +++ b/packages/SettingsLib/res/values-ja/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"ネットワークの品質が低いため、接続されていません"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"WiFi接続エラー"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"認証に問題"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"接続できません"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"「<xliff:g id="AP_NAME">%1$s</xliff:g>」に接続できません"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"パスワードを確認して、もう一度お試しください"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"圏外"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"自動的に接続されません"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"インターネットに接続していません"</string> @@ -37,18 +40,12 @@ <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> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"とても遅い"</string> + <string name="speed_label_slow" msgid="813109590815810235">"遅い"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"OK"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"普通"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"速い"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"とても速い"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"切断"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"切断中..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"接続中..."</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"接続済み(メッセージへのアクセスなし)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"接続済み(電話/メディアを除く)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"メディアの音声"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"電話"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"ファイル転送"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"入力デバイス"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"インターネットアクセス"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"連絡先の共有"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"連絡先の共有に使用"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"インターネット接続の共有"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"テキスト メッセージ"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"SIMアクセス"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD オーディオ: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD オーディオ"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"メディアの音声に接続"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"携帯電話の音声に接続"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"ファイル転送サーバーに接続"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"色補正"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"この機能は試験運用機能であり、パフォーマンスに影響することがあります。"</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"<xliff:g id="TITLE">%1$s</xliff:g>によって上書き済み"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"あと約 <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"残り時間: 約 <xliff:g id="TIME">%1$s</xliff:g>(使用状況に基づく)"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"フル充電まであと <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g>(残り時間)"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"残り時間: <xliff:g id="TIME">%1$s</xliff:g>(使用状況に基づく)"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - 残り約 <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - 残り時間: 約 <xliff:g id="TIME">%2$s</xliff:g>(使用状況に基づく)"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g>(残り時間)"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"あと約 <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"残り時間: 約 <xliff:g id="TIME">^1</xliff:g>(使用状況に基づく)"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"フル充電まであと <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g>(残り時間)"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"残り時間: <xliff:g id="TIME">^1</xliff:g>(使用状況に基づく)"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - 残り約 <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - 残り時間: 約 <xliff:g id="TIME">^2</xliff:g>(使用状況に基づく)"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>(残り時間)"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - フル充電まで <xliff:g id="TIME">%2$s</xliff:g>"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - フル充電まで <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"不明"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"充電中"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"充電しています"</string> @@ -358,6 +351,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"管理者により管理されています"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"管理者により有効にされています"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"管理者により無効にされています"</string> + <string name="disabled" msgid="9206776641295849915">"無効"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"許可"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"許可しない"</string> + <string name="install_other_apps" msgid="6986686991775883017">"不明なアプリのインストール"</string> <string name="home" msgid="3256884684164448244">"設定のホーム"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-ka/strings.xml b/packages/SettingsLib/res/values-ka/strings.xml index 068cfef77542..a63c7a1fa224 100644 --- a/packages/SettingsLib/res/values-ka/strings.xml +++ b/packages/SettingsLib/res/values-ka/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"არ არის დაკავშირებული დაბალი ხარისხის ქსელის გამო"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"WiFi კავშირის შეფერხება"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"ავთენტიკაციის პრობლემა"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"დაკავშირება ვერ ხერხდება"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"<xliff:g id="AP_NAME">%1$s</xliff:g>-თან დაკავშირება ვერ ხერხდება"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"გადაამოწმეთ პაროლი და ხელახლა ცადეთ"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"არ არის დიაპაზონში"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"ავტომატურად დაკავშირება ვერ მოხერხდება"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"ინტერნეტთან კავშირი არ არის"</string> @@ -37,18 +40,12 @@ <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> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"ძალიან ნელი"</string> + <string name="speed_label_slow" msgid="813109590815810235">"ნელი"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"კარგი"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"საშუალო"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"სწრაფი"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"ძალიან სწრაფი"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"კავშირი გაწყვეტილია"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"მიმდინარეობს გათიშვა…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"მიმდინარეობს დაკავშირება…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"დაკავშირებულია (შეტყობინებაზე წვდომა არ არის)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"დაკავშირება (გარდა ტელეფონისა და მედიისა)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"მედია აუდიო"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"სატელეფონო ზარები"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"ფაილების გადაცემა"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"შეყვანის მოწყობილობა"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"ინტერნეტზე წვდომა"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"კონტაქტის გაზიარება"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"კონტაქტის გაზიარებისთვის გამოყენება"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"ინტერნეტ კავშირის გაზიარება"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"ტექსტური შეტყობინებები"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"SIM წვდომა"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD აუდიო: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD აუდიო"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"დაკავშირებულია აუდიო მულტიმედიურ სისტემასთან"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"დაკავშირებულია ტელეფონის აუდიო მოწყობილობასთან"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"დაკავშირებულია ფაილების გადაცემის სერვერთან"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"ფერის კორექცია"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"ეს ფუნქცია საცდელია და შეიძლება გავლენა იქონიოს ფუნქციონალობაზე."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"უკუგებულია <xliff:g id="TITLE">%1$s</xliff:g>-ის მიერ"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"დარჩა დაახლოებით <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"დარჩა დაახლოებით <xliff:g id="TIME">%1$s</xliff:g>, ბატარეის მოხმარების გათვალისწინებით"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"სრულ დატენვამდე დარჩენილია <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"დარჩენილია <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"დარჩა <xliff:g id="TIME">%1$s</xliff:g>, ბატარეის მოხმარების გათვალისწინებით"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> — დარჩა დაახლოებით <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> — დარჩა დაახლოებით <xliff:g id="TIME">%2$s</xliff:g>, ბატარეის მოხმარების გათვალისწინებით"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> — დარჩენილია <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"დარჩა დაახლოებით <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"დარჩა დაახლოებით <xliff:g id="TIME">^1</xliff:g>, ბატარეის მოხმარების გათვალისწინებით"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"სრულ დატენვამდე დარჩენილია <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"დარჩენილია <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"დარჩა <xliff:g id="TIME">^1</xliff:g>, ბატარეის მოხმარების გათვალისწინებით"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> — დარჩა დაახლოებით <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> — დარჩა დაახლოებით <xliff:g id="TIME">^2</xliff:g>, ბატარეის მოხმარების გათვალისწინებით"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> — დარჩენილია <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> — სრულ დატენვამდე დარჩა <xliff:g id="TIME">%2$s</xliff:g>"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> — სრულ დატენვამდე დარჩა <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> — <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"უცნობი"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"იტენება"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"იტენება"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"იმართება ადმინისტრატორის მიერ"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"ჩართულია ადმინისტრატორის მიერ"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"გათიშულია ადმინისტრატორის მიერ"</string> + <string name="disabled" msgid="9206776641295849915">"გამორთული"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"დაშვებულია"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"დაუშვებელია"</string> + <string name="install_other_apps" msgid="6986686991775883017">"უცნობი აპების ინსტალაცია"</string> <string name="home" msgid="3256884684164448244">"პარამეტრების გვერდი"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-kk/strings.xml b/packages/SettingsLib/res/values-kk/strings.xml index cc52197551db..b2de42177ccc 100644 --- a/packages/SettingsLib/res/values-kk/strings.xml +++ b/packages/SettingsLib/res/values-kk/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Желі байланысының сапасы төмен болғандықтан қосылмады"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Wi-Fi байланысының қатесі"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Растау мәселесі"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Қосылу мүмкін емес"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"\"<xliff:g id="AP_NAME">%1$s</xliff:g>\" қолданбасына қосылу мүмкін емес"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Құпия сөзді тексеріп, әрекетті қайталаңыз"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Аумақта жоқ"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Автоматты қосылмайды"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Интернетпен байланыс жоқ"</string> @@ -37,18 +40,12 @@ <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> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Өте баяу"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Баяу"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"Жарайды"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Орташа"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Жылдам"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Өте жылдам"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Ажыратылған"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Ажыратылуда…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Жалғауда..."</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Жалғанған (хабарлар қол жетімсіз)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Жалғанған (телефон және медиа жоқ)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Meдиа аудиосы"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Телефон қоңыраулары"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Файл жіберу"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Кіріс құрылғысы"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Интернетке қосылу"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Контактіні бөлісу"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Контактіні бөлісу үшін пайдалану"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Интернет байланысын ортақ қолдану"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Мәтіндік хабарлар"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"SIM картасына кіру"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD форматты аудиомазмұн: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD форматты аудиомазмұн"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Медиа аудиосына жалғанған"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Телефон аудиосына қосылған"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Файл жіберу серверіне жалғанған"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Түсті түзету"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Бұл мүмкіндік эксперименттік болып табылады және өнімділікке әсер етуі мүмкін."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"<xliff:g id="TITLE">%1$s</xliff:g> үстінен басқан"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Қалған <xliff:g id="TIME">%1$s</xliff:g> туралы"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Пайдалану негізінде шамамен <xliff:g id="TIME">%1$s</xliff:g> қалды"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Толық зарядқа <xliff:g id="TIME">%1$s</xliff:g> қалды"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> қалды"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Пайдалану негізінде <xliff:g id="TIME">%1$s</xliff:g> қалды"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> – шамамен <xliff:g id="TIME">%2$s</xliff:g> қалды"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - пайдалану негізінде шамамен <xliff:g id="TIME">%2$s</xliff:g> қалды"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> қалды"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Қалған <xliff:g id="TIME">^1</xliff:g> туралы"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Пайдалану негізінде шамамен <xliff:g id="TIME">^1</xliff:g> қалды"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Толық зарядқа <xliff:g id="TIME">^1</xliff:g> қалды"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> қалды"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Пайдалану негізінде <xliff:g id="TIME">^1</xliff:g> қалды"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> – шамамен <xliff:g id="TIME">^2</xliff:g> қалды"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - пайдалану негізінде шамамен <xliff:g id="TIME">^2</xliff:g> қалды"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> қалды"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> – толық зарядталғанға дейін <xliff:g id="TIME">%2$s</xliff:g>"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> – толық зарядталғанға дейін <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Белгісіз"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Зарядталуда"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"зарядталуда"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Әкімші басқарады"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Әкімші қосқан"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Әкімші өшірген"</string> + <string name="disabled" msgid="9206776641295849915">"Өшірілген"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Рұқсат етілген"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Рұқсат етілмеген"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Белгісіз қолданбаларды орнату"</string> <string name="home" msgid="3256884684164448244">"Параметрлер негізгі беті"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-km/strings.xml b/packages/SettingsLib/res/values-km/strings.xml index 03d8c09dfc8a..8f9066f4f476 100644 --- a/packages/SettingsLib/res/values-km/strings.xml +++ b/packages/SettingsLib/res/values-km/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"មិនអាចភ្ជាប់បានទេ ដោយសារបណ្តាញមានគុណភាពសេវាខ្សោយ"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"ការភ្ជាប់ WiFi បរាជ័យ"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"បញ្ហាក្នុងការផ្ទៀងផ្ទាត់"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"មិនអាចភ្ជាប់បានទេ"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"មិនអាចភ្ជាប់ជាមួយ \'<xliff:g id="AP_NAME">%1$s</xliff:g>\' បានទេ"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"សូមពិនិត្យមើលពាក្យសម្ងាត់ រួចព្យាយាមម្ដងទៀត"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"នៅក្រៅតំបន់"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"នឹងមិនភ្ជាប់ដោយស្វ័យប្រវត្តិទេ"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"មិនមានអ៊ីនធឺណិតទេ"</string> @@ -37,18 +40,12 @@ <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> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"យឺតណាស់"</string> + <string name="speed_label_slow" msgid="813109590815810235">"យឺត"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"យល់ព្រម"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"មធ្យម"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"លឿន"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"លឿនណាស់"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"បានផ្ដាច់"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"កំពុងផ្ដាច់…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"កំពុងតភ្ជាប់…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"បានភ្ជាប់ (គ្មានការចូលដំណើរការសារ)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"បានតភ្ជាប់ (គ្មានទូរស័ព្ទ ឬមេឌៀ)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"សំឡេងមេឌៀ"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"ការហៅទូរសព្ទ"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"ផ្ទេរឯកសារ"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"ឧបករណ៍បញ្ចូល"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"ចូលអ៊ីនធឺណិត"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"ការចែករំលែកទំនាក់ទំនង"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"ប្រើសម្រាប់ការចែករំលែកទំនាក់ទំនង"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"ចែករំលែកការតភ្ជាប់អ៊ីនធឺណិត"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"សារជាអក្សរ"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"ការចូលដំណើរការស៊ីម"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"សំឡេងកម្រិត HD៖ <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"សំឡេងកម្រិត HD"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"បានភ្ជាប់ទៅអូឌីយ៉ូមេឌៀ"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"តភ្ជាប់ទៅអូឌីយ៉ូទូរស័ព្ទ"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"បានតភ្ជាប់ទៅម៉ាស៊ីនមេផ្ទេរឯកសារ"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"ការកែពណ៌"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"មុខងារនេះគឺជាការពិសោធន៍ ហើយអាចប៉ះពាល់ដំណើរការ។"</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"បដិសេធដោយ <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"សល់ប្រហែល <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"សល់ប្រហែល <xliff:g id="TIME">%1$s</xliff:g> ទៀតផ្អែកលើការប្រើប្រាស់របស់អ្នក"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"សល់ <xliff:g id="TIME">%1$s</xliff:g> ទើបសាកថ្មពេញ"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"នៅសល់ <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"សល់ <xliff:g id="TIME">%1$s</xliff:g> ទៀតផ្អែកលើការប្រើប្រាស់របស់អ្នក"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - សល់ប្រហែល <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - សល់ប្រហែល <xliff:g id="TIME">%2$s</xliff:g> ទៀតផ្អែកលើការប្រើប្រាស់របស់អ្នក"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - នៅសល់ <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"សល់ប្រហែល <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"សល់ប្រហែល <xliff:g id="TIME">^1</xliff:g> ទៀតផ្អែកលើការប្រើប្រាស់របស់អ្នក"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"សល់ <xliff:g id="TIME">^1</xliff:g> ទើបសាកថ្មពេញ"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"នៅសល់ <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"សល់ <xliff:g id="TIME">^1</xliff:g> ទៀតផ្អែកលើការប្រើប្រាស់របស់អ្នក"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - សល់ប្រហែល <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - សល់ប្រហែល <xliff:g id="TIME">^2</xliff:g> ទៀតផ្អែកលើការប្រើប្រាស់របស់អ្នក"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - នៅសល់ <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> រហូតដល់សាកពេញ"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> រហូតដល់សាកពេញ"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"មិនស្គាល់"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"កំពុងបញ្ចូលថ្ម"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"កំពុងសាកថ្ម"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"គ្រប់គ្រងដោយអ្នកគ្រប់គ្រង"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"បើកដោយអ្នកគ្រប់គ្រង"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"បិទដោយអ្នកគ្រប់គ្រង"</string> + <string name="disabled" msgid="9206776641295849915">"បិទ"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"បានអនុញ្ញាត"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"មិនអនុញ្ញាតទេ"</string> + <string name="install_other_apps" msgid="6986686991775883017">"ដំឡើងកម្មវិធីដែលមិនស្គាល់"</string> <string name="home" msgid="3256884684164448244">"ទំព័រដើមនៃការកំណត់"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-kn/strings.xml b/packages/SettingsLib/res/values-kn/strings.xml index 893032cb18f4..0c7ebff945ee 100644 --- a/packages/SettingsLib/res/values-kn/strings.xml +++ b/packages/SettingsLib/res/values-kn/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"ಕಡಿಮೆ ಗುಣಮಟ್ಟದ ನೆಟ್ವರ್ಕ್ನಿಂದಾಗಿ ಸಂಪರ್ಕ ಸಾಧಿಸಿಲ್ಲ"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"WiFi ಸಂಪರ್ಕ ವಿಫಲತೆ"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"ಪ್ರಮಾಣೀಕರಣ ಸಮಸ್ಯೆ"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"ಸಂಪರ್ಕಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"\'<xliff:g id="AP_NAME">%1$s</xliff:g>\' ಗೆ ಸಂಪರ್ಕಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"ಪಾಸ್ವರ್ಡ್ ಪರಿಶೀಲಿಸಿ ಮತ್ತು ಪುನಃ ಪ್ರಯತ್ನಿಸಿ"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"ವ್ಯಾಪ್ತಿಯಲ್ಲಿಲ್ಲ"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಸಂಪರ್ಕಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"ಯಾವುದೇ ಇಂಟರ್ನೆಟ್ ಪ್ರವೇಶವಿಲ್ಲ"</string> @@ -37,18 +40,12 @@ <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> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"ತುಂಬಾ ನಿಧಾನವಾಗಿದೆ"</string> + <string name="speed_label_slow" msgid="813109590815810235">"ನಿಧಾನ"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"ಸರಿ"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"ಮಧ್ಯಮ"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"ವೇಗ"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"ತುಂಬಾ ವೇಗವಾಗಿದೆ"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸಲಾಗಿದೆ"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸಲಾಗುತ್ತಿದೆ..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"ಸಂಪರ್ಕಗೊಳಿಸಲಾಗುತ್ತಿದೆ..."</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"ಸಂಪರ್ಕಪಡಿಸಲಾಗಿದೆ (ಯಾವುದೇ ಸಂದೇಶ ಪ್ರವೇಶವಿಲ್ಲ)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"ಸಂಪರ್ಕಗೊಂಡಿದೆ (ಫೋನ್ ಅಥವಾ ಮಾಧ್ಯಮವಿಲ್ಲ)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"ಮಾಧ್ಯಮ ಆಡಿಯೋ"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"ಫೋನ್ ಕರೆಗಳು"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"ಫೈಲ್ ವರ್ಗಾವಣೆ"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"ಇನ್ಪುಟ್ ಸಾಧನ"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"ಇಂಟರ್ನೆಟ್ ಪ್ರವೇಶ"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"ಸಂಪರ್ಕ ಹಂಚಿಕೆ"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"ಸಂಪರ್ಕ ಹಂಚಿಕೆಗಾಗಿ ಬಳಸಿ"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"ಇಂಟರ್ನೆಟ್ ಸಂಪರ್ಕ ಹಂಚಿಕೊಳ್ಳುವಿಕೆ"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"ಪಠ್ಯ ಸಂದೇಶಗಳು"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"ಸಿಮ್ ಪ್ರವೇಶ"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD ಆಡಿಯೋ: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD ಆಡಿಯೋ"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"ಮಾಧ್ಯಮ ಆಡಿಯೋಗೆ ಸಂಪರ್ಕಗೊಂಡಿದೆ"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"ಫೋನ್ ಆಡಿಯೋಗೆ ಸಂಪರ್ಕಗೊಂಡಿದೆ"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"ಫೈಲ್ ವರ್ಗಾವಣೆ ಸರ್ವರ್ಗೆ ಸಂಪರ್ಕಗೊಂಡಿದೆ"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"ಬಣ್ಣದ ತಿದ್ದುಪಡಿ"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"ಇದು ಪ್ರಾಯೋಗಿಕ ವೈಶಿಷ್ಟ್ಯವಾಗಿದೆ. ಕಾರ್ಯಕ್ಷಮತೆ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರಬಹುದು."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"<xliff:g id="TITLE">%1$s</xliff:g> ಮೂಲಕ ಅತಿಕ್ರಮಿಸುತ್ತದೆ"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"ಸುಮಾರು <xliff:g id="TIME">%1$s</xliff:g> ಬಾಕಿಯಿದೆ"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"ನಿಮ್ಮ ಬಳಕೆಯ ಆಧಾರದ ಮೇಲೆ ಸುಮಾರು <xliff:g id="TIME">%1$s</xliff:g> ಉಳಿದಿದೆ"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"ಸಂಪೂರ್ಣ ಚಾರ್ಜ್ ಆಗಲು <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> ಉಳಿದಿದೆ"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"ನಿಮ್ಮ ಬಳಕೆಯ ಆಧಾರದ ಮೇಲೆ <xliff:g id="TIME">%1$s</xliff:g> ಉಳಿದಿದೆ"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - ಸುಮಾರು <xliff:g id="TIME">%2$s</xliff:g> ಬಾಕಿಯಿದೆ"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - ನಿಮ್ಮ ಬಳಕೆಯ ಆಧಾರದ ಮೇಲೆ <xliff:g id="TIME">%2$s</xliff:g> ಉಳಿದಿದೆ"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> ಉಳಿದಿದೆ"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"ಸುಮಾರು <xliff:g id="TIME">^1</xliff:g> ಬಾಕಿಯಿದೆ"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"ನಿಮ್ಮ ಬಳಕೆಯ ಆಧಾರದ ಮೇಲೆ ಸುಮಾರು <xliff:g id="TIME">^1</xliff:g> ಉಳಿದಿದೆ"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"ಸಂಪೂರ್ಣ ಚಾರ್ಜ್ ಆಗಲು <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> ಉಳಿದಿದೆ"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"ನಿಮ್ಮ ಬಳಕೆಯ ಆಧಾರದ ಮೇಲೆ <xliff:g id="TIME">^1</xliff:g> ಉಳಿದಿದೆ"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - ಸುಮಾರು <xliff:g id="TIME">^2</xliff:g> ಬಾಕಿಯಿದೆ"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - ನಿಮ್ಮ ಬಳಕೆಯ ಆಧಾರದ ಮೇಲೆ <xliff:g id="TIME">^2</xliff:g> ಉಳಿದಿದೆ"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> ಉಳಿದಿದೆ"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - ಸಂಪೂರ್ಣ ಚಾರ್ಜ್ ಆಗಲು <xliff:g id="TIME">%2$s</xliff:g>"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - ಸಂಪೂರ್ಣ ಚಾರ್ಜ್ ಆಗಲು <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"ಅಪರಿಚಿತ"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"ಚಾರ್ಜ್ ಆಗುತ್ತಿದೆ"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"ಚಾರ್ಜ್ ಆಗುತ್ತಿದೆ"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"ನಿರ್ವಾಹಕರ ಮೂಲಕ ನಿಯಂತ್ರಿಸಲಾಗಿದೆ"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"ನಿರ್ವಾಹಕರು ಸಕ್ರಿಯಗೊಳಿಸಿದ್ದಾರೆ"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"ನಿರ್ವಾಹಕರು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿದ್ದಾರೆ"</string> + <string name="disabled" msgid="9206776641295849915">"ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"ಅನುಮತಿಸಲಾಗಿದೆ"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"ಅನುಮತಿಸಲಾಗುವುದಿಲ್ಲ"</string> + <string name="install_other_apps" msgid="6986686991775883017">"ಅಪರಿಚಿತ ಆಪ್ಗಳನ್ನು ಸ್ಥಾಪಿಸಿ"</string> <string name="home" msgid="3256884684164448244">"ಸೆಟ್ಟಿಂಗ್ಗಳ ಮುಖಪುಟ"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-ko/strings.xml b/packages/SettingsLib/res/values-ko/strings.xml index 74d4d1c9841c..09dae27da47f 100644 --- a/packages/SettingsLib/res/values-ko/strings.xml +++ b/packages/SettingsLib/res/values-ko/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"저품질 네트워크로 인해 연결되지 않음"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Wi-Fi 연결 실패"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"인증 문제"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"연결할 수 없음"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"\'<xliff:g id="AP_NAME">%1$s</xliff:g>\'에 연결할 수 없음"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"비밀번호를 확인하고 다시 시도하세요."</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"범위 내에 없음"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"자동으로 연결되지 않습니다."</string> <string name="wifi_no_internet" msgid="3880396223819116454">"인터넷에 연결되어 있지 않습니다."</string> @@ -37,18 +40,12 @@ <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> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"매우 느림"</string> + <string name="speed_label_slow" msgid="813109590815810235">"느림"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"확인"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"보통"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"빠름"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"매우 빠름"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"연결 끊김"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"연결을 끊는 중…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"연결 중…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"연결됨(메시지 액세스 없음)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"연결됨(전화 또는 미디어 없음)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"미디어 오디오"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"전화 통화"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"파일 전송"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"입력 장치"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"인터넷 액세스"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"연락처 공유"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"연락처 공유용"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"인터넷 연결 공유"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"문자 메시지"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"SIM 액세스"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD 오디오: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD 오디오"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"미디어 오디오에 연결됨"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"휴대전화 오디오에 연결됨"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"파일 전송 서버에 연결됨"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"색보정"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"실험실 기능이며 성능에 영향을 줄 수 있습니다."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"<xliff:g id="TITLE">%1$s</xliff:g> 우선 적용됨"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"약 <xliff:g id="TIME">%1$s</xliff:g> 남음"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"내 사용량을 기준으로 약 <xliff:g id="TIME">%1$s</xliff:g> 남음"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"충전 완료까지 <xliff:g id="TIME">%1$s</xliff:g> 남음"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> 남음"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"내 사용량을 기준으로 <xliff:g id="TIME">%1$s</xliff:g> 남음"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - 약 <xliff:g id="TIME">%2$s</xliff:g> 남음"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - 내 사용량을 기준으로 약 <xliff:g id="TIME">%2$s</xliff:g> 남음"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> 남음"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"약 <xliff:g id="TIME">^1</xliff:g> 남음"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"내 사용량을 기준으로 약 <xliff:g id="TIME">^1</xliff:g> 남음"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"충전 완료까지 <xliff:g id="TIME">^1</xliff:g> 남음"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> 남음"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"내 사용량을 기준으로 <xliff:g id="TIME">^1</xliff:g> 남음"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - 약 <xliff:g id="TIME">^2</xliff:g> 남음"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - 내 사용량을 기준으로 약 <xliff:g id="TIME">^2</xliff:g> 남음"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> 남음"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - 충전 완료까지 <xliff:g id="TIME">%2$s</xliff:g> 남음"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - 충전 완료까지 <xliff:g id="TIME">^2</xliff:g> 남음"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"알 수 없음"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"충전 중"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"충전 중"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"관리자가 제어"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"관리자가 사용 설정함"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"관리자가 사용 중지함"</string> + <string name="disabled" msgid="9206776641295849915">"사용 안함"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"허용됨"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"허용되지 않음"</string> + <string name="install_other_apps" msgid="6986686991775883017">"알 수 없는 앱 설치"</string> <string name="home" msgid="3256884684164448244">"설정 홈"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-ky/strings.xml b/packages/SettingsLib/res/values-ky/strings.xml index 99895358d98d..64bea17994ec 100644 --- a/packages/SettingsLib/res/values-ky/strings.xml +++ b/packages/SettingsLib/res/values-ky/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Тармактын сапаты начар болгондуктан туташкан жок"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"WiFi туташуусу бузулду"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Аутентификация маселеси бар"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Туташпай жатат"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"\"<xliff:g id="AP_NAME">%1$s</xliff:g>\" тармагына туташпай койду"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Сырсөздү текшерип, кайра аракет кылыңыз."</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Тейлөө аймагында эмес"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Автоматтык түрдө туташпайт"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Интернетке туташпай турат"</string> @@ -37,18 +40,12 @@ <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> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Өтө жай"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Жай"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"Жарайт"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Орто"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Ылдам"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Абдан ылдам"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Ажыратылган"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Ажыратылууда…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Туташууда…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Байланышта (билдирүү алмашуу жок)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Туташып турат (телефониясыз же медиасыз)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Аудио"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Телефон чалуулар"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Файл алмашуу"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Киргизүү түзмөгү"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Интернетке мүмкүнчүлүк алуу"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Байланышты бөлүшүү"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Байланышты бөлүшүү үчүн колдонуу"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Интернет байланышын бөлүшүү"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"SMS билдирүүлөрү"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"SIM картаны пайдалануу мүмкүнчүлүгү"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD форматындагы аудио: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD форматындагы аудио"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Медиа аудиого туташты"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Телефон аудиосуна туташты"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Файл өткөрүү серверине туташты"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Түсүн тууралоо"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Бул сынамык мүмкүнчүлүк болгондуктан, түзмөктүн иштешине таасир этиши мүмкүн."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"<xliff:g id="TITLE">%1$s</xliff:g> менен алмаштырылган"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Батарея түгөнгөнгө чейин калган убакыт: <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Колдонушуңузга караганда болжол менен <xliff:g id="TIME">%1$s</xliff:g> калды"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Батарея толгонго чейин калган убакыт: <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> калды"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Колдонушуңузга караганда <xliff:g id="TIME">%1$s</xliff:g> калды"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> – болжол менен <xliff:g id="TIME">%2$s</xliff:g> калды"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - колдонушуңузга караганда болжол менен <xliff:g id="TIME">%2$s</xliff:g> калды"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> калды"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Батарея түгөнгөнгө чейин калган убакыт: <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Колдонушуңузга караганда болжол менен <xliff:g id="TIME">^1</xliff:g> калды"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Батарея толгонго чейин калган убакыт: <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> калды"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Колдонушуңузга караганда <xliff:g id="TIME">^1</xliff:g> калды"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> – болжол менен <xliff:g id="TIME">^2</xliff:g> калды"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - колдонушуңузга караганда болжол менен <xliff:g id="TIME">^2</xliff:g> калды"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> калды"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> кийин толук кубатталат"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g> кийин толук кубатталат"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Белгисиз"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Кубатталууда"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"кубатталууда"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Администратор тарабынан көзөмөлдөнөт"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Администратор иштетип койгон"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Администратор өчүрүп койгон"</string> + <string name="disabled" msgid="9206776641295849915">"Өчүрүлгөн"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Уруксат берилген"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Тыюу салынган"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Белгисиз колдонмолорду орнотуу"</string> <string name="home" msgid="3256884684164448244">"Жөндөөлөрдүн башкы бети"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-lo/strings.xml b/packages/SettingsLib/res/values-lo/strings.xml index 3c2361816233..e02e6ffac828 100644 --- a/packages/SettingsLib/res/values-lo/strings.xml +++ b/packages/SettingsLib/res/values-lo/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"ບໍ່ໄດ້ເຊື່ອມຕໍ່ເນື່ອງຈາກຄຸນນະພາບເຄືອຂ່າຍຕໍ່າ"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"ການເຊື່ອມຕໍ່ WiFi ລົ້ມເຫຼວ"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"ບັນຫາການພິສູດຢືນຢັນ"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"ບໍ່ສາມາດເຊື່ອມຕໍ່ໄດ້"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"ບໍ່ສາມາດເຊື່ອມຕໍ່ຫາ \'<xliff:g id="AP_NAME">%1$s</xliff:g>\' ໄດ້"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"ກະລຸນາກວດສອບລະຫັດຜ່ານແລ້ວລອງໃໝ່ອີກຄັ້ງ"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"ບໍ່ຢູ່ໃນໄລຍະທີ່ເຊື່ອມຕໍ່ໄດ້"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"ຈະບໍ່ເຊື່ອມຕໍ່ອັດຕະໂນມັດ"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"ບໍ່ມີການເຊື່ອມຕໍ່ອິນເຕີເນັດ"</string> @@ -37,18 +40,12 @@ <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> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"ຊ້າຫຼາຍ"</string> + <string name="speed_label_slow" msgid="813109590815810235">"ຊ້າ"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"ຕົກລົງ"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"ປານກາງ"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"ໄວ"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"ໄວຫຼາຍ"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"ຕັດການເຊື່ອມຕໍ່ແລ້ວ"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"ກຳລັງຢຸດການເຊື່ອມຕໍ່..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"ກຳລັງເຊື່ອມຕໍ່..."</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"ເຊື່ອມຕໍ່ (ບໍ່ມີການເຂົ້າເຖິງຂໍ້ຄວາມ)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"ເຊື່ອມຕໍ່ແລ້ວ (ບໍ່ມີໂທລະສັບ ຫຼືສື່)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"ສຽງ"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"ການໂທ"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"ການໂອນຍ້າຍໄຟລ໌"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"ອຸປະກອນປ້ອນຂໍ້ມູນ"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"ການເຂົ້າເຖິງອິນເຕີເນັດ"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"ການແບ່ງປັນລາຍຊື່ຜູ່ຕິດຕໍ່"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"ໃຊ້ສຳລັບການແບ່ງປັນລາຍຊື່ຜູ່ຕິດຕໍ່"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"ການແບ່ງປັນການເຊື່ອມຕໍ່ອິນເຕີເນັດ"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"ຂໍ້ຄວາມ"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"ການເຂົ້າເຖິງ SIM"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"ສຽງ HD: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"ສຽງ HD"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"ເຊື່ອມຕໍ່ກັບສື່ດ້ານສຽງແລ້ວ"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"ເຊື່ອມຕໍ່ກັບສຽງໂທລະສັບແລ້ວ"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"ເຊື່ອມຕໍ່ກັບເຊີບເວີໂອນຍ້າຍໄຟລ໌ແລ້ວ"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"ການປັບແຕ່ງສີ"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"ຄຸນສົມບັດນີ້ກຳລັງຢູ່ໃນການທົດລອງແລະອາດມີຜົນຕໍ່ປະສິດທິພາບ."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"ຖືກແທນໂດຍ <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"ອີກປະມານ <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"ເຫຼືອອີກປະມານ <xliff:g id="TIME">%1$s</xliff:g> ໂດຍອ້າງອີງຈາກການນຳໃຊ້ຂອງທ່ານ"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">%1$s</xliff:g> ຈົນກວ່າຈະສາກເຕັມ"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"ຍັງເຫຼືອ <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"ເຫຼືອອີກ <xliff:g id="TIME">%1$s</xliff:g> ໂດຍອ້າງອີງຈາກການນຳໃຊ້ຂອງທ່ານ"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - ຍັງເຫຼືອປະມານ <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - ເຫຼືອອີກປະມານ <xliff:g id="TIME">%2$s</xliff:g> ໂດຍອ້າງອີງຈາກການນຳໃຊ້ຂອງທ່ານ"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - ຍັງເຫຼືອ <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"ອີກປະມານ <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"ເຫຼືອອີກປະມານ <xliff:g id="TIME">^1</xliff:g> ໂດຍອ້າງອີງຈາກການນຳໃຊ້ຂອງທ່ານ"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">^1</xliff:g> ຈົນກວ່າຈະສາກເຕັມ"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"ຍັງເຫຼືອ <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"ເຫຼືອອີກ <xliff:g id="TIME">^1</xliff:g> ໂດຍອ້າງອີງຈາກການນຳໃຊ້ຂອງທ່ານ"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - ຍັງເຫຼືອປະມານ <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - ເຫຼືອອີກປະມານ <xliff:g id="TIME">^2</xliff:g> ໂດຍອ້າງອີງຈາກການນຳໃຊ້ຂອງທ່ານ"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - ຍັງເຫຼືອ <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> ຈົນກວ່າຈະສາກເຕັມ"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> ຈົນກວ່າຈະສາກເຕັມ"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"ບໍ່ຮູ້ຈັກ"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"ກຳລັງສາກໄຟ"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"ກຳລັງສາກໄຟ"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"ຄວບຄຸມໂດຍຜູ້ເບິ່ງແຍງ"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"ຜູ້ເບິ່ງແຍງລະບົບເປີດໃຫ້ໃຊ້ແລ້ວ"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"ຖືກຜູ້ເບິ່ງແຍງລະບົບປິດໄວ້"</string> + <string name="disabled" msgid="9206776641295849915">"ປິດການນຳໃຊ້"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"ອະນຸຍາດແລ້ວ"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"ບໍ່ອະນຸຍາດແລ້ວ"</string> + <string name="install_other_apps" msgid="6986686991775883017">"ຕິດຕັ້ງແອັບທີ່ບໍ່ຮູ້ຈັກ"</string> <string name="home" msgid="3256884684164448244">"ໜ້າທຳອິດຂອງການຕັ້ງຄ່າ"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-lt/strings.xml b/packages/SettingsLib/res/values-lt/strings.xml index 865975438bb0..ff5b79b84397 100644 --- a/packages/SettingsLib/res/values-lt/strings.xml +++ b/packages/SettingsLib/res/values-lt/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Neprisijungta dėl žemos kokybės tinklo"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"„Wi-Fi“ ryšio triktis"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Autentifikavimo problema"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Nepavyksta prisijungti"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Nepavyksta prisijungti prie „<xliff:g id="AP_NAME">%1$s</xliff:g>“"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Patikrinkite slaptažodį ir bandykite dar kartą"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Ne diapazone"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Nebus automatiškai prisijungiama"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Nėra interneto ryšio"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Prisijungta naudojant „%1$s“"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Pasiekiama naudojant „%1$s“"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Prisijungta, nėra interneto"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Labai lėtas"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Lėtas"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"Gerai"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Vidutinis"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Greitas"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Labai greitas"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Atsijungęs (-usi)"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Atjungiama..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Prisijungiama..."</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Prisijungta (be prieigos prie pranešimų)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Prijungta (be telefono ar laikmenos)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Laikmenos garsas"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Telefono skambučiai"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Failo perkėlimas"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Įvesties įrenginys"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Prieiga prie interneto"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Kontaktų bendrinimas"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Naudoti kontaktams bendrinti"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Interneto ryšio bendrinimas"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Teksto pranešimai"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"SIM prieiga"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD garsas: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD garsas"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Prijungta prie medijos garso įrašo"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Prijungta prie telefono garso"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Prijungta prie failų perkėlimo serverio"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Spalvų taisymas"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Ši funkcija yra eksperimentinė ir ji gali turėti įtakos našumui."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Nepaisyta naudojant nuostatą „<xliff:g id="TITLE">%1$s</xliff:g>“"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Liko maždaug <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Liko maždaug <xliff:g id="TIME">%1$s</xliff:g>, atsižvelgiant į naudojimą"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Iki visiškos įkrovos liko <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Liko <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Liko <xliff:g id="TIME">%1$s</xliff:g>, atsižvelgiant į naudojimą"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> – liko maždaug <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> – liko maždaug <xliff:g id="TIME">%2$s</xliff:g>, atsižvelgiant į naudojimą"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> – liko <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Liko maždaug <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Liko maždaug <xliff:g id="TIME">^1</xliff:g>, atsižvelgiant į naudojimą"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Iki visiškos įkrovos liko <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Liko <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Liko <xliff:g id="TIME">^1</xliff:g>, atsižvelgiant į naudojimą"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> – liko maždaug <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> – liko maždaug <xliff:g id="TIME">^2</xliff:g>, atsižvelgiant į naudojimą"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> – liko <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> iki visiško įkrovimo"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g> iki visiško įkrovimo"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Nežinomas"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Kraunasi..."</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"įkraunama"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Valdo administratorius"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Įgalino administratorius"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Išjungė administratorius"</string> + <string name="disabled" msgid="9206776641295849915">"Neleidžiama"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Leidžiama"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Neleidžiama"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Nežinomų programų diegimas"</string> <string name="home" msgid="3256884684164448244">"Pagrindinis Nustatymų ekranas"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0 %"</item> diff --git a/packages/SettingsLib/res/values-lv/strings.xml b/packages/SettingsLib/res/values-lv/strings.xml index 54310a6ff73a..3784768ba848 100644 --- a/packages/SettingsLib/res/values-lv/strings.xml +++ b/packages/SettingsLib/res/values-lv/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Savienojums nav izveidots zemas kvalitātes tīkla dēļ"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Wi-Fi savienojuma kļūme"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Autentificēšanas problēma"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Nevar izveidot savienojumu"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Nevar izveidot savienojumu ar tīklu <xliff:g id="AP_NAME">%1$s</xliff:g>"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Pārbaudiet paroli un mēģiniet vēlreiz."</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Nav diapazona ietvaros"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Savienojums netiks izveidots automātiski"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Nav piekļuves internetam"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Savienots, izmantojot %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Pieejams, izmantojot %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Savienots, nav piekļuves internetam"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Ļoti lēns"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Lēns"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"Labi"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Vidējs"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Ātrs"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Ļoti ātrs"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Atvienots"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Notiek atvienošana..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Notiek savienojuma izveide…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Savienots (nav piekļuves ziņojumam)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Sav. ir izveidots (nav tel. vai multiv.)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Multivides audio"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Tālruņa zvani"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Failu pārsūtīšana"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Ievades ierīce"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Interneta piekļuve"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Kontaktpersonas informācijas kopīgošana"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Izmantot kontaktpersonas informācijas kopīgošanai"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Interneta savienojuma koplietošana"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Īsziņas"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Piekļuve SIM kartei"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD audio: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD audio"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Savienots ar multivides audio"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Savienots ar tālruņa audio"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Savienots ar failu pārsūtīšanas serveri"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Krāsu korekcija"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Šī funkcija ir eksperimentāla un var ietekmēt veiktspēju."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Jaunā preference: <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Atlikušais laiks: aptuveni <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Atlikušais laiks: aptuveni <xliff:g id="TIME">%1$s</xliff:g> (ņemot vērā lietojumu)"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Atlikušais laiks līdz pilnai uzlādei: <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Atlicis: <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Atlikušais laiks: <xliff:g id="TIME">%1$s</xliff:g> (ņemot vērā lietojumu)"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - vēl apmēram <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> — atlikušais laiks: aptuveni <xliff:g id="TIME">%2$s</xliff:g> (ņemot vērā lietojumu)"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> — atlicis: <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Atlikušais laiks: aptuveni <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Atlikušais laiks: aptuveni <xliff:g id="TIME">^1</xliff:g> (ņemot vērā lietojumu)"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Atlikušais laiks līdz pilnai uzlādei: <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Atlicis: <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Atlikušais laiks: <xliff:g id="TIME">^1</xliff:g> (ņemot vērā lietojumu)"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - vēl apmēram <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> — atlikušais laiks: aptuveni <xliff:g id="TIME">^2</xliff:g> (ņemot vērā lietojumu)"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> — atlicis: <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> — <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g>, kamēr pilnībā uzlādēts"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>, kamēr pilnībā uzlādēts"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> — <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Nezināms"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Uzlāde"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"notiek uzlāde"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Kontrolē administrators"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Iespējoja administrators"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Atspējoja administrators"</string> + <string name="disabled" msgid="9206776641295849915">"Atspējots"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Atļauts"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Nav atļauts"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Instalēt nez. lietotnes"</string> <string name="home" msgid="3256884684164448244">"Iestatījumu sākumekrāns"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-mk/strings.xml b/packages/SettingsLib/res/values-mk/strings.xml index e33e7a0e1db2..694a9c81b342 100644 --- a/packages/SettingsLib/res/values-mk/strings.xml +++ b/packages/SettingsLib/res/values-mk/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Не е поврзано поради нискиот квалитет на мрежата"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Поврзувањето преку Wi-Fi не успеа"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Проблем со автентикација"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Не може да се поврзе"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Не може да се поврзе на „<xliff:g id="AP_NAME">%1$s</xliff:g>“"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Проверете ја лозинката и обидете се повторно"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Надвор од опсег"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Не може да се поврзе автоматски"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Нема пристап до Интернет"</string> @@ -37,18 +40,12 @@ <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> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Многу бавна"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Бавна"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"Во ред"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Средна"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Брза"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Многу брза"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Исклучено"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Се исклучува..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Се поврзува..."</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Поврзано (без порака за пристап)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Поврзан (без телефон или медиуми)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Аудио на медиуми"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Телефонски повици"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Пренос на датотека"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Влезен уред"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Пристап на интернет"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Споделување контакти"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Користи за споделување контакти"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Споделување конекција на интернет"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Текстуални пораки"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Пристап до SIM"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD аудио: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD аудио"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Поврзан со аудио на медиуми"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Поврзан со аудио на телефон"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Поврзан со сервер за пренос на датотеки"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Корекција на боја"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Функцијата е експериментална и може да влијае на изведбата."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Прескокнато според <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Преостануваат околу <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Уште околу <xliff:g id="TIME">%1$s</xliff:g> според користењето"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Преостануваат <xliff:g id="TIME">%1$s</xliff:g> дури се наполни целосно"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"уште <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Уште <xliff:g id="TIME">%1$s</xliff:g> според користењето"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - уште околу <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - уште околу <xliff:g id="TIME">%2$s</xliff:g> според користењето"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - уште <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Преостануваат околу <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Уште околу <xliff:g id="TIME">^1</xliff:g> според користењето"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Преостануваат <xliff:g id="TIME">^1</xliff:g> дури се наполни целосно"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"уште <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Уште <xliff:g id="TIME">^1</xliff:g> според користењето"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - уште околу <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - уште околу <xliff:g id="TIME">^2</xliff:g> според користењето"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - уште <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> дури се наполни целосно"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> дури се наполни целосно"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Непознато"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Се полни"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"се полни"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Контролирано од администраторот"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Овозможено од администраторот"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Оневозможено од администраторот"</string> + <string name="disabled" msgid="9206776641295849915">"Оневозможено"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Дозволено"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Не е дозволено"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Непознати апликации"</string> <string name="home" msgid="3256884684164448244">"Почетна страница за поставки"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-ml/strings.xml b/packages/SettingsLib/res/values-ml/strings.xml index 3a9435eb4556..7de21c4ca669 100644 --- a/packages/SettingsLib/res/values-ml/strings.xml +++ b/packages/SettingsLib/res/values-ml/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"മോശം നെറ്റ്വർക്ക് ആയതിനാൽ കണക്റ്റായില്ല"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"WiFi കണക്ഷൻ പരാജയം"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"ആധികാരികമാക്കുന്നതിലെ പ്രശ്നം"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"കണക്റ്റുചെയ്യാനാകുന്നില്ല"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"\'<xliff:g id="AP_NAME">%1$s</xliff:g>\' എന്നതിലേക്ക് കണക്റ്റുചെയ്യാനാകുന്നില്ല"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"പാസ്വേഡ് പരിശോധിച്ച് വീണ്ടും ശ്രമിക്കുക"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"പരിധിയിലില്ല"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"സ്വയമേവ കണക്റ്റുചെയ്യില്ല"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"ഇന്റർനെറ്റ് ആക്സസ്സ് ഇല്ല"</string> @@ -37,18 +40,12 @@ <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> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"വളരെ കുറഞ്ഞ വേഗത്തിൽ"</string> + <string name="speed_label_slow" msgid="813109590815810235">"കുറഞ്ഞ വേഗത്തിൽ"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"ശരി"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"ഇടത്തരം"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"വേഗത്തിൽ"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"വളരെ വേഗത്തിൽ"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"വിച്ഛേദിച്ചു"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"വിച്ഛേദിക്കുന്നു..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"കണക്റ്റുചെയ്യുന്നു..."</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"കണക്റ്റുചെയ്തു (സന്ദേശ ആക്സസ്സില്ല)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"കണക്റ്റുചെയ്തു (ഫോണോ മീഡിയയോ അല്ല)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"മീഡിയ ഓഡിയോ"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"ഫോണ് കോളുകൾ"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"ഫയൽ കൈമാറൽ"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"ഇൻപുട്ട് ഉപകരണം"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"ഇന്റർനെറ്റ് ആക്സസ്സ്"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"കോൺടാക്റ്റ് പങ്കിടൽ"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"കോൺടാക്റ്റ് പങ്കിടലിനായി ഉപയോഗിക്കുക"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"ഇന്റർനെറ്റ് കണക്ഷൻ പങ്കിടൽ"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"അക്ഷര സന്ദേശങ്ങൾ"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"SIM ആക്സസ്"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD ഓഡിയോ: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD ഓഡിയോ"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"മീഡിയ ഓഡിയോയിലേക്ക് കണക്റ്റുചെയ്തു"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"ഫോൺ ഓഡിയോയിൽ കണക്റ്റുചെയ്തു"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"ഫയൽ കൈമാറ്റ സെർവറിലേക്ക് കണക്റ്റുചെയ്തു"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"വർണ്ണം ക്രമീകരിക്കൽ"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"ഈ ഫീച്ചർ പരീക്ഷണാത്മകമായതിനാൽ പ്രകടനത്തെ ബാധിച്ചേക്കാം."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"<xliff:g id="TITLE">%1$s</xliff:g> ഉപയോഗിച്ച് അസാധുവാക്കി"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"ഏകദേശം <xliff:g id="TIME">%1$s</xliff:g> ശേഷിക്കുന്നു"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"നിങ്ങളുടെ ഉപയോഗത്തെ അടിസ്ഥാനമാക്കി ഏതാണ്ട് <xliff:g id="TIME">%1$s</xliff:g> ശേഷിക്കുന്നു"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"മുഴുവൻ ചാർജാകാൻ <xliff:g id="TIME">%1$s</xliff:g> ശേഷിക്കുന്നു"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> ശേഷിക്കുന്നു"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"നിങ്ങളുടെ ഉപയോഗത്തെ അടിസ്ഥാനമാക്കി <xliff:g id="TIME">%1$s</xliff:g> ശേഷിക്കുന്നു"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - ഏതാണ്ട് <xliff:g id="TIME">%2$s</xliff:g> ശേഷിക്കുന്നു"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - നിങ്ങളുടെ ഉപയോഗത്തെ അടിസ്ഥാനമാക്കി ഏതാണ്ട് <xliff:g id="TIME">%2$s</xliff:g> ശേഷിക്കുന്നു"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> ശേഷിക്കുന്നു"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"ഏകദേശം <xliff:g id="TIME">^1</xliff:g> ശേഷിക്കുന്നു"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"നിങ്ങളുടെ ഉപയോഗത്തെ അടിസ്ഥാനമാക്കി ഏതാണ്ട് <xliff:g id="TIME">^1</xliff:g> ശേഷിക്കുന്നു"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"മുഴുവൻ ചാർജാകാൻ <xliff:g id="TIME">^1</xliff:g> ശേഷിക്കുന്നു"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> ശേഷിക്കുന്നു"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"നിങ്ങളുടെ ഉപയോഗത്തെ അടിസ്ഥാനമാക്കി <xliff:g id="TIME">^1</xliff:g> ശേഷിക്കുന്നു"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - ഏതാണ്ട് <xliff:g id="TIME">^2</xliff:g> ശേഷിക്കുന്നു"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - നിങ്ങളുടെ ഉപയോഗത്തെ അടിസ്ഥാനമാക്കി ഏതാണ്ട് <xliff:g id="TIME">^2</xliff:g> ശേഷിക്കുന്നു"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> ശേഷിക്കുന്നു"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - ഫുൾ ചാർജാകാൻ <xliff:g id="TIME">%2$s</xliff:g>"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - ഫുൾ ചാർജാകാൻ <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"അജ്ഞാതം"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"ചാർജ്ജുചെയ്യുന്നു"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"ചാർജ് ചെയ്യുന്നു"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"അഡ്മിൻ നിയന്ത്രിക്കുന്നത്"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"അഡ്മിൻ പ്രവർത്തനക്ഷമമാക്കി"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"അഡ്മിൻ പ്രവർത്തനരഹിതമാക്കി"</string> + <string name="disabled" msgid="9206776641295849915">"പ്രവർത്തനരഹിതമാക്കി"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"അനുവദനീയം"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"അനുവദിച്ചിട്ടില്ല"</string> + <string name="install_other_apps" msgid="6986686991775883017">"അറിഞ്ഞുകൂടാത്ത ആപ്സ് ഇൻസ്റ്റാളുചെയ്യുക"</string> <string name="home" msgid="3256884684164448244">"ക്രമീകരണ ഹോം"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-mn/strings.xml b/packages/SettingsLib/res/values-mn/strings.xml index 02266dac38ba..5a0a7229aeab 100644 --- a/packages/SettingsLib/res/values-mn/strings.xml +++ b/packages/SettingsLib/res/values-mn/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Сүлжээний чанар муу байгаа тул холбогдож чадсангүй"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"WiFi холболт амжилтгүй"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Гэрчлэлийн асуудал"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Холбогдож чадсангүй"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"\'<xliff:g id="AP_NAME">%1$s</xliff:g>\'-д холбогдож чадсангүй"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Нууц үгийг шалгаад дахин оролдоно уу"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Хүрээнд байхгүй"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Автоматаар холбогдохгүй"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Интернэт холболт алга"</string> @@ -37,18 +40,12 @@ <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> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Маш удаан"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Удаан"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"ЗА"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Дунд"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Хурдан"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Маш хурдан"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Салгагдсан"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Салгаж байна…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Холбогдож байна..."</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Холбогдсон (зурвас хандалт байхгүй)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Холбогдсон (утас буюу медиа байхгүй)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Медиа аудио"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Утасны дуудлага"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Файл дамжуулалт"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Оруулах төхөөрөмж"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Интернэт хандалт"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Харилцагч хуваалцах"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Харилцагч хуваалцахад ашиглах"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Интернэт холболтыг хуваалцах"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Мессеж"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"SIM Хандалт"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD аудио: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD аудио"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Медиа аудиод холбогдсон"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Утасны аудид холбогдсон"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Файл дамжуулах серверт холбогдсон"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Өнгө тохируулах"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Энэ функц туршилтынх бөгөөд ажиллагаанд нөлөөлж болзошгүй."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Давхарласан <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Ойролцоогоор <xliff:g id="TIME">%1$s</xliff:g> үлдсэн"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Таны хэрэглээнд тулгуурлан <xliff:g id="TIME">%1$s</xliff:g> орчмын хугацаа үлдсэн байна"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Бүрэн цэнэглэх хүртэл <xliff:g id="TIME">%1$s</xliff:g> үлдсэн"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> үлдсэн"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Таны хэрэглээнд тулгуурлан <xliff:g id="TIME">%1$s</xliff:g> орчмын хугацаа үлдсэн байна"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g>-с <xliff:g id="TIME">%2$s</xliff:g> үлдсэн"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - таны хэрэглээнд тулгуурлан <xliff:g id="TIME">%2$s</xliff:g> орчмын хугацаа үлдсэн байна"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> үлдсэн"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Ойролцоогоор <xliff:g id="TIME">^1</xliff:g> үлдсэн"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Таны хэрэглээнд тулгуурлан <xliff:g id="TIME">^1</xliff:g> орчмын хугацаа үлдсэн байна"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Бүрэн цэнэглэх хүртэл <xliff:g id="TIME">^1</xliff:g> үлдсэн"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> үлдсэн"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Таны хэрэглээнд тулгуурлан <xliff:g id="TIME">^1</xliff:g> орчмын хугацаа үлдсэн байна"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g>-с <xliff:g id="TIME">^2</xliff:g> үлдсэн"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - таны хэрэглээнд тулгуурлан <xliff:g id="TIME">^2</xliff:g> орчмын хугацаа үлдсэн байна"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> үлдсэн"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"бүрэн цэнэглэх хүртэл <xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g>"</string> - <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" msgid="4676999980973411875">"бүрэн цэнэглэх хүртэл <xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Тодорхойгүй"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Цэнэглэж байна"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"цэнэглэж байна"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Админ удирдсан"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Админ идэвхжүүлсэн"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Админ цуцалсан"</string> + <string name="disabled" msgid="9206776641295849915">"Идэвхгүйжүүлсэн"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Зөвшөөрсөн"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Зөвшөөрөөгүй"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Тодорхойгүй апп суулгах"</string> <string name="home" msgid="3256884684164448244">"Тохиргооны нүүр хуудас"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-mr/strings.xml b/packages/SettingsLib/res/values-mr/strings.xml index 47376ebe343f..80323924f462 100644 --- a/packages/SettingsLib/res/values-mr/strings.xml +++ b/packages/SettingsLib/res/values-mr/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"कमी दर्जाच्या नेटवर्कमुळे कनेक्ट केलेले नाही"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"WiFi कनेक्शन अयशस्वी"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"प्रमाणीकरण समस्या"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"कनेक्ट करू शकत नाही"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"\'<xliff:g id="AP_NAME">%1$s</xliff:g>\'शी कनेक्ट करू शकत नाही"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"पासवर्ड तपासा आणि पुन्हा प्रयत्न करा"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"परिक्षेत्रामध्ये नाही"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"स्वयंचलितपणे कनेक्ट करणार नाही"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"इंटरनेट प्रवेश नाही"</string> @@ -37,18 +40,12 @@ <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> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"खूप हळू"</string> + <string name="speed_label_slow" msgid="813109590815810235">"हळू"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"ठीक आहे"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"मध्यम"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"जलद"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"खूप जलद"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"डिस्कनेक्ट केले"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"डिस्कनेक्ट करत आहे..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"कनेक्ट करीत आहे..."</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"कनेक्ट केलेले आहे (कोणत्याही संदेशामध्ये प्रवेश नाही)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"कनेक्ट केले (फोन किंवा मीडिया नाही)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"मीडिया ऑडिओ"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"फोन कॉल"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"फाइल स्थानांतरण"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"इनपुट डिव्हाइस"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"इंटरनेट प्रवेश"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"संपर्क सामायिकरण"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"संपर्क सामायिकरणासाठी वापरा"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"इंटरनेट कनेक्शन सामायिकरण"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"मजकूर संदेश"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"सिम प्रवेश"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD ऑडिओ: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD ऑडिओ"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"मीडिया ऑडिओवर कनेक्ट केले"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"फोन ऑडिओ वर कनेक्ट केले"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"फाईल स्थानांतर सर्व्हरवर कनेक्ट केले"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"रंग सुधारणा"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"हे वैशिष्ट्य प्रायोगिक आहे आणि कदाचित कार्यप्रदर्शन प्रभावित करू शकते."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"<xliff:g id="TITLE">%1$s</xliff:g> द्वारे अधिलिखित"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"सुमारे <xliff:g id="TIME">%1$s</xliff:g> शिल्लक"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"तुमच्या वापरानुसार अंदाजे <xliff:g id="TIME">%1$s</xliff:g> पुरेल इतकी बॅटरी शिल्लक आहे"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"पूर्णपणे चार्ज होण्यास <xliff:g id="TIME">%1$s</xliff:g> शिल्लक"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> शिल्लक"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"तुमच्या वापरानुसार <xliff:g id="TIME">%1$s</xliff:g> पुरेल इतकी बॅटरी शिल्लक आहे"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - सुमारे <xliff:g id="TIME">%2$s</xliff:g> शिल्लक"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - तुमच्या वापरानुसार अंदाजे <xliff:g id="TIME">%2$s</xliff:g> पुरेल इतकी बॅटरी शिल्लक आहे"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> शिल्लक"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"सुमारे <xliff:g id="TIME">^1</xliff:g> शिल्लक"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"तुमच्या वापरानुसार अंदाजे <xliff:g id="TIME">^1</xliff:g> पुरेल इतकी बॅटरी शिल्लक आहे"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"पूर्णपणे चार्ज होण्यास <xliff:g id="TIME">^1</xliff:g> शिल्लक"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> शिल्लक"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"तुमच्या वापरानुसार <xliff:g id="TIME">^1</xliff:g> पुरेल इतकी बॅटरी शिल्लक आहे"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - सुमारे <xliff:g id="TIME">^2</xliff:g> शिल्लक"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - तुमच्या वापरानुसार अंदाजे <xliff:g id="TIME">^2</xliff:g> पुरेल इतकी बॅटरी शिल्लक आहे"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> शिल्लक"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - पूर्णपणे चार्ज होण्यात <xliff:g id="TIME">%2$s</xliff:g>"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - पूर्णपणे चार्ज होण्यात <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"अज्ञात"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"चार्ज होत आहे"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"चार्ज होत आहे"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"प्रशासकाने नियंत्रित केलेले"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"प्रशासकाने सक्षम केलेले"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"प्रशासकाने अक्षम केलेले"</string> + <string name="disabled" msgid="9206776641295849915">"अक्षम"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"अनुमती आहे"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"अनुमती नाही"</string> + <string name="install_other_apps" msgid="6986686991775883017">"अज्ञात अॅप्स स्थापित करा"</string> <string name="home" msgid="3256884684164448244">"सेटिंग्ज मुख्यपृष्ठ"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-ms/strings.xml b/packages/SettingsLib/res/values-ms/strings.xml index 3f0a0612a3aa..eedc1a0a913a 100644 --- a/packages/SettingsLib/res/values-ms/strings.xml +++ b/packages/SettingsLib/res/values-ms/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Tidak disambungkan kerana rangkaian berkualiti rendah"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Kegagalan Sambungan WiFi"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Masalah pengesahan"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Tidak dapat bersambung"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Tidak dapat bersambung ke \'<xliff:g id="AP_NAME">%1$s</xliff:g>\'"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Semak kata laluan, kemudian cuba lagi"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Tidak dalam liputan"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Tidak akan menyambung secara automatik"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Tiada akses Internet"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Disambungkan melalui %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Tersedia melalui %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Disambungkan, tiada Internet"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Sangat Perlahan"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Perlahan"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"OK"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Sederhana"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Laju"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Sangat Laju"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Diputuskan sambungan"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Memutuskan sambungan..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Menyambung..."</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Disambungkan (tiada akses mesej)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Disambungkan (tiada telefon atau media)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Audio media"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Panggilan telefon"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Pemindahan fail"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Peranti input"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Akses Internet"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Perkongsian kenalan"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Gunakan untuk perkongsian kenalan"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Perkongsian sambungan Internet"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Mesej Teks"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Akses SIM"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"Audio HD: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"Audio HD"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Disambungkan ke audio media"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Disambungkan ke audio telefon"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Bersambung ke pelayan pemindahan fail"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Pembetulan warna"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Ciri ini adalah percubaan dan boleh menjejaskan prestasi."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Diatasi oleh <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Kira-kira <xliff:g id="TIME">%1$s</xliff:g> lagi"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Tinggal kira-kira <xliff:g id="TIME">%1$s</xliff:g> berdasarkan penggunaan anda"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">%1$s</xliff:g> lagi sehingga dicas penuh"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> lagi"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Tinggal <xliff:g id="TIME">%1$s</xliff:g> berdasarkan penggunaan anda"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - kira-kira <xliff:g id="TIME">%2$s</xliff:g> lagi"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - tinggal kira-kira <xliff:g id="TIME">%2$s</xliff:g> berdasarkan penggunaan anda"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> lagi"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Kira-kira <xliff:g id="TIME">^1</xliff:g> lagi"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Tinggal kira-kira <xliff:g id="TIME">^1</xliff:g> berdasarkan penggunaan anda"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">^1</xliff:g> lagi sehingga dicas penuh"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> lagi"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Tinggal <xliff:g id="TIME">^1</xliff:g> berdasarkan penggunaan anda"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - kira-kira <xliff:g id="TIME">^2</xliff:g> lagi"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - tinggal kira-kira <xliff:g id="TIME">^2</xliff:g> berdasarkan penggunaan anda"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> lagi"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> sehingga dicas penuh"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> sehingga dicas penuh"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Tidak diketahui"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Mengecas"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"mengecas"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Dikawal oleh pentadbir"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Didayakan oleh pentadbir"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Dilumpuhkan oleh pentadbir"</string> + <string name="disabled" msgid="9206776641295849915">"Dilumpuhkan"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Dibenarkan"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Tidak dibenarkan"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Pasang apl yang tidak diketahui"</string> <string name="home" msgid="3256884684164448244">"Laman Utama Tetapan"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-my/strings.xml b/packages/SettingsLib/res/values-my/strings.xml index 89712d956d11..4e5873e21640 100644 --- a/packages/SettingsLib/res/values-my/strings.xml +++ b/packages/SettingsLib/res/values-my/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"ကွန်ရက်ချိတ်ဆက်မှု အားနည်းသည့်အတွက် ချိတ်ဆက်ထားခြင်း မရှိပါ"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"WiFi ချိတ်ဆက်မှု မအောင်မြင်ပါ"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"စစ်မှန်ကြောင်းအတည်ပြုရန်၌ ပြသနာရှိခြင်း"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"ချိတ်ဆက်၍ မရပါ"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"\'<xliff:g id="AP_NAME">%1$s</xliff:g>\' နှင့် ချိတ်ဆက်၍ မရပါ"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"စကားဝှက်ကို စစ်ဆေးပြီး ထပ်လုပ်ကြည့်ပါ"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"စက်ကွင်းထဲတွင် မဟုတ်ပါ"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"အလိုအလျောက်ချိတ်ဆက်မည်မဟုတ်ပါ"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"အင်တာနက် ချိတ်ဆက်မှု မရှိပါ"</string> @@ -37,18 +40,12 @@ <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> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"အလွန်နှေး"</string> + <string name="speed_label_slow" msgid="813109590815810235">"နှေး"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"OK"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"အတော်အသင့်"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"မြန်"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"အလွန်မြန်"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"ချိတ်ဆက်မှုပြတ်တောက်သည်"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"အဆက်အသွယ်ဖြတ်တောက်သည်"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"ချိတ်ဆက်နေသည်"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"ချိတ်ဆက်မိသည် (သတင်းရယူမှုမရှိ)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"ချိတ်ဆက်ပြီး (ဖုန်း သို့ မီဒီယာမဟုတ်ပါ)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"မီဒီယာ အသံ"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"ဖုန်းခေါ်ဆိုမှုများ"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"ဖိုင်လွဲပြောင်းခြင်း"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"ထည့်သွင်းသော စက်"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"အင်တာနက်ချိတ်ဆက်ခြင်း"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"အဆက်အသွယ်ကို မျှဝေရန်"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"အဆက်အသွယ်ကို မျှဝေရန် အတွက် သုံးရန်"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"အင်တာနက်ဆက်သွယ်မှု မျှဝေခြင်း"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"မိုဘိုင်းမက်ဆေ့ဂျ်များ"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"SIM အသုံးပြုခြင်း"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD အသံ- <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD အသံ"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"မီဒီယာအသံအား ချိတ်ဆက်ရန်"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"ဖုန်းအသံအား ချိတ်ဆက်ရန်"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"ဖိုင်လွှဲပြောင်းမည့်ဆာဗာနှင့် ချိတ်ဆက်ထားပြီး"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"အရောင်ပြင်ဆင်မှု"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"ဤဝန်ဆောင်မှုမှာ စမ်းသပ်အဆင့်သာဖြစ်၍ လုပ်ဆောင်မှုအားနည်းနိုင်သည်။"</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"<xliff:g id="TITLE">%1$s</xliff:g> မှ ကျော်၍ လုပ်ထားသည်။"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"<xliff:g id="TIME">%1$s</xliff:g> ခန့်လိုပါသည်"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"သင့်အသုံးပြုမှုအရ <xliff:g id="TIME">%1$s</xliff:g> ခန့် ကျန်ပါသည်"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"အားပြည့်ရန် <xliff:g id="TIME">%1$s</xliff:g> လိုပါသည်"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> ကျန်သည်"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"သင့်အသုံးပြုမှုအရ <xliff:g id="TIME">%1$s</xliff:g> ကျန်ပါသည်"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> − <xliff:g id="TIME">%2$s</xliff:g> ခန့်ကျန်သည်"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - သင့်အသုံးပြုမှုအရ <xliff:g id="TIME">%2$s</xliff:g> ခန့် ကျန်ပါသည်"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> ကျန်သည်"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"<xliff:g id="TIME">^1</xliff:g> ခန့်လိုပါသည်"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"သင့်အသုံးပြုမှုအရ <xliff:g id="TIME">^1</xliff:g> ခန့် ကျန်ပါသည်"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"အားပြည့်ရန် <xliff:g id="TIME">^1</xliff:g> လိုပါသည်"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> ကျန်သည်"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"သင့်အသုံးပြုမှုအရ <xliff:g id="TIME">^1</xliff:g> ကျန်ပါသည်"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> − <xliff:g id="TIME">^2</xliff:g> ခန့်ကျန်သည်"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - သင့်အသုံးပြုမှုအရ <xliff:g id="TIME">^2</xliff:g> ခန့် ကျန်ပါသည်"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> ကျန်သည်"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> − အားပြည့်ရန် <xliff:g id="TIME">%2$s</xliff:g> ကျန်သည်"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> − အားပြည့်ရန် <xliff:g id="TIME">^2</xliff:g> ကျန်သည်"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"အကြောင်းအရာ မသိရှိ"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"အားသွင်းနေပါသည်"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"အားသွင်းနေပါသည်"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"စီမံခန့်ခွဲသူမှ ထိန်းချုပ်ပါသည်"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"စီမံခန့်ခွဲသူက ဖွင့်ထားသည်"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"စီမံခန့်ခွဲသူက ပိတ်ထားသည်"</string> + <string name="disabled" msgid="9206776641295849915">"ပိတ်ထားပြီး"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"ခွင့်ပြုထားသည်"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"ခွင့်ပြုမထားပါ"</string> + <string name="install_other_apps" msgid="6986686991775883017">"အမျိုးအမည်မသိအက်ပ် ထည့်သွင်းနိုင်ခြင်း"</string> <string name="home" msgid="3256884684164448244">"ဆက်တင် ပင်မစာမျက်နှာ"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"၀%"</item> diff --git a/packages/SettingsLib/res/values-nb/strings.xml b/packages/SettingsLib/res/values-nb/strings.xml index d2807ce86a82..81a1eb5f793d 100644 --- a/packages/SettingsLib/res/values-nb/strings.xml +++ b/packages/SettingsLib/res/values-nb/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Ikke tilkoblet på grunn av nettverk av lav kvalitet"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Wi-Fi-tilkoblingsfeil"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Autentiseringsproblem"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Kan ikke koble til"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Kan ikke koble til «<xliff:g id="AP_NAME">%1$s</xliff:g>»"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Sjekk passordet og prøv igjen"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Utenfor område"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Kobler ikke til automatisk"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Ingen Internett-tilgang"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Tilkoblet via %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Tilgjengelig via %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Tilkoblet – ingen Internett-forbindelse"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Veldig treg"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Treg"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"Ok"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Middels"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Rask"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Veldig rask"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Frakoblet"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Kobler fra…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Kobler til…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Tilkoblet (ingen meldingstilgang)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Tilkoblet (ingen telefon eller media)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Medielyd"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Telefonsamtaler"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Filoverføring"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Inndataenhet"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Internett-tilgang"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Kontaktdeling"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Bruk til kontaktdeling"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Deling av Internett-tilkobling"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Tekstmeldinger"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Tilgang til SIM-kortet"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD-lyd: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD-lyd"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Koblet til medielyd"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Koblet til telefonlyd"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Koblet til tjener for filoverføring"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Fargekorrigering"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Dette er en eksperimentell funksjon som kan gjøre at telefonen ikke fungerer optimalt."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Overstyres av <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Omtrent <xliff:g id="TIME">%1$s</xliff:g> gjenstår"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Omtrent <xliff:g id="TIME">%1$s</xliff:g> igjen basert på bruken din"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">%1$s</xliff:g> til det er fulladet"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> gjenstår"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"<xliff:g id="TIME">%1$s</xliff:g> igjen basert på bruken din"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> – omtrent <xliff:g id="TIME">%2$s</xliff:g> gjenstår"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> – omtrent <xliff:g id="TIME">%2$s</xliff:g> igjen basert på bruken din"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> gjenstår"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Omtrent <xliff:g id="TIME">^1</xliff:g> gjenstår"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Omtrent <xliff:g id="TIME">^1</xliff:g> igjen basert på bruken din"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">^1</xliff:g> til det er fulladet"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> gjenstår"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"<xliff:g id="TIME">^1</xliff:g> igjen basert på bruken din"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> – omtrent <xliff:g id="TIME">^2</xliff:g> gjenstår"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> – omtrent <xliff:g id="TIME">^2</xliff:g> igjen basert på bruken din"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g> gjenstår"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> til det er fulladet"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g> til det er fulladet"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Ukjent"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Lader"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"lader"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Kontrollert av administratoren"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Slått på av administratoren"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Avslått av administratoren"</string> + <string name="disabled" msgid="9206776641295849915">"Slått av"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Tillatt"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Ikke tillatt"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Installer ukjente apper"</string> <string name="home" msgid="3256884684164448244">"Innstillinger for startsiden"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0 %"</item> diff --git a/packages/SettingsLib/res/values-ne/strings.xml b/packages/SettingsLib/res/values-ne/strings.xml index f830a878cea2..dbb1977abb33 100644 --- a/packages/SettingsLib/res/values-ne/strings.xml +++ b/packages/SettingsLib/res/values-ne/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"कम गुणस्तरको नेटवर्कका कारण जडान गर्न सकिएन"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"वाईफाई जडान असफल"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"प्रमाणीकरण समस्या"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"जडान गर्न सकिँदैन"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"\'<xliff:g id="AP_NAME">%1$s</xliff:g>\' मा जडान गर्न सकिँदैन"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"पासवर्ड जाँच गरेर फेरि प्रयास गर्नुहोस्"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"दायराभित्र छैन"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"स्वतः जडान हुने छैन"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"इन्टरनेट माथिको पहुँच छैन"</string> @@ -37,18 +40,12 @@ <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> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"धेरै ढिलो"</string> + <string name="speed_label_slow" msgid="813109590815810235">"बिस्तारै"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"ठीक छ"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"मध्यम"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"छिटो"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"धेरै छिटो"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"विच्छेदन गरियो"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"जडान हटाइँदै ..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"जडान हुँदै..."</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"जडित छ (सन्देशमा पहुँच छैन)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"जडित (फोन वा मिडिया छैन)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"मिडिया अडियो"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"फोन कलहरू"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"फाइल स्थानान्तरण"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"इनपुट उपकरण"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"इन्टरनेट पहुँच"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"सम्पर्क साझेदारी"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"सम्पर्क साझेदारीका लागि प्रयोग"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"इन्टरनेट जडान साझेदारी गर्दै"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"पाठ सन्देशहरू"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"SIM पहुँच"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD अडियो: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD अडियो"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"मिडिया अडियोसँग जडित"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"फोन अडियोमा जडान गरियो"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"फाइल ट्रान्सफर सर्भरमा जडान गरियो"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"रङ्ग सुधार"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"यो सुविधा प्रयोगात्मक छ र प्रदर्शनमा असर गर्न सक्छ।"</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"<xliff:g id="TITLE">%1$s</xliff:g> द्वारा अधिरोहित"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"लगभग <xliff:g id="TIME">%1$s</xliff:g> बाँकी"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"तपाईंको प्रयोगका आधारमा लगभग <xliff:g id="TIME">%1$s</xliff:g> बाँकी"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"पूर्णरूपमा चार्ज हुन <xliff:g id="TIME">%1$s</xliff:g> बाँकी"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"बाँकी समय <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"तपाईंको प्रयोगका आधारमा <xliff:g id="TIME">%1$s</xliff:g> बाँकी"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - करिब <xliff:g id="TIME">%2$s</xliff:g> बाँकी"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - तपाईंको प्रयोगका आधारमा लगभग <xliff:g id="TIME">%2$s</xliff:g> बाँकी"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"बाँकी समय <xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"लगभग <xliff:g id="TIME">^1</xliff:g> बाँकी"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"तपाईंको प्रयोगका आधारमा लगभग <xliff:g id="TIME">^1</xliff:g> बाँकी"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"पूर्णरूपमा चार्ज हुन <xliff:g id="TIME">^1</xliff:g> बाँकी"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"बाँकी समय <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"तपाईंको प्रयोगका आधारमा <xliff:g id="TIME">^1</xliff:g> बाँकी"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - करिब <xliff:g id="TIME">^2</xliff:g> बाँकी"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - तपाईंको प्रयोगका आधारमा लगभग <xliff:g id="TIME">^2</xliff:g> बाँकी"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"बाँकी समय <xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - पूर्णरूपमा चार्ज हुन <xliff:g id="TIME">%2$s</xliff:g> बाँकी"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - पूर्णरूपमा चार्ज हुन <xliff:g id="TIME">^2</xliff:g> बाँकी"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"अज्ञात"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"चार्ज हुँदै"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"चार्ज हुँदै"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"प्रशासकद्वारा नियन्त्रित"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"प्रशासकद्वारा सक्षम पारिएको छ"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"प्रशासकद्वारा असक्षम पारिएको छ"</string> + <string name="disabled" msgid="9206776641295849915">"असक्षम पारियो"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"अनुमति छ"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"अनुमति छैन"</string> + <string name="install_other_apps" msgid="6986686991775883017">"अज्ञात अनुप्रयोगहरू स्थापना गर्नुहोस्"</string> <string name="home" msgid="3256884684164448244">"सेटिङहरूको गृहपृष्ठ"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"०%"</item> diff --git a/packages/SettingsLib/res/values-nl/strings.xml b/packages/SettingsLib/res/values-nl/strings.xml index 66258801ab8e..b94f2c766f05 100644 --- a/packages/SettingsLib/res/values-nl/strings.xml +++ b/packages/SettingsLib/res/values-nl/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Niet verbonden wegens netwerk van lage kwaliteit"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Wifi-verbinding mislukt"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Authenticatieprobleem"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Kan geen verbinding maken"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Kan geen verbinding maken met \'<xliff:g id="AP_NAME">%1$s</xliff:g>\'"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Controleer het wachtwoord en probeer het opnieuw"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Niet binnen bereik"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Er wordt niet automatisch verbinding gemaakt"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Geen internettoegang"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Verbonden via %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Beschikbaar via %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Verbonden, geen internet"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Zeer langzaam"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Langzaam"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"Redelijk"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Gemiddeld"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Snel"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Zeer snel"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Verbinding verbroken"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Verbinding verbreken..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Verbinding maken..."</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Verbonden (geen toegang tot berichten)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Gekoppeld (geen telefoon of media)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Media-audio"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Telefoongesprekken"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Bestandsoverdracht"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Invoerapparaat"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Internettoegang"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Contacten delen"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Gebruiken voor contacten delen"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Internetverbinding delen"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Sms-berichten"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Sim-toegang"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD-audio: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD-audio"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Verbonden met audio van medium"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Verbonden met audio van telefoon"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Verbonden met server voor bestandsoverdracht"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Kleurcorrectie"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Deze functie is experimenteel en kan invloed hebben op de prestaties."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Overschreven door <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Nog ongeveer <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Nog ongeveer <xliff:g id="TIME">%1$s</xliff:g> over op basis van je gebruik"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Nog <xliff:g id="TIME">%1$s</xliff:g> tot volledig opgeladen"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> resterend"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Nog <xliff:g id="TIME">%1$s</xliff:g> over op basis van je gebruik"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - ongeveer <xliff:g id="TIME">%2$s</xliff:g> resterend"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g>: nog ongeveer <xliff:g id="TIME">%2$s</xliff:g> over op basis van je gebruik"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> resterend"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Nog ongeveer <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Nog ongeveer <xliff:g id="TIME">^1</xliff:g> over op basis van je gebruik"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Nog <xliff:g id="TIME">^1</xliff:g> tot volledig opgeladen"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> resterend"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Nog <xliff:g id="TIME">^1</xliff:g> over op basis van je gebruik"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - ongeveer <xliff:g id="TIME">^2</xliff:g> resterend"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g>: nog ongeveer <xliff:g id="TIME">^2</xliff:g> over op basis van je gebruik"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> resterend"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> tot volledig opgeladen"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> tot volledig opgeladen"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Onbekend"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Opladen"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"opladen"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Ingesteld door beheerder"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Ingeschakeld door beheerder"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Uitgeschakeld door beheerder"</string> + <string name="disabled" msgid="9206776641295849915">"Uitgeschakeld"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Toegestaan"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Niet toegestaan"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Onbekende apps installeren"</string> <string name="home" msgid="3256884684164448244">"Homepage voor instellingen"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-pa/strings.xml b/packages/SettingsLib/res/values-pa/strings.xml index 8119ba55e54f..fa5c3b7005bd 100644 --- a/packages/SettingsLib/res/values-pa/strings.xml +++ b/packages/SettingsLib/res/values-pa/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"ਘੱਟ ਗੁਣਵੱਤਾ ਵਾਲੇ ਨੈੱਟਵਰਕ ਕਾਰਨ ਕਨੈਕਟ ਨਹੀਂ ਕੀਤਾ ਗਿਆ"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"WiFi ਕਨੈਕਸ਼ਨ ਅਸਫਲਤਾ"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"ਪ੍ਰਮਾਣੀਕਰਨ ਸਮੱਸਿਆ"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"ਕਨੈਕਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"\'<xliff:g id="AP_NAME">%1$s</xliff:g>\' ਨਾਲ ਕਨੈਕਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"ਪਾਸਵਰਡ ਜਾਂਚੋ ਅਤੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"ਰੇਂਜ ਵਿੱਚ ਨਹੀਂ ਹੈ"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਕਨੈਕਟ ਨਹੀਂ ਕੀਤਾ ਜਾਵੇਗਾ"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"ਕੋਈ ਇੰਟਰਨੈੱਟ ਪਹੁੰਚ ਨਹੀਂ"</string> @@ -37,18 +40,12 @@ <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> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"ਬਹੁਤ ਹੌਲੀ"</string> + <string name="speed_label_slow" msgid="813109590815810235">"ਹੌਲੀ"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"ਠੀਕ ਹੈ"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"ਔਸਤ"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"ਤੇਜ਼"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"ਬਹੁਤ ਤੇਜ਼"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"ਡਿਸਕਨੈਕਟ ਕੀਤਾ"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"ਡਿਸਕਨੈਕਟ ਕਰ ਰਿਹਾ ਹੈ..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"ਕਨੈਕਟ ਕਰ ਰਿਹਾ ਹੈ…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"ਕਨੈਕਟ ਕੀਤਾ (ਕੋਈ ਸੁਨੇਹਾ ਪਹੁੰਚ ਨਹੀਂ)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"ਕਨੈਕਟ ਕੀਤਾ (ਕੋਈ ਫੋਨ ਜਾਂ ਮੀਡੀਆ ਨਹੀਂ)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"ਮੀਡੀਆ ਔਡੀਓ"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"ਫ਼ੋਨ ਕਾਲਾਂ"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"ਫਾਈਲ ਟ੍ਰਾਂਸਫਰ"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"ਇਨਪੁਟ ਡੀਵਾਈਸ"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"ਇੰਟਰਨੈਟ ਪਹੁੰਚ"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"ਸੰਪਰਕ ਸ਼ੇਅਰਿੰਗ"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"ਸੰਪਰਕ ਸ਼ੇਅਰਿੰਗ ਲਈ ਵਰਤੋ"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"ਇੰਟਰਨੈਟ ਕਨੈਕਸ਼ਨ ਸ਼ੇਅਰਿੰਗ"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"ਲਿਖਤ ਸੁਨੇਹੇ"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"SIM ਪਹੁੰਚ"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD ਔਡੀਓ: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD ਔਡੀਓ"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"ਮੀਡੀਆ ਔਡੀਓ ਨਾਲ ਕਨੈਕਟ ਕੀਤਾ"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"ਫੋਨ ਔਡੀਓ ਨਾਲ ਕਨੈਕਟ ਕੀਤਾ"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"ਫਾਈਲ ਟ੍ਰਾਂਸਫਰ ਸਰਵਰ ਨਾਲ ਕਨੈਕਟ ਕੀਤਾ"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"ਰੰਗ ਸੰਸ਼ੋਧਨ"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"ਇਹ ਵਿਸ਼ੇਸ਼ਤਾ ਪ੍ਰਯੋਗਾਤਮਿਕ ਹੈ ਅਤੇ ਪ੍ਰਦਰਸ਼ਨ ਤੇ ਅਸਰ ਪਾ ਸਕਦੀ ਹੈ।"</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"<xliff:g id="TITLE">%1$s</xliff:g> ਦੁਆਰਾ ਓਵਰਰਾਈਡ ਕੀਤਾ"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"ਲਗਭਗ <xliff:g id="TIME">%1$s</xliff:g> ਬਾਕੀ"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"ਤੁਹਾਡੀ ਵਰਤੋਂ ਦੇ ਆਧਾਰ \'ਤੇ ਲਗਭਗ <xliff:g id="TIME">%1$s</xliff:g> ਬਾਕੀ"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"ਪੂਰੀ ਤਰ੍ਹਾਂ ਚਾਰਜ ਹੋਣ ਲਈ <xliff:g id="TIME">%1$s</xliff:g> ਬਾਕੀ"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> ਬਾਕੀ"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"ਤੁਹਾਡੀ ਵਰਤੋਂ ਦੇ ਆਧਾਰ \'ਤੇ <xliff:g id="TIME">%1$s</xliff:g> ਬਾਕੀ"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - ਲਗਭਗ <xliff:g id="TIME">%2$s</xliff:g> ਬਾਕੀ"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - ਤੁਹਾਡੀ ਵਰਤੋਂ ਦੇ ਆਧਾਰ \'ਤੇ ਲਗਭਗ <xliff:g id="TIME">%2$s</xliff:g> ਬਾਕੀ"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> ਬਾਕੀ"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"ਲਗਭਗ <xliff:g id="TIME">^1</xliff:g> ਬਾਕੀ"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"ਤੁਹਾਡੀ ਵਰਤੋਂ ਦੇ ਆਧਾਰ \'ਤੇ ਲਗਭਗ <xliff:g id="TIME">^1</xliff:g> ਬਾਕੀ"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"ਪੂਰੀ ਤਰ੍ਹਾਂ ਚਾਰਜ ਹੋਣ ਲਈ <xliff:g id="TIME">^1</xliff:g> ਬਾਕੀ"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> ਬਾਕੀ"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"ਤੁਹਾਡੀ ਵਰਤੋਂ ਦੇ ਆਧਾਰ \'ਤੇ <xliff:g id="TIME">^1</xliff:g> ਬਾਕੀ"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - ਲਗਭਗ <xliff:g id="TIME">^2</xliff:g> ਬਾਕੀ"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - ਤੁਹਾਡੀ ਵਰਤੋਂ ਦੇ ਆਧਾਰ \'ਤੇ ਲਗਭਗ <xliff:g id="TIME">^2</xliff:g> ਬਾਕੀ"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> ਬਾਕੀ"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"ਪੂਰੀ ਤਰ੍ਹਾਂ ਚਾਰਜ ਹੋਣ ਤੱਕ <xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g>"</string> - <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" msgid="4676999980973411875">"ਪੂਰੀ ਤਰ੍ਹਾਂ ਚਾਰਜ ਹੋਣ ਤੱਕ <xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"ਅਗਿਆਤ"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"ਚਾਰਜਿੰਗ"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"ਚਾਰਜ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"ਪ੍ਰਸ਼ਾਸਕ ਵੱਲੋਂ ਕੰਟਰੋਲ ਕੀਤੀ ਗਈ"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"ਪ੍ਰਸ਼ਾਸਕ ਦੁਆਰਾ ਯੋਗ ਬਣਾਇਆ ਗਿਆ"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"ਪ੍ਰਸ਼ਾਸਕ ਦੁਆਰਾ ਅਯੋਗ ਬਣਾਇਆ ਗਿਆ"</string> + <string name="disabled" msgid="9206776641295849915">"ਅਯੋਗ ਬਣਾਇਆ"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"ਇਜਾਜ਼ਤ ਹੈ"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"ਇਜਾਜ਼ਤ ਨਹੀਂ"</string> + <string name="install_other_apps" msgid="6986686991775883017">"ਅਗਿਆਤ ਐਪਾਂ ਸਥਾਪਿਤ ਕਰੋ"</string> <string name="home" msgid="3256884684164448244">"ਸੈਟਿੰਗਾਂ ਮੁੱਖ ਪੰਨਾ"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-pl/strings.xml b/packages/SettingsLib/res/values-pl/strings.xml index ceee1e36cdbd..ee1ba4d4f6f9 100644 --- a/packages/SettingsLib/res/values-pl/strings.xml +++ b/packages/SettingsLib/res/values-pl/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Brak połączenia z powodu słabego sygnału sieci"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Błąd połączenia Wi-Fi"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Problem z uwierzytelnianiem"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Nie można się połączyć"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Nie można się połączyć z siecią „<xliff:g id="AP_NAME">%1$s</xliff:g>”"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Sprawdź hasło i spróbuj ponownie"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Poza zasięgiem"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Nie można połączyć automatycznie"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Brak dostępu do internetu"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Połączono przez %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Dostępne przez %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Połączono, brak internetu"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Bardzo wolna"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Wolna"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"OK"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Średnia"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Szybka"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Bardzo szybka"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Rozłączona"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Rozłączanie..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Łączenie..."</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Połączono (brak dostępu do wiadomości)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Połączono (bez telefonu ani multimediów)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Dźwięk multimediów"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Połączenia telefoniczne"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Przesyłanie pliku"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Urządzenie wejściowe"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Dostęp do internetu"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Udostępnianie kontaktów"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Używaj do udostępniania kontaktów"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Udostępnianie połączenia internetowego"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"SMS-y"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Dostęp do karty SIM"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"Dźwięk HD: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"Dźwięk HD"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Połączono z funkcją audio multimediów"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Połączono z funkcją audio telefonu"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Połączono z serwerem transferu plików"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Korekcja kolorów"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"To jest funkcja eksperymentalna i może wpływać na działanie urządzenia."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Nadpisana przez <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Pozostało: <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Jeszcze około <xliff:g id="TIME">%1$s</xliff:g> (na podstawie Twojego sposobu korzystania)"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">%1$s</xliff:g> do pełnego naładowania"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Zostało <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Jeszcze <xliff:g id="TIME">%1$s</xliff:g> (na podstawie Twojego sposobu korzystania)"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> – pozostało około <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> – jeszcze około <xliff:g id="TIME">%2$s</xliff:g> (na podstawie Twojego sposobu korzystania)"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> – zostało <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Pozostało: <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Jeszcze około <xliff:g id="TIME">^1</xliff:g> (na podstawie Twojego sposobu korzystania)"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">^1</xliff:g> do pełnego naładowania"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Zostało <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Jeszcze <xliff:g id="TIME">^1</xliff:g> (na podstawie Twojego sposobu korzystania)"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> – pozostało około <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> – jeszcze około <xliff:g id="TIME">^2</xliff:g> (na podstawie Twojego sposobu korzystania)"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> – zostało <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> do pełnego naładowania"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g> do pełnego naładowania"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Nieznane"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Ładowanie"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"ładowanie"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Kontrolowane przez administratora"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Włączone przez administratora"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Wyłączone przez administratora"</string> + <string name="disabled" msgid="9206776641295849915">"Wyłączone"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Dozwolone"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Niedozwolone"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Instalowanie nieznanych aplikacji"</string> <string name="home" msgid="3256884684164448244">"Ekran główny ustawień"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-pt-rBR/strings.xml b/packages/SettingsLib/res/values-pt-rBR/strings.xml index e34c41eed495..f9d193058306 100644 --- a/packages/SettingsLib/res/values-pt-rBR/strings.xml +++ b/packages/SettingsLib/res/values-pt-rBR/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Não conectado devido à baixa qualidade da rede"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Falha de conexão Wi-Fi"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Problema de autenticação"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Não é possível estabelecer conexão"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Não é possível conectar-se a \"<xliff:g id="AP_NAME">%1$s</xliff:g>\""</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Verifique a senha e tente novamente"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Fora do alcance"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Não se conectará automaticamente"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Sem acesso à Internet"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Conectado via %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Disponível via %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Conectada, sem Internet"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Muito lenta"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Lenta"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"Ok"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Média"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Rápida"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Muito rápida"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Desconectado"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Desconectando…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Conectando..."</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Conectado (sem acesso a mensagens)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Conectado (sem telefone ou mídia)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Áudio da mídia"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Chamadas telefônicas"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Transferência de arquivo"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Dispositivo de entrada"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Acesso à Internet"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Compartilhamento de contatos"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Usar para compartilhamento de contatos"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Compartilhamento de conexão à Internet"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Mensagens de texto"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Acesso SIM"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"Áudio HD: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"Áudio HD"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Conectado ao áudio da mídia"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Conectado ao áudio do smartphone"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Conectado ao servidor de transferência de arquivo"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Correção de cor"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Este recurso é experimental e pode afetar o desempenho."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Substituído por <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Cerca de <xliff:g id="TIME">%1$s</xliff:g> restante(s)"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Cerca de <xliff:g id="TIME">%1$s</xliff:g> restante(s) com base no seu uso"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">%1$s</xliff:g> restante(s) até a carga completa"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> restante(s)"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"<xliff:g id="TIME">%1$s</xliff:g> restante(s) com base no seu uso"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - cerca de <xliff:g id="TIME">%2$s</xliff:g> restante(s)"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g>: cerca de <xliff:g id="TIME">%2$s</xliff:g> restante(s) com base no seu uso"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> restante(s)"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Cerca de <xliff:g id="TIME">^1</xliff:g> restante(s)"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Cerca de <xliff:g id="TIME">^1</xliff:g> restante(s) com base no seu uso"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">^1</xliff:g> restante(s) até a carga completa"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> restante(s)"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"<xliff:g id="TIME">^1</xliff:g> restante(s) com base no seu uso"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - cerca de <xliff:g id="TIME">^2</xliff:g> restante(s)"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g>: cerca de <xliff:g id="TIME">^2</xliff:g> restante(s) com base no seu uso"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> restante(s)"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> até a carga completa"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> até a carga completa"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Desconhecido"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Carregando"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"carregando"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Controlada pelo admin"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Ativado pelo administrador"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Desativada pelo administrador"</string> + <string name="disabled" msgid="9206776641295849915">"Desativado"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Permitido"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Não permitido"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Instalar apps desconhecidos"</string> <string name="home" msgid="3256884684164448244">"Página inicial das configurações"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-pt-rPT/strings.xml b/packages/SettingsLib/res/values-pt-rPT/strings.xml index f68fe367546d..414ff31865f4 100644 --- a/packages/SettingsLib/res/values-pt-rPT/strings.xml +++ b/packages/SettingsLib/res/values-pt-rPT/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Não ligado devido à baixa qualidade da rede"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Falha de ligação Wi-Fi"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Problema de autenticação"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Não é possível ligar"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Não é possível ligar a \"<xliff:g id="AP_NAME">%1$s</xliff:g>\""</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Verifique a palavra-passe e tente novamente"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Fora do alcance"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Não é efetuada uma ligação automaticamente"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Sem acesso à Internet"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Ligado através de %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Disponível através de %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Ligado, sem Internet"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Muito lenta"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Lenta"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"OK"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Média"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Rápida"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Muito rápida"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Desligado"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"A desligar..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"A ligar..."</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Ligado (sem acesso a mensagens)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Ligado (sem telefone ou multimédia)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Áudio de multimédia"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Chamadas telefónicas"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Transferência do ficheiro"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Dispositivo de entrada"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Acesso à internet"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Partilha de contactos"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Utilizar para a partilha de contactos"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Partilha da ligação à internet"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Mensagens de texto"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Acesso ao SIM"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"Áudio HD: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"Áudio HD"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Ligado ao áudio de multimédia"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Ligado ao áudio do telefone"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Ligado ao servidor de transferência de ficheiros"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Correção da cor"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Esta funcionalidade é experimental e pode afetar o desempenho."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Substituído por <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Falta(m) cerca de <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Resta(m) cerca de <xliff:g id="TIME">%1$s</xliff:g> com base na sua utilização"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Falta(m) <xliff:g id="TIME">%1$s</xliff:g> para concluir o carregamento"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Resta(m) <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Resta(m) <xliff:g id="TIME">%1$s</xliff:g> com base na sua utilização"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> – falta(m) cerca de <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> – resta(m) cerca de <xliff:g id="TIME">%2$s</xliff:g> com base na sua utilização"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> – resta(m) <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Falta(m) cerca de <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Resta(m) cerca de <xliff:g id="TIME">^1</xliff:g> com base na sua utilização"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Falta(m) <xliff:g id="TIME">^1</xliff:g> para concluir o carregamento"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Resta(m) <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Resta(m) <xliff:g id="TIME">^1</xliff:g> com base na sua utilização"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> – falta(m) cerca de <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> – resta(m) cerca de <xliff:g id="TIME">^2</xliff:g> com base na sua utilização"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> – resta(m) <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> até ficar totalmente carregada"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g> até ficar totalmente carregada"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Desconhecido"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"A carregar"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"a carregar…"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Controlado pelo administrador"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Ativada pelo administrador"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Desativada pelo administrador"</string> + <string name="disabled" msgid="9206776641295849915">"Desativada"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Autorizada"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Não autorizada"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Instalar aplicações desconhecidas"</string> <string name="home" msgid="3256884684164448244">"Página inicial de definições"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-pt/strings.xml b/packages/SettingsLib/res/values-pt/strings.xml index e34c41eed495..f9d193058306 100644 --- a/packages/SettingsLib/res/values-pt/strings.xml +++ b/packages/SettingsLib/res/values-pt/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Não conectado devido à baixa qualidade da rede"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Falha de conexão Wi-Fi"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Problema de autenticação"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Não é possível estabelecer conexão"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Não é possível conectar-se a \"<xliff:g id="AP_NAME">%1$s</xliff:g>\""</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Verifique a senha e tente novamente"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Fora do alcance"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Não se conectará automaticamente"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Sem acesso à Internet"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Conectado via %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Disponível via %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Conectada, sem Internet"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Muito lenta"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Lenta"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"Ok"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Média"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Rápida"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Muito rápida"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Desconectado"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Desconectando…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Conectando..."</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Conectado (sem acesso a mensagens)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Conectado (sem telefone ou mídia)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Áudio da mídia"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Chamadas telefônicas"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Transferência de arquivo"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Dispositivo de entrada"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Acesso à Internet"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Compartilhamento de contatos"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Usar para compartilhamento de contatos"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Compartilhamento de conexão à Internet"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Mensagens de texto"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Acesso SIM"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"Áudio HD: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"Áudio HD"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Conectado ao áudio da mídia"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Conectado ao áudio do smartphone"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Conectado ao servidor de transferência de arquivo"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Correção de cor"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Este recurso é experimental e pode afetar o desempenho."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Substituído por <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Cerca de <xliff:g id="TIME">%1$s</xliff:g> restante(s)"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Cerca de <xliff:g id="TIME">%1$s</xliff:g> restante(s) com base no seu uso"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">%1$s</xliff:g> restante(s) até a carga completa"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> restante(s)"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"<xliff:g id="TIME">%1$s</xliff:g> restante(s) com base no seu uso"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - cerca de <xliff:g id="TIME">%2$s</xliff:g> restante(s)"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g>: cerca de <xliff:g id="TIME">%2$s</xliff:g> restante(s) com base no seu uso"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> restante(s)"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Cerca de <xliff:g id="TIME">^1</xliff:g> restante(s)"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Cerca de <xliff:g id="TIME">^1</xliff:g> restante(s) com base no seu uso"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">^1</xliff:g> restante(s) até a carga completa"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> restante(s)"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"<xliff:g id="TIME">^1</xliff:g> restante(s) com base no seu uso"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - cerca de <xliff:g id="TIME">^2</xliff:g> restante(s)"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g>: cerca de <xliff:g id="TIME">^2</xliff:g> restante(s) com base no seu uso"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> restante(s)"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> até a carga completa"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> até a carga completa"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Desconhecido"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Carregando"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"carregando"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Controlada pelo admin"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Ativado pelo administrador"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Desativada pelo administrador"</string> + <string name="disabled" msgid="9206776641295849915">"Desativado"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Permitido"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Não permitido"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Instalar apps desconhecidos"</string> <string name="home" msgid="3256884684164448244">"Página inicial das configurações"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-ro/strings.xml b/packages/SettingsLib/res/values-ro/strings.xml index effc0083b561..f14aed0d5337 100644 --- a/packages/SettingsLib/res/values-ro/strings.xml +++ b/packages/SettingsLib/res/values-ro/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Nu există conexiune din cauza rețelei de calitate slabă"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Eroare de conexiune Wi-Fi"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Problemă la autentificare"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Nu se poate conecta"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Nu se poate conecta la „<xliff:g id="AP_NAME">%1$s</xliff:g>”"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Verificați parola și încercați din nou"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"În afara ariei de acoperire"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Nu se va conecta automat"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Nu există acces la internet"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Conectată prin %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Disponibilă prin %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Conectată, fără internet"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Foarte lentă"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Lentă"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"Bine"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Medie"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Rapidă"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Foarte rapidă"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Deconectat"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"În curs de deconectare..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Se conectează..."</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Conectat (fără acces la mesaje)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Conectat (fără telefon sau conț. media)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Conținut media audio"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Apeluri telefonice"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Transfer de fișiere"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Dispozitiv de intrare"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Acces internet"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Acces la Agendă"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Utilizați pentru a permite accesul la Agendă"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Distribuirea conexiunii la internet"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Mesaje text"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Acces la SIM"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"Audio HD: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"Audio HD"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Conectat la profilul pentru conținut media audio"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Conectat la componenta audio a telefonului"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Conectat la serverul de transfer de fișiere"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Corecția culorii"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Această funcție este experimentală și poate afecta performanțele."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Valoare înlocuită de <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Timp rămas: aproximativ <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"În baza utilizării, timpul aproximativ rămas este: <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Timp rămas până la încărcarea completă: <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Timp rămas: <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"În baza utilizării, timpul rămas este: <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - încă aproximativ <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> – în baza utilizării, timpul aproximativ rămas este: <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> – timp rămas: <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Timp rămas: aproximativ <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"În baza utilizării, timpul aproximativ rămas este: <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Timp rămas până la încărcarea completă: <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Timp rămas: <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"În baza utilizării, timpul rămas este: <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - încă aproximativ <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> – în baza utilizării, timpul aproximativ rămas este: <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> – timp rămas: <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> până la încărcarea completă"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> până la încărcarea completă"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Necunoscut"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Încarcă"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"se încarcă"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Controlată de administrator"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Activat de administrator"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Dezactivat de administrator"</string> + <string name="disabled" msgid="9206776641295849915">"Dezactivată"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Permise"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Nepermise"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Instalare apl. necunoscute"</string> <string name="home" msgid="3256884684164448244">"Ecran principal Setări"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-ru/strings.xml b/packages/SettingsLib/res/values-ru/strings.xml index 640d3b547af5..61f280cab7f6 100644 --- a/packages/SettingsLib/res/values-ru/strings.xml +++ b/packages/SettingsLib/res/values-ru/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Подключение невозможно из-за низкого качества сети"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Ошибка подключения Wi-Fi"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Ошибка аутентификации"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Ошибка подключения"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Не удалось подключиться к сети \"<xliff:g id="AP_NAME">%1$s</xliff:g>\""</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Возможно, вы указали неверный пароль. Повторите попытку."</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Недоступна"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Подключение не будет выполняться автоматически"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Отсутствует подключение к Интернету"</string> @@ -37,18 +40,12 @@ <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> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Очень медленная"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Медленная"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"ОК"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Средняя"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Быстрая"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Очень быстрая"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Нет подключения"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Отключение..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Подключение..."</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Подключено (нет доступа к сообщениям)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Подключено (кроме HSP/HFP/A2DP)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Профиль A2DP"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Звонки"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Профиль OPP"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Профиль HID"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Интернет-доступ"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Обмен контактами"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Использовать для обмена контактами"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Профиль PAN"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Текстовые сообщения"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Доступ к SIM-карте"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD Audio: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD Audio"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Подключено к мультимедийному аудиоустройству"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Подключено к аудиоустройству телефона"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Установлено подключение к серверу передачи файлов"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Коррекция цвета"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Это экспериментальная функция, она может снизить производительность устройства."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Новая настройка: <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Осталось примерно <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Осталось примерно <xliff:g id="TIME">%1$s</xliff:g> при текущем уровне использования"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Ещё <xliff:g id="TIME">%1$s</xliff:g> до полной зарядки"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Осталось: <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Осталось <xliff:g id="TIME">%1$s</xliff:g> при текущем уровне использования"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> – осталось примерно <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> (осталось примерно <xliff:g id="TIME">%2$s</xliff:g> при текущем уровне использования)"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g>, осталось: <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Осталось примерно <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Осталось примерно <xliff:g id="TIME">^1</xliff:g> при текущем уровне использования"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Ещё <xliff:g id="TIME">^1</xliff:g> до полной зарядки"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Осталось: <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Осталось <xliff:g id="TIME">^1</xliff:g> при текущем уровне использования"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> – осталось примерно <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> (осталось примерно <xliff:g id="TIME">^2</xliff:g> при текущем уровне использования)"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g>, осталось: <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> до полной зарядки"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g> до полной зарядки"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Неизвестно"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Идет зарядка"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"заряжается"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Контролируется администратором"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Включено администратором"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Отключено администратором"</string> + <string name="disabled" msgid="9206776641295849915">"Отключено"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Разрешено"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Запрещено"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Установка неизвестных приложений"</string> <string name="home" msgid="3256884684164448244">"Настройки"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-si/strings.xml b/packages/SettingsLib/res/values-si/strings.xml index 5430b45b2c28..5486aa60160c 100644 --- a/packages/SettingsLib/res/values-si/strings.xml +++ b/packages/SettingsLib/res/values-si/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"අඩු ගුණත්වයේ ජාලය හේතුවෙන් සම්බන්ධ නොවීය"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"WiFi සම්බන්ධතාව අසාර්ථකයි"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"සත්යාපනයේ ගැටලුවකි"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"සම්බන්ධ විය නොහැකිය"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"\'<xliff:g id="AP_NAME">%1$s</xliff:g>\' වෙත සම්බන්ධ විය නොහැකිය"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"මුරපදය පරික්ෂා කර නැවත උත්සාහ කරන්න"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"පරාසයේ නැත"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"ස්වයංක්රිය නැවත සම්බන්ධ නොවනු ඇත"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"අන්තර්ජාල ප්රවේශය නැත"</string> @@ -37,18 +40,12 @@ <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> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"ඉතා මන්දගාමී"</string> + <string name="speed_label_slow" msgid="813109590815810235">"මන්දගාමී"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"හරි"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"මධ්යම"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"වේගවත්"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"ඉතා වේගවත්"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"විසන්ධි වුණි"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"විසන්ධි වෙමින්…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"සම්බන්ධ වෙමින්…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"සම්බන්ධිතයි (පණිවිඩ ප්රවේශ නොමැත)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"සම්බන්ධිතයි (දුරකතනයක් හෝ මාධ්යයක් නැත)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"මාධ්ය ශ්රව්ය"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"දුරකථන ඇමතුම්"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"ගොනු හුවමාරුව"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"ආදාන උපාංගය"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"අන්තර්ජාල ප්රවේශය"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"සම්බන්ධතා බෙදාගැනීම"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"සම්බන්ධතා බෙදාගැනීම සඳහා භාවිතා කිරීම"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"අන්තර්ජාල සම්බන්ධතා බෙදාගැනීම"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"පෙළ පණිවිඩ"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"SIM ප්රවේශය"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD ශ්රව්යය: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD ශ්රව්යය"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"මාධ්ය ශ්රව්යට සම්බන්ධ විය"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"දුරකතනයේ ශ්රව්යට සම්බන්ධ විය"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"ගොනු හුවමාරු සේවාදායකය සමග සම්බන්ධ විය"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"වර්ණ නිවැරදි කිරීම"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"මෙම විශේෂාංගය පරීක්ෂණාත්මක සහ ඇතැම් විට ක්රියාකාරිත්වයට බලපෑ හැක."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"<xliff:g id="TITLE">%1$s</xliff:g> මගින් ඉක්මවන ලදී"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"<xliff:g id="TIME">%1$s</xliff:g> පමණ ඉතිරියි"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"ඔබගේ භාවිතය මත පදනම්ව <xliff:g id="TIME">%1$s</xliff:g> පමණ ඉතිරිව ඇත"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"පූර්ණව ආරෝපණය වන තෙක් <xliff:g id="TIME">%1$s</xliff:g> ඉතිරියි"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"ඉතිරි <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"ඔබගේ භාවිතය මත පදනම්ව <xliff:g id="TIME">%1$s</xliff:g> ඉතිරිව ඇත"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g>ක් පමණ ඇත"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - ඔබගේ භාවිතය මත පදනම්ව <xliff:g id="TIME">%2$s</xliff:g> පමණ ඉතිරිව ඇත"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - ඉතිරි <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"<xliff:g id="TIME">^1</xliff:g> පමණ ඉතිරියි"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"ඔබගේ භාවිතය මත පදනම්ව <xliff:g id="TIME">^1</xliff:g> පමණ ඉතිරිව ඇත"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"පූර්ණව ආරෝපණය වන තෙක් <xliff:g id="TIME">^1</xliff:g> ඉතිරියි"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"ඉතිරි <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"ඔබගේ භාවිතය මත පදනම්ව <xliff:g id="TIME">^1</xliff:g> ඉතිරිව ඇත"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>ක් පමණ ඇත"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - ඔබගේ භාවිතය මත පදනම්ව <xliff:g id="TIME">^2</xliff:g> පමණ ඉතිරිව ඇත"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - ඉතිරි <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> සම්පූර්ණයෙන් ආරෝපණය වන තෙක්"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> සම්පූර්ණයෙන් ආරෝපණය වන තෙක්"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"නොදනී"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"ආරෝපණය වෙමින්"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"ආරෝපණය වේ"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"පරිපාලක විසින් පාලනය කරන ලදී"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"පරිපාලක විසින් සබල කර ඇත"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"ඔබගේ පරිපාලක විසින් අබල කර ඇත"</string> + <string name="disabled" msgid="9206776641295849915">"අබල කර ඇත"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"ඉඩ දුන්"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"ඉඩ නොදෙන"</string> + <string name="install_other_apps" msgid="6986686991775883017">"නොදන්නා යෙදුම් ස්ථාපනය කරන්න"</string> <string name="home" msgid="3256884684164448244">"සැකසීම් මුල් පිටුව"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-sk/strings.xml b/packages/SettingsLib/res/values-sk/strings.xml index de1711896629..db3c5c37c662 100644 --- a/packages/SettingsLib/res/values-sk/strings.xml +++ b/packages/SettingsLib/res/values-sk/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Nepripojené z dôvodu siete nízkej kvality"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Zlyhanie pripojenia Wi-Fi"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Problém s overením totožnosti"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Nedá sa pripojiť"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"K sieti <xliff:g id="AP_NAME">%1$s</xliff:g> sa nedá pripojiť"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Skontrolujte heslo a skúste to znova"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Mimo dosah"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Nedôjde k automatickému pripojeniu"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Žiadny prístup k internetu"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Pripojené prostredníctvom %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"K dispozícii prostredníctvom %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Pripojené, žiadny internet"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Veľmi nízka"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Nízka"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"OK"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Stredná"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Vysoká"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Veľmi vysoká"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Odpojený"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Prebieha odpájanie..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Prebieha pripájanie…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Pripojené (bez prístupu ku správam)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Pripojené (bez telefónu alebo média)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Zvuk medií"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Telefonické hovory"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Prenos súborov"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Vstupné zariadenie"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Prístup na Internet"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Zdieľanie kontaktov"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Použiť na zdieľanie kontaktov"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Zdieľanie pripojenia na Internet"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Textové správy"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Prístup k SIM karte"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"Zvuk v HD: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"Zvuk v HD"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Pripojené ku zvukovému médiu"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Pripojené ku zvuku telefónu"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Pripojené na server pre prenos údajov"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Úprava farieb"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Funkcia je experimentálna a môže mať vplyv na výkonnosť."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Prekonané predvoľbou <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Približný zostávajúci čas: <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Zostáva približne <xliff:g id="TIME">%1$s</xliff:g> v závislosti od intenzity využitia"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Zostávajúci čas do úplného nabitia: <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Zostávajúci čas: <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Zostáva <xliff:g id="TIME">%1$s</xliff:g> v závislosti od intenzity využitia"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> – približný zostávajúci čas: <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> – zostáva približne <xliff:g id="TIME">%2$s</xliff:g> v závislosti od intenzity využitia"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> – zostávajúci čas: <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Približný zostávajúci čas: <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Zostáva približne <xliff:g id="TIME">^1</xliff:g> v závislosti od intenzity využitia"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Zostávajúci čas do úplného nabitia: <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Zostávajúci čas: <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Zostáva <xliff:g id="TIME">^1</xliff:g> v závislosti od intenzity využitia"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> – približný zostávajúci čas: <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> – zostáva približne <xliff:g id="TIME">^2</xliff:g> v závislosti od intenzity využitia"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> – zostávajúci čas: <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> do úplného nabitia"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g> do úplného nabitia"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Neznáme"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Nabíjanie"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"nabíjanie"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Ovládané správcom"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Povolené správcom"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Zakázané správcom"</string> + <string name="disabled" msgid="9206776641295849915">"Zakázané"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Povolené"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Nie je povolené"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Inštalácia neznámych aplikácií"</string> <string name="home" msgid="3256884684164448244">"Domovská stránka nastavení"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0 %"</item> diff --git a/packages/SettingsLib/res/values-sl/strings.xml b/packages/SettingsLib/res/values-sl/strings.xml index 563399aa5155..9c20947b0781 100644 --- a/packages/SettingsLib/res/values-sl/strings.xml +++ b/packages/SettingsLib/res/values-sl/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Ni povezano zaradi slabe kakovosti omrežja"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Povezava prek Wi-Fi-ja ni uspela"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Težava s preverjanjem pristnosti"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Povezava ni mogoča"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Povezava z aplikacijo »<xliff:g id="AP_NAME">%1$s</xliff:g>« ni mogoča"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Preverite geslo in poskusite znova"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Ni v obsegu"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Samodejna vnovična vzpostavitev povezave se ne bo izvedla"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Ni dostopa do interneta"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Vzpostavljena povezava prek: %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Na voljo prek: %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Vzpostavljena povezava, brez interneta"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Zelo počasna"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Počasna"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"V redu"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Srednje hitra"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Hitra"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Zelo hitra"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Prekinjena povezava"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Prekinjanje povezave ..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Vzpostavljanje povezave ..."</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Povezava vzp. (ni dostopa do sporočil)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Povezava vzpostavljena (brez telefona ali predstavnosti)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Zvok predstavnosti"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Telefonski klici"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Prenos datoteke"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Vnosna naprava"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Internetni dostop"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Dajanje stikov v skupno rabo"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Uporabi za dajanje stikov v skupno rabo"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Skupna raba internetne povezave"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Sporočila SMS"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Dostop do kartice SIM"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"Zvok visoke kakovosti: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"Zvok visoke kakovosti"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Povezan s profilom za predstavnostni zvok"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Povezava s profilom za zvok telefona vzpostavljena"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Povezava s strežnikom za prenos datotek je vzpostavljena"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Popravljanje barv"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"To je preskusna funkcija in lahko vpliva na učinkovitost delovanja."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Preglasila nastavitev: <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Še približno <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Glede na način uporabe imate na voljo še približno <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Še <xliff:g id="TIME">%1$s</xliff:g> do polne napolnjenosti"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Še <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Glede na način uporabe imate na voljo še <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> – še približno <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> – glede na način uporabe imate na voljo še približno <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> – še <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Še približno <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Glede na način uporabe imate na voljo še približno <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Še <xliff:g id="TIME">^1</xliff:g> do polne napolnjenosti"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Še <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Glede na način uporabe imate na voljo še <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> – še približno <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> – glede na način uporabe imate na voljo še približno <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> – še <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> do napolnjenosti"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g> do napolnjenosti"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Neznano"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Polnjenje"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"polnjenje"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Nadzira skrbnik"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Omogočil skrbnik"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Onemogočil skrbnik"</string> + <string name="disabled" msgid="9206776641295849915">"Onemogočeno"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Dovoljene"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Nedovoljene"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Nameščanje neznanih aplikacij"</string> <string name="home" msgid="3256884684164448244">"Začetna stran nastavitev"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0 %"</item> diff --git a/packages/SettingsLib/res/values-sq/strings.xml b/packages/SettingsLib/res/values-sq/strings.xml index 601ea6f0c382..9dddf7304436 100644 --- a/packages/SettingsLib/res/values-sq/strings.xml +++ b/packages/SettingsLib/res/values-sq/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Nuk është lidhur për shkak të rrjetit me cilësi të dobët"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Dështim i lidhjes WiFi"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Problem me vërtetimin"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Nuk mund të lidhet"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Nuk mund të lidhet me \"<xliff:g id="AP_NAME">%1$s</xliff:g>\""</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Kontrollo fjalëkalimin dhe provo sërish"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Nuk është brenda rrezes"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Nuk do të lidhet automatikisht"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Nuk ka qsaje në internet"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"E lidhur përmes %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"E mundshme përmes %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"U lidh, nuk ka internet"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Shumë e ulët"</string> + <string name="speed_label_slow" msgid="813109590815810235">"E ngadaltë"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"Në rregull"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Mesatare"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"E shpejtë"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Shumë e shpejtë"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Shkëputur"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Po shkëputet..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Po lidhet..."</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"U lidh (pa qasje te mesazhet)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"I lidhur (pa telefon apo media)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Audioja e klipit \"media\""</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Telefonatat"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Transferimi i skedarëve"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Pajisja e hyrjes"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Qasja në internet"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Ndarja e kontakteve"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Përdore për ndarjen e kontakteve"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Ndarja e lidhjes së internetit"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Mesazhet me tekst"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Qasje në kartën SIM"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"Audio HD: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"Audio HD"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"U lidh me audion e medias"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"U lidh me audion e telefonit"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"U lidh me serverin e transferimit të skedarëve"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Korrigjimi i ngjyrës"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Ky funksion është eksperimental dhe mund të ndikojë në veprimtari."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Mbivendosur nga <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Rreth <xliff:g id="TIME">%1$s</xliff:g> të mbetura"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Rreth <xliff:g id="TIME">%1$s</xliff:g> të mbetura bazuar në përdorimin tënd"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">%1$s</xliff:g> të mbetura deri në ngarkimin e plotë"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> të mbetura"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"<xliff:g id="TIME">%1$s</xliff:g> të mbetura bazuar në përdorimin tënd"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - rreth <xliff:g id="TIME">%2$s</xliff:g> të mbetura"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - rreth <xliff:g id="TIME">%2$s</xliff:g> të mbetura bazuar në përdorimin tënd"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> të mbetura"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Rreth <xliff:g id="TIME">^1</xliff:g> të mbetura"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Rreth <xliff:g id="TIME">^1</xliff:g> të mbetura bazuar në përdorimin tënd"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">^1</xliff:g> të mbetura deri në ngarkimin e plotë"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> të mbetura"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"<xliff:g id="TIME">^1</xliff:g> të mbetura bazuar në përdorimin tënd"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - rreth <xliff:g id="TIME">^2</xliff:g> të mbetura"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - rreth <xliff:g id="TIME">^2</xliff:g> të mbetura bazuar në përdorimin tënd"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> të mbetura"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> derisa të mbushet plotësisht"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> derisa të mbushet plotësisht"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"I panjohur"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Po ngarkohet"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"po ngarkohet"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Kontrolluar nga administratori"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Aktivizuar nga administratori"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Çaktivizuar nga administratori"</string> + <string name="disabled" msgid="9206776641295849915">"Çaktivizuar"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Lejohet"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Nuk lejohet"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Instalo aplikacione të panjohura"</string> <string name="home" msgid="3256884684164448244">"Kreu i cilësimeve"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-sr/strings.xml b/packages/SettingsLib/res/values-sr/strings.xml index ab6e099ce9fe..1cda30791c75 100644 --- a/packages/SettingsLib/res/values-sr/strings.xml +++ b/packages/SettingsLib/res/values-sr/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Није повезано због лошег квалитета мреже"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Wi-Fi веза је отказала"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Проблем са потврдом аутентичности"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Повезивање није успело"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Повезивање са „<xliff:g id="AP_NAME">%1$s</xliff:g>“ није успело"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Проверите лозинку и пробајте поново"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Није у опсегу"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Аутоматско повезивање није успело"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Нема приступа интернету"</string> @@ -37,18 +40,12 @@ <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> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Веома спора"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Спора"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"Потврди"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Средња"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Брза"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Веома брза"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Веза је прекинута"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Прекидање везе..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Повезивање…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Повезано је (нема приступа порукама)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Повезано (без телефона или медија)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Звук медија"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Телефонски позиви"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Пренос датотеке"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Улазни уређај"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Приступ Интернету"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Дељење контаката"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Користите за дељење контаката"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Дељење интернет везе"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"SMS-ови"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Приступ SIM картици"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD звук: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD звук"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Повезано са звуком медија"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Повезано са звуком телефона"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Повезано са сервером за пренос датотека"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Корекција боја"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Ова функција је експериментална и може да утиче на квалитет рада."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Замењује га <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Још око <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"На основу потрошње имате још отприлике <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">%1$s</xliff:g> до потпуног пуњења"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Преостало време: <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"На основу потрошње имате још <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> – остало је око <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> – на основу потрошње имате још отприлике <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"Преостало је <xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Још око <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"На основу потрошње имате још отприлике <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">^1</xliff:g> до потпуног пуњења"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Преостало време: <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"На основу потрошње имате још <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> – остало је око <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> – на основу потрошње имате још отприлике <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"Преостало је <xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> до потпуног пуњења"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g> до потпуног пуњења"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Непознато"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Пуњење"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"пуни се"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Контролише администратор"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Омогућио је администратор"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Администратор је онемогућио"</string> + <string name="disabled" msgid="9206776641295849915">"Онемогућено"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Дозвољено"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Није дозвољено"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Инсталирајте непозн. апл."</string> <string name="home" msgid="3256884684164448244">"Почетна за Подешавања"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-sv/strings.xml b/packages/SettingsLib/res/values-sv/strings.xml index bca8a0a443a4..260554f7a49b 100644 --- a/packages/SettingsLib/res/values-sv/strings.xml +++ b/packages/SettingsLib/res/values-sv/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Ingen anslutning på grund av låg kvalitet på nätverket"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Wi-Fi-anslutningsfel"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Autentiseringsproblem"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Det gick inte att ansluta"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Det gick inte att ansluta till <xliff:g id="AP_NAME">%1$s</xliff:g>"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Kontrollera lösenordet och försök igen"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Utom räckhåll"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Det går inte att ansluta automatiskt"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Ingen internetåtkomst"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Anslutet via %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Tillgängligt via %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Ansluten, inget internet"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Mycket långsam"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Långsam"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"Okej"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Medelsnabb"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Snabb"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Mycket snabb"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Kopplas ifrån"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Kopplar ifrån…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Ansluter…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Ansluten (ingen meddelandeåtkomst)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Ansluten (ingen telefon och inga media)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Medialjud"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Telefonsamtal"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Filöverföring"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Indataenhet"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Internetåtkomst"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Kontaktdelning"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Använd för kontaktdelning"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Delning av Internetanslutning"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Sms"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"SIM-åtkomst"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD-ljud: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD-ljud"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Ansluten till medialjud"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Ansluten till telefonens ljud"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Ansluten till filöverföringsserver"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Färgkorrigering"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Den här funktionen är experimentell och kan påverka prestandan."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Har åsidosatts av <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Cirka <xliff:g id="TIME">%1$s</xliff:g> återstår"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Cirka <xliff:g id="TIME">%1$s</xliff:g> kvar utifrån din användning"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Batteriet är fulladdat om <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> kvar"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"<xliff:g id="TIME">%1$s</xliff:g> kvar utifrån din användning"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> – cirka <xliff:g id="TIME">%2$s</xliff:g> kvar"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> – cirka <xliff:g id="TIME">%2$s</xliff:g> kvar utifrån din användning"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> kvar"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Cirka <xliff:g id="TIME">^1</xliff:g> återstår"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Cirka <xliff:g id="TIME">^1</xliff:g> kvar utifrån din användning"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Batteriet är fulladdat om <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> kvar"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"<xliff:g id="TIME">^1</xliff:g> kvar utifrån din användning"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> – cirka <xliff:g id="TIME">^2</xliff:g> kvar"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> – cirka <xliff:g id="TIME">^2</xliff:g> kvar utifrån din användning"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g> kvar"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> tills det är fulladdat"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g> tills det är fulladdat"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Okänd"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Laddar"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"laddas"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Strys av administratören"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Aktiverad av administratör"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Inaktiverad av administratören"</string> + <string name="disabled" msgid="9206776641295849915">"Inaktiverad"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Tillåts"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Tillåts inte"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Installera okända appar"</string> <string name="home" msgid="3256884684164448244">"Startskärmen för inställningar"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0 %"</item> diff --git a/packages/SettingsLib/res/values-sw/strings.xml b/packages/SettingsLib/res/values-sw/strings.xml index 780c84c372be..04f80a99312a 100644 --- a/packages/SettingsLib/res/values-sw/strings.xml +++ b/packages/SettingsLib/res/values-sw/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Haijaunganishwa kwa sababu intaneti si thabiti"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Haikuweza Kuunganisha kwenye WiFi"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Tatizo la uthibitishaji"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Imeshindwa kuunganisha"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Imeshindwa kuunganisha kwenye \'<xliff:g id="AP_NAME">%1$s</xliff:g>\'"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Angalia nenosiri na ujaribu tena"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Haiko karibu"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Haiwezi kuunganisha kiotomatiki"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Hakuna muunganisho wa Intaneti"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Imeunganishwa kupitia %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Inapatikana kupitia %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Imeunganishwa, hakuna Intaneti"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Polepole Sana"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Polepole"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"Sawa"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Wastani"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Haraka"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Haraka Sana"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Haijaunganishwa"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Inatenganisha..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Inaunganisha…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Imeunganishwa (hakuna ufikiaji kwa ujumbe)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Imeunganishwa(hakuna simu au vyombo vya habari)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Media ya sauti"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Simu"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Uhamishaji wa faili"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Kifaa cha kuingiza"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Ufikivu wa mtandao"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Kushiriki anwani"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Tumia kwa kushiriki anwani"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Kushiriki muunganisho wa tovuti"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"SMS"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Ufikiaji wa SIM"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"Sauti ya HD: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"Sauti ya HD"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Imeunganishwa kwenye sikika ya njia ya mawasiliano"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Imeunganishwa kwenye sauti ya simu"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Imeunganishwa kwenye seva ya kuhamisha faili"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Usahihishaji wa rangi"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Kipengele hiki ni cha majaribio na huenda kikaathiri utendaji wa kifaa chako."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Imetanguliwa na <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Zimesalia takribani <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Takriban <xliff:g id="TIME">%1$s</xliff:g> zimesalia kulingana na matumizi yako"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Imebaki <xliff:g id="TIME">%1$s</xliff:g> chaji ijae"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Zimesalia <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"<xliff:g id="TIME">%1$s</xliff:g> zimesalia kulingana na matumizi yako"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - imesalia takribani <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - takriban <xliff:g id="TIME">%2$s</xliff:g> zimesalia kulingana na matumizi yako"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"Imechaji <xliff:g id="LEVEL">%1$s</xliff:g> - Zimesalia <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Zimesalia takribani <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Takriban <xliff:g id="TIME">^1</xliff:g> zimesalia kulingana na matumizi yako"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Imebaki <xliff:g id="TIME">^1</xliff:g> chaji ijae"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Zimesalia <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"<xliff:g id="TIME">^1</xliff:g> zimesalia kulingana na matumizi yako"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - imesalia takribani <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - takriban <xliff:g id="TIME">^2</xliff:g> zimesalia kulingana na matumizi yako"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"Imechaji <xliff:g id="LEVEL">^1</xliff:g> - Zimesalia <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> hadi ijae chaji"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> hadi ijae chaji"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Haijulikani"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Inachaji"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"inachaji"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Imedhibitiwa na msimamizi"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Imewashwa na msimamizi"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Imezimwa na msimamizi"</string> + <string name="disabled" msgid="9206776641295849915">"Imezimwa"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Imeruhusiwa"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Hairuhusiwi"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Sakinisha programu ambazo hazijulikani"</string> <string name="home" msgid="3256884684164448244">"Ukurasa wa Kwanza wa Mipangilio"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-ta/strings.xml b/packages/SettingsLib/res/values-ta/strings.xml index d3bb4670c632..74f88d2091eb 100644 --- a/packages/SettingsLib/res/values-ta/strings.xml +++ b/packages/SettingsLib/res/values-ta/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"தரம் குறைவான நெட்வொர்க்கின் காரணமாக, இணைக்கப்படவில்லை"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"வைஃபை இணைப்பில் தோல்வி"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"அங்கீகரிப்புச் சிக்கல்"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"இணைக்க முடியவில்லை"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"\'<xliff:g id="AP_NAME">%1$s</xliff:g>\' உடன் இணைக்க முடியவில்லை"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"கடவுச்சொல்லைச் சரிபார்த்து, மீண்டும் முயலவும்"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"தொடர்பு எல்லையில் இல்லை"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"தானாக இணைக்கப்படாது"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"இணைய அணுகல் இல்லை"</string> @@ -37,18 +40,12 @@ <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> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"மிகவும் வேகம் குறைவானது"</string> + <string name="speed_label_slow" msgid="813109590815810235">"வேகம் குறைவு"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"சரி"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"நடுத்தரம்"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"வேகம்"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"மிகவும் வேகமானது"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"தொடர்பு துண்டிக்கப்பட்டது"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"துண்டிக்கிறது..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"இணைக்கிறது..."</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"இணைக்கப்பட்டது (செய்திக்கான அணுகல் இல்லை)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"இணைக்கப்பட்டது (மொபைல் அல்லது மீடியாவுடன் அல்ல)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"மீடியா ஆடியோ"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"ஃபோன் அழைப்புகள்"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"கோப்பு இடமாற்றம்"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"உள்ளீட்டுச் சாதனம்"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"இணைய அணுகல்"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"தொடர்புப் பகிர்தல்"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"தொடர்புப் பகிர்தலுக்குப் பயன்படுத்து"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"இணைய இணைப்பு பகிர்தல்"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"உரைச் செய்திகள்"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"சிம் அணுகல்"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD ஆடியோ: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD ஆடியோ"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"மீடியா ஆடியோவுடன் இணைக்கப்பட்டது"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"மொபைல் ஆடியோவுடன் இணைக்கப்பட்டது"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"கோப்பைப் பரிமாற்றும் சேவையகத்துடன் இணைக்கப்பட்டது"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"வண்ணத்திருத்தம்"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"இது சோதனை முறையிலான அம்சம், இது செயல்திறனைப் பாதிக்கலாம்."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"<xliff:g id="TITLE">%1$s</xliff:g> மூலம் மேலெழுதப்பட்டது"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"கிட்டத்தட்ட <xliff:g id="TIME">%1$s</xliff:g> உள்ளது"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"உபயோகத்தின் அடிப்படையில் கிட்டத்தட்ட <xliff:g id="TIME">%1$s</xliff:g> மீதமுள்ளது"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"முழு சார்ஜாக <xliff:g id="TIME">%1$s</xliff:g> ஆகும்"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> மீதமுள்ளது"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"உபயோகத்தின் அடிப்படையில் <xliff:g id="TIME">%1$s</xliff:g> மீதமுள்ளது"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - கிட்டத்தட்ட <xliff:g id="TIME">%2$s</xliff:g> மீதமுள்ளது"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - உபயோகத்தின் அடிப்படையில் கிட்டத்தட்ட <xliff:g id="TIME">%2$s</xliff:g> மீதமுள்ளது"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> மீதமுள்ளது"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"கிட்டத்தட்ட <xliff:g id="TIME">^1</xliff:g> உள்ளது"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"உபயோகத்தின் அடிப்படையில் கிட்டத்தட்ட <xliff:g id="TIME">^1</xliff:g> மீதமுள்ளது"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"முழு சார்ஜாக <xliff:g id="TIME">^1</xliff:g> ஆகும்"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> மீதமுள்ளது"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"உபயோகத்தின் அடிப்படையில் <xliff:g id="TIME">^1</xliff:g> மீதமுள்ளது"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - கிட்டத்தட்ட <xliff:g id="TIME">^2</xliff:g> மீதமுள்ளது"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - உபயோகத்தின் அடிப்படையில் கிட்டத்தட்ட <xliff:g id="TIME">^2</xliff:g> மீதமுள்ளது"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> மீதமுள்ளது"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - முழு சார்ஜாக <xliff:g id="TIME">%2$s</xliff:g> ஆகும்"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - முழு சார்ஜாக <xliff:g id="TIME">^2</xliff:g> ஆகும்"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"அறியப்படாத"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"சார்ஜ் ஏற்றப்படுகிறது"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"சார்ஜாகிறது"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"நிர்வாகி கட்டுப்படுத்துகிறார்"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"நிர்வாகி இயக்கியுள்ளார்"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"நிர்வாகி முடக்கியுள்ளார்"</string> + <string name="disabled" msgid="9206776641295849915">"முடக்கப்பட்டது"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"அனுமதிக்கப்பட்டது"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"அனுமதிக்கப்படவில்லை"</string> + <string name="install_other_apps" msgid="6986686991775883017">"அறியப்படாத பயன்பாடுகளை நிறுவு"</string> <string name="home" msgid="3256884684164448244">"அமைப்புகள் முகப்பு"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-te/strings.xml b/packages/SettingsLib/res/values-te/strings.xml index 2ee802a0dca0..6f432d065992 100644 --- a/packages/SettingsLib/res/values-te/strings.xml +++ b/packages/SettingsLib/res/values-te/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"తక్కువ నాణ్యతా నెట్వర్క్ కారణంగా కనెక్ట్ చేయబడలేదు"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"WiFi కనెక్షన్ వైఫల్యం"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"ప్రామాణీకరణ సమస్య"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"కనెక్ట్ చేయడం సాధ్యపడదు"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"\'<xliff:g id="AP_NAME">%1$s</xliff:g>\'కు కనెక్ట్ చేయడం సాధ్యపడదు"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"పాస్వర్డ్ను తనిఖీ చేసి, మళ్లీ ప్రయత్నించండి"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"పరిధిలో లేదు"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"స్వయంచాలకంగా కనెక్ట్ కాదు"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"ఇంటర్నెట్ ప్రాప్యత లేదు"</string> @@ -37,18 +40,12 @@ <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> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"చాలా నెమ్మది"</string> + <string name="speed_label_slow" msgid="813109590815810235">"నెమ్మది"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"సరే"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"మధ్యస్థం"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"వేగవంతం"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"చాలా వేగవంతం"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"డిస్కనెక్ట్ చేయబడింది"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"డిస్కనెక్ట్ చేస్తోంది..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"కనెక్ట్ చేస్తోంది..."</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"కనెక్ట్ చేయబడింది (సందేశ ప్రాప్యత లేదు)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"కనెక్ట్ చేయబడింది (ఫోన్ లేదా మీడియా కాకుండా)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"మీడియా ఆడియో"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"ఫోన్ కాల్లు"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"ఫైల్ బదిలీ"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"ఇన్పుట్ పరికరం"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"ఇంటర్నెట్ ప్రాప్యత"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"పరిచయ భాగస్వామ్యం"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"పరిచయ భాగస్వామ్యం కోసం ఉపయోగించు"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"ఇంటర్నెట్ కనెక్షన్ భాగస్వామ్యం"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"వచన సందేశాలు"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"SIM ప్రాప్యత"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD ఆడియో: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD ఆడియో"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"మీడియా ఆడియోకు కనెక్ట్ చేయబడింది"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"ఫోన్ ఆడియోకు కనెక్ట్ చేయబడింది"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"ఫైల్ బదిలీ సర్వర్కు కనెక్ట్ చేయబడింది"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"రంగు సవరణ"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"ఈ లక్షణం ప్రయోగాత్మకమైనది మరియు పనితీరుపై ప్రభావం చూపవచ్చు."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"<xliff:g id="TITLE">%1$s</xliff:g> ద్వారా భర్తీ చేయబడింది"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"మిగిలి ఉన్న సమయం, <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"మీ వినియోగం ఆధారంగా సుమారు <xliff:g id="TIME">%1$s</xliff:g> సమయం మిగిలి ఉంది"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"పూర్తిగా ఛార్జ్ కావడానికి <xliff:g id="TIME">%1$s</xliff:g> పడుతుంది"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> మిగిలి ఉంది"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"మీ వినియోగం ఆధారంగా <xliff:g id="TIME">%1$s</xliff:g> సమయం మిగిలి ఉంది"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> పని చేస్తుంది"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - మీ వినియోగం ఆధారంగా సుమారు <xliff:g id="TIME">%2$s</xliff:g> సమయం మిగిలి ఉంది"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> మిగిలి ఉంది"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"మిగిలి ఉన్న సమయం, <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"మీ వినియోగం ఆధారంగా సుమారు <xliff:g id="TIME">^1</xliff:g> సమయం మిగిలి ఉంది"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"పూర్తిగా ఛార్జ్ కావడానికి <xliff:g id="TIME">^1</xliff:g> పడుతుంది"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> మిగిలి ఉంది"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"మీ వినియోగం ఆధారంగా <xliff:g id="TIME">^1</xliff:g> సమయం మిగిలి ఉంది"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> పని చేస్తుంది"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - మీ వినియోగం ఆధారంగా సుమారు <xliff:g id="TIME">^2</xliff:g> సమయం మిగిలి ఉంది"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> మిగిలి ఉంది"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g>లో పూర్తిగా ఛార్జ్ అవుతుంది"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>లో పూర్తిగా ఛార్జ్ అవుతుంది"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"తెలియదు"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"ఛార్జ్ అవుతోంది"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"ఛార్జ్ అవుతోంది"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"నిర్వాహకుని ద్వారా నియంత్రించబడింది"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"నిర్వాహకులు ప్రారంభించారు"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"నిర్వాహకులు నిలిపివేసారు"</string> + <string name="disabled" msgid="9206776641295849915">"నిలిపివేయబడింది"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"అనుమతించినవి"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"అనుమతించబడలేదు"</string> + <string name="install_other_apps" msgid="6986686991775883017">"తెలియని అనువర్తనాలను ఇన్స్టాల్ చేయండి"</string> <string name="home" msgid="3256884684164448244">"సెట్టింగ్ల హోమ్"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-th/strings.xml b/packages/SettingsLib/res/values-th/strings.xml index f5223e11064d..d8950b81b23a 100644 --- a/packages/SettingsLib/res/values-th/strings.xml +++ b/packages/SettingsLib/res/values-th/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"ไม่ได้เชื่อมต่อเนื่องจากเครือข่ายคุณภาพต่ำ"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"การเชื่อมต่อ Wi-Fi ล้มเหลว"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"ปัญหาในการตรวจสอบสิทธิ์"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"ไม่สามารถเชื่อมต่อ"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"ไม่สามารถเชื่อมต่อกับ \"<xliff:g id="AP_NAME">%1$s</xliff:g>\""</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"ตรวจสอบรหัสผ่านและลองอีกครั้ง"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"ไม่อยู่ในพื้นที่ให้บริการ"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"จะไม่เชื่อมต่อโดยอัตโนมัติ"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"ไม่สามารถเข้าถึงอินเทอร์เน็ต"</string> @@ -37,18 +40,12 @@ <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> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"ช้ามาก"</string> + <string name="speed_label_slow" msgid="813109590815810235">"ช้า"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"ตกลง"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"ปานกลาง"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"เร็ว"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"เร็วมาก"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"ตัดการเชื่อมต่อ"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"กำลังตัดการเชื่อมต่อ..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"กำลังเชื่อมต่อ…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"เชื่อมต่อแล้ว (ไม่มีการเข้าถึงข้อความ)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"เชื่อมต่อ (ยกเว้นเสียงโทรศัพท์หรือสื่อ)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"เสียงสื่อ"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"การโทรศัพท์"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"การถ่ายโอนไฟล์"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"อุปกรณ์อินพุต"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"การเข้าถึงอินเทอร์เน็ต"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"การแชร์รายชื่อผู้ติดต่อ"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"ใช้สำหรับการแชร์รายชื่อผู้ติดต่อ"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"การแชร์การเชื่อมต่ออินเทอร์เน็ต"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"ข้อความ"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"การเข้าถึงซิม"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"เสียง HD: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"เสียง HD"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"เชื่อมต่อกับระบบเสียงของสื่อแล้ว"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"เชื่อมต่อกับระบบเสียงของโทรศัพท์แล้ว"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"เชื่อมต่อกับเซิร์ฟเวอร์สำหรับโอนไฟล์แล้ว"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"การแก้สี"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"ฟีเจอร์นี้เป็นแบบทดลองและอาจส่งผลต่อประสิทธิภาพการทำงาน"</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"แทนที่โดย <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"อีกประมาณ <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"เหลืออีกราว <xliff:g id="TIME">%1$s</xliff:g> ขึ้นอยู่กับการใช้งานของคุณ"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"อีก <xliff:g id="TIME">%1$s</xliff:g> จึงจะชาร์จเต็ม"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"เหลืออีก <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"เหลืออีก <xliff:g id="TIME">%1$s</xliff:g> ขึ้นอยู่กับการใช้งานของคุณ"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - เหลือเวลาประมาณ <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - เหลืออีกราว <xliff:g id="TIME">%2$s</xliff:g> ขึ้นอยู่กับการใช้งานของคุณ"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - เหลืออีก <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"อีกประมาณ <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"เหลืออีกราว <xliff:g id="TIME">^1</xliff:g> ขึ้นอยู่กับการใช้งานของคุณ"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"อีก <xliff:g id="TIME">^1</xliff:g> จึงจะชาร์จเต็ม"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"เหลืออีก <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"เหลืออีก <xliff:g id="TIME">^1</xliff:g> ขึ้นอยู่กับการใช้งานของคุณ"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - เหลือเวลาประมาณ <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - เหลืออีกราว <xliff:g id="TIME">^2</xliff:g> ขึ้นอยู่กับการใช้งานของคุณ"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - เหลืออีก <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> จนกว่าจะชาร์จเต็ม"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> จนกว่าจะชาร์จเต็ม"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"ไม่ทราบ"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"กำลังชาร์จ"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"กำลังชาร์จ"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"ผู้ดูแลระบบเป็นผู้ควบคุม"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"เปิดใช้โดยผู้ดูแลระบบ"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"ปิดใช้โดยผู้ดูแลระบบ"</string> + <string name="disabled" msgid="9206776641295849915">"ปิดอยู่"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"อนุญาต"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"ไม่อนุญาต"</string> + <string name="install_other_apps" msgid="6986686991775883017">"ติดตั้งแอปที่ไม่รู้จัก"</string> <string name="home" msgid="3256884684164448244">"หน้าแรกของการตั้งค่า"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-tl/strings.xml b/packages/SettingsLib/res/values-tl/strings.xml index 96388de6171b..7b10c851ca48 100644 --- a/packages/SettingsLib/res/values-tl/strings.xml +++ b/packages/SettingsLib/res/values-tl/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Hindi nakakonekta dahil mababa ang kalidad ng network"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Pagkabigo ng Koneksyon sa WiFi"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Problema sa pagpapatotoo"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Hindi makakonekta"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Hindi makakonekta sa \'<xliff:g id="AP_NAME">%1$s</xliff:g>\'"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Suriin ang password at subukang muli"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Wala sa sakop"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Hindi awtomatikong kokonekta"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Walang access sa Internet"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Nakakonekta sa pamamagitan ng %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Available sa pamamagitan ng %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Nakakonekta, walang Internet"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Napakabagal"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Mabagal"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"OK"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Katamtaman"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Mabilis"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Napakabilis"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Hindi nakakonekta"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Nadidiskonekta..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Kumukonekta…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Nakakonekta (walang access sa mensahe)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Nakakonekta (walang telepono o media)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Audio ng media"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Mga tawag sa telepono"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Paglilipat ng file"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Device sa pag-input"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Access sa internet"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Pagbabahagi ng contact"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Gamitin para sa pagbabahagi ng contact"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Pagbabahagi ng koneksyon sa internet"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Mga Text Message"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Access sa SIM"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD audio: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD audio"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Konektado sa media audio"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Nakakonekta sa audio ng telepono"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Nakakonekta sa server sa paglilipat ng file"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Pagtatama ng kulay"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Ang feature na ito ay pinag-eeksperimentuhan at maaaring makaapekto sa performance."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Na-override ng <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Humigit-kumulang <xliff:g id="TIME">%1$s</xliff:g> ang natitira"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Humigit-kumulang <xliff:g id="TIME">%1$s</xliff:g> ang natitira batay sa iyong paggamit"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">%1$s</xliff:g> ang natitira bago makumpleto ang charge"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> pa"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"<xliff:g id="TIME">%1$s</xliff:g> ang natitira batay sa iyong paggamit"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - humigit-kumulang <xliff:g id="TIME">%2$s</xliff:g> pa ang natitira"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - humigit-kumulang <xliff:g id="TIME">%2$s</xliff:g> ang natitira batay sa iyong paggamit"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> pa"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Humigit-kumulang <xliff:g id="TIME">^1</xliff:g> ang natitira"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Humigit-kumulang <xliff:g id="TIME">^1</xliff:g> ang natitira batay sa iyong paggamit"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">^1</xliff:g> ang natitira bago makumpleto ang charge"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> pa"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"<xliff:g id="TIME">^1</xliff:g> ang natitira batay sa iyong paggamit"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - humigit-kumulang <xliff:g id="TIME">^2</xliff:g> pa ang natitira"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - humigit-kumulang <xliff:g id="TIME">^2</xliff:g> ang natitira batay sa iyong paggamit"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> pa"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> hanggang sa makumpleto ang charge"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> hanggang sa makumpleto ang charge"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Hindi Kilala"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Nagcha-charge"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"nagcha-charge"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Pinapamahalaan ng admin"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Na-enable ng admin"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Na-disable ng admin"</string> + <string name="disabled" msgid="9206776641295849915">"Naka-disable"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Pinapayagan"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Hindi pinapayagan"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Mag-install ng mga hindi alam na app"</string> <string name="home" msgid="3256884684164448244">"Home ng Mga Setting"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-tr/strings.xml b/packages/SettingsLib/res/values-tr/strings.xml index b8a5dab6df1b..7e2e7d5a93f0 100644 --- a/packages/SettingsLib/res/values-tr/strings.xml +++ b/packages/SettingsLib/res/values-tr/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Ağ kalitesi düşük olduğundan bağlanamadı"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Kablosuz Bağlantı Hatası"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Kimlik doğrulama sorunu"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Bağlanılamıyor"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"\"<xliff:g id="AP_NAME">%1$s</xliff:g>\" ağına bağlanılamıyor"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Şifreyi kontrol edin ve tekrar deneyin"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Kapsama alanı dışında"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Otomatik olarak bağlanma"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"İnternet erişimi yok"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"%1$s üzerinden bağlı"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"%1$s üzerinden kullanılabilir"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Bağlı, İnternet yok"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Çok Yavaş"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Yavaş"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"Tamam"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Orta"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Hızlı"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Çok Hızlı"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Bağlantı kesildi"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Bağlantı kesiliyor…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Bağlanıyor…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Bağlı (mesaj erişimi yok)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Bağlandı (telefon veya medya yok)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Medya sesi"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Telefon çağrıları"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Dosya aktarımı"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Giriş cihazı"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"İnternet erişimi"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Kişi paylaşma"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Kişi paylaşmak için kullan"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"İnternet bağlantısı paylaşımı"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Kısa Mesajlar"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"SIM Erişimi"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD ses: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD ses"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Medya sesine bağlanıldı"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Telefon sesine bağlandı"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Dosya aktarım sunucusuna bağlandı"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Renk düzeltme"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Bu özellik deneyseldir ve performansı etkileyebilir."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"<xliff:g id="TITLE">%1$s</xliff:g> tarafından geçersiz kılındı"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Yaklaşık <xliff:g id="TIME">%1$s</xliff:g> kaldı"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Kullanımınıza dayalı olarak yaklaşık <xliff:g id="TIME">%1$s</xliff:g> kaldı"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Tam olarak şarj olmasına <xliff:g id="TIME">%1$s</xliff:g> kaldı"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> kaldı"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Kullanımınıza dayalı olarak <xliff:g id="TIME">%1$s</xliff:g> kaldı"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - yaklaşık <xliff:g id="TIME">%2$s</xliff:g> kaldı"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - kullanımınıza dayalı olarak yaklaşık <xliff:g id="TIME">%2$s</xliff:g> kaldı"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> kaldı"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Yaklaşık <xliff:g id="TIME">^1</xliff:g> kaldı"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Kullanımınıza dayalı olarak yaklaşık <xliff:g id="TIME">^1</xliff:g> kaldı"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Tam olarak şarj olmasına <xliff:g id="TIME">^1</xliff:g> kaldı"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> kaldı"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Kullanımınıza dayalı olarak <xliff:g id="TIME">^1</xliff:g> kaldı"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - yaklaşık <xliff:g id="TIME">^2</xliff:g> kaldı"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - kullanımınıza dayalı olarak yaklaşık <xliff:g id="TIME">^2</xliff:g> kaldı"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> kaldı"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - Tam şarj olmasına <xliff:g id="TIME">%2$s</xliff:g> kaldı"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - Tam şarj olmasına <xliff:g id="TIME">^2</xliff:g> kaldı"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Bilinmiyor"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Şarj oluyor"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"şarj oluyor"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Yönetici tarafından denetleniyor"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Yönetici tarafından etkinleştirildi"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Yönetici devre dışı bıraktı"</string> + <string name="disabled" msgid="9206776641295849915">"Devre dışı"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"İzin verildi"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"İzin verilmiyor"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Bilinmeyen uygulamaları yükle"</string> <string name="home" msgid="3256884684164448244">"Ayarlar Ana Sayfası"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"%0"</item> diff --git a/packages/SettingsLib/res/values-uk/strings.xml b/packages/SettingsLib/res/values-uk/strings.xml index 0f8affd19f03..ad3222287b79 100644 --- a/packages/SettingsLib/res/values-uk/strings.xml +++ b/packages/SettingsLib/res/values-uk/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Не під’єднано через низьку якість мережі"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Помилка з’єднання Wi-Fi"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Проблема з автентифікацією"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Не вдається під’єднатись"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Не вдається під’єднатися до мережі <xliff:g id="AP_NAME">%1$s</xliff:g>"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Перевірте пароль і повторіть спробу"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Не в діапазоні"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Не під’єднуватиметься автоматично"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Немає доступу до Інтернету"</string> @@ -37,18 +40,12 @@ <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> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Дуже повільна"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Повільна"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"ОК"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Середня"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Швидка"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Дуже швидка"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Роз’єднано"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Відключення..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Підключення…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Під’єднано (без доступу до повідомлень)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Під’єднано (без телефону чи медіа)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Звук медіа-файлів"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Телефонні дзвінки"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Передавання файлів"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Пристрій введення"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Доступ до Інтернету"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Надсилання контактів"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Використовувати для надсилання контактів"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Надання доступу до Інтернету"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Текстові повідомлення"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Доступ до SIM-карти"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD-аудіо: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD-аудіо"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Підключено до аудіоджерела"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Підключено до звуку телеф."</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Підключ. до сервера передачі файлів"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Корекція кольору"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Це експериментальна функція. Вона може вплинути на продуктивність."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Замінено на <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Залишилося близько <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"На основі використання залишилося близько <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"До повного зарядження залишилося <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Залишилося <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"На основі використання залишилося <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> – ще <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> – на основі використання залишилося близько <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> – залишилося <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Залишилося близько <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"На основі використання залишилося близько <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"До повного зарядження залишилося <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Залишилося <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"На основі використання залишилося <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> – ще <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> – на основі використання залишилося близько <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> – залишилося <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> до повного заряду"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g> до повного заряду"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Невідомо"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Заряджається"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"заряджається"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Керується адміністратором"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Увімкнено адміністратором"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Вимкнено адміністратором"</string> + <string name="disabled" msgid="9206776641295849915">"Вимкнено"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Дозволено"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Заборонено"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Установлювати невідомі додатки"</string> <string name="home" msgid="3256884684164448244">"Головний екран налаштувань"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-ur/strings.xml b/packages/SettingsLib/res/values-ur/strings.xml index f6771dc1d747..6e9cdde588c6 100644 --- a/packages/SettingsLib/res/values-ur/strings.xml +++ b/packages/SettingsLib/res/values-ur/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"کم معیاری نیٹ ورک کی وجہ سے منسلک نہیں ہے"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"WiFi کنکشن کی ناکامی"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"توثیق کا مسئلہ"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"منسلک نہیں ہو سکتا ہے"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"\'<xliff:g id="AP_NAME">%1$s</xliff:g>\' سے منسلک نہیں ہو سکتا ہے"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"پاسورڈ چیک کر کے دوبارہ کوشش کریں"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"رینج میں نہیں ہے"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"خودکار طور پر منسلک نہیں ہو گا"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"انٹرنیٹ تک کوئی رسائی نہیں"</string> @@ -37,18 +40,12 @@ <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> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"بہت سست"</string> + <string name="speed_label_slow" msgid="813109590815810235">"سست"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"ٹھیک ہے"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"متوسط"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"تیز"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"بہت تیز"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"منقطع"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"منقطع کیا جارہا ہے…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"مربوط ہو رہا ہے…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"مربوط (کسی پیغام تک رسائی نہیں ہے)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"مربوط (کوئی فون یا میڈیا نہیں ہے)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"میڈيا آڈیو"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"فون کالز"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"فائل کی منتقلی"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"ان پٹ آلہ"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"انٹرنیٹ تک رسائی"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"رابطہ کا اشتراک"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"رابطہ کے اشتراک کیلئے استعمال کریں"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"انٹرنیٹ کنکشن کا اشتراک کرنا"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"ٹیکسٹ پیغامات"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"SIM رسائی"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD آڈیو: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD آڈیو"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"میڈیا آڈیو سے مربوط"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"فون آڈیو سے مربوط"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"فائل منتقلی سرور سے مربوط ہو گیا ہے"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"رنگ کی اصلاح"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"یہ خصوصیت تجرباتی ہے اور اس کی وجہ سے کاکردگی متاثر ہو سکتی ہے۔"</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"<xliff:g id="TITLE">%1$s</xliff:g> کے ذریعہ منسوخ کردیا گیا"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"تقریبًا <xliff:g id="TIME">%1$s</xliff:g> باقی ہے"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"آپ کے استعمال کی بنیاد پر تقریباً <xliff:g id="TIME">%1$s</xliff:g> باقی ہے"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"پوری طرح چارج ہونے میں <xliff:g id="TIME">%1$s</xliff:g> باقی ہے"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> باقی ہے"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"آپ کے استعمال کی بنیاد پر <xliff:g id="TIME">%1$s</xliff:g> باقی ہے"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - تقریباً <xliff:g id="TIME">%2$s</xliff:g> باقی ہے"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - آپ کے استعمال کی بنیاد پر تقریباً <xliff:g id="TIME">%2$s</xliff:g> باقی ہے"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> باقی ہے"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"تقریبًا <xliff:g id="TIME">^1</xliff:g> باقی ہے"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"آپ کے استعمال کی بنیاد پر تقریباً <xliff:g id="TIME">^1</xliff:g> باقی ہے"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"پوری طرح چارج ہونے میں <xliff:g id="TIME">^1</xliff:g> باقی ہے"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> باقی ہے"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"آپ کے استعمال کی بنیاد پر <xliff:g id="TIME">^1</xliff:g> باقی ہے"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - تقریباً <xliff:g id="TIME">^2</xliff:g> باقی ہے"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - آپ کے استعمال کی بنیاد پر تقریباً <xliff:g id="TIME">^2</xliff:g> باقی ہے"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> باقی ہے"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> پوری طرح چارج ہونے تک"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> پوری طرح چارج ہونے تک"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"نامعلوم"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"چارج ہو رہا ہے"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"چارج ہو رہا ہے"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"کنٹرول کردہ بذریعہ منتظم"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"منتظم کی طرف سے فعال کردہ"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"منتظم کی طرف سے غیر فعال کردہ"</string> + <string name="disabled" msgid="9206776641295849915">"غیر فعال"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"اجازت ہے"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"اجازت نہیں ہے"</string> + <string name="install_other_apps" msgid="6986686991775883017">"نامعلوم ایپس انسٹال کریں"</string> <string name="home" msgid="3256884684164448244">"ترتیبات ہوم"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-uz/strings.xml b/packages/SettingsLib/res/values-uz/strings.xml index 8a61cc45cc4c..70cc95a2c2db 100644 --- a/packages/SettingsLib/res/values-uz/strings.xml +++ b/packages/SettingsLib/res/values-uz/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Sifatsiz tarmoq sababli ulanib bo‘lmadi"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Wi-Fi ulanishini o‘rnatib bo‘lmadi"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Tasdiqdan o‘tishda muammo"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Tarmoqqa ulanilmadi"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"“<xliff:g id="AP_NAME">%1$s</xliff:g>” nomli tarmoqqa ulanilmadi"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Parolni tekshirib, qaytadan urining"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Xizmat doirasidan tashqarida"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Avtomatik ravishda ulanilmaydi"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Internet aloqasi yo‘q"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"%1$s orqali ulangan"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"%1$s orqali ishlaydi"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Ulangan, lekin internet aloqasi yo‘q"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Juda sekin"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Sekin"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"OK"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"O‘rtacha"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Tez"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Juda tez"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Uzildi"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Uzilyapti…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Ulanmoqda…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Ulangan (xabarlarga kirib bo‘lmaydi)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Ulangan (telefon yoki media qurilma emas)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Media audio"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Telefon chaqiruvlari"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Fayl o‘tkazish"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Kiritish qurilmasi"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Internetga kirish"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Kontaktlarni ulashish"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Kontaktlarni ulashish uchun ishlatilsin"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Internet aloqasi ulashmasi"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"SMS xabarlari"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"SIM-kartaga kirish"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD audio: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD audio"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Audio qurilmasiga ulangan"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Telefon karnayiga ulanildi"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Fayl almashinish serveriga ulanildi"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Rangni tuzatish"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Bu funksiya tajribaviy bo‘lib, u qurilma unumdorligiga ta’sir qilishi mumkin."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"<xliff:g id="TITLE">%1$s</xliff:g> bilan almashtirildi"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Taxminan <xliff:g id="TIME">%1$s</xliff:g> qoldi"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Joriy holatda taxminan <xliff:g id="TIME">%1$s</xliff:g> qoldi"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"To‘lishiga <xliff:g id="TIME">%1$s</xliff:g> qoldi"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> qoldi"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Joriy holatda <xliff:g id="TIME">%1$s</xliff:g> qoldi"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> – taxminan <xliff:g id="TIME">%2$s</xliff:g> qoldi"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> (joriy holatda taxminan <xliff:g id="TIME">%2$s</xliff:g> qoldi)"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> qoldi"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Taxminan <xliff:g id="TIME">^1</xliff:g> qoldi"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Joriy holatda taxminan <xliff:g id="TIME">^1</xliff:g> qoldi"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"To‘lishiga <xliff:g id="TIME">^1</xliff:g> qoldi"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> qoldi"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Joriy holatda <xliff:g id="TIME">^1</xliff:g> qoldi"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> – taxminan <xliff:g id="TIME">^2</xliff:g> qoldi"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> (joriy holatda taxminan <xliff:g id="TIME">^2</xliff:g> qoldi)"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g> qoldi"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> ichida to‘ladi"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g> ichida to‘ladi"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> – <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Noma’lum"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Quvvat olmoqda"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"quvvat olmoqda"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Administrator tomonidan boshqariladi"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Administrator tomonidan yoqilgan"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Administrator tomonidan o‘chirilgan"</string> + <string name="disabled" msgid="9206776641295849915">"O‘chiq"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Ruxsat berilgan"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Ruxsat berilmagan"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Notanish ilovalarni o‘rnatish"</string> <string name="home" msgid="3256884684164448244">"Sozlamalar"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-vi/strings.xml b/packages/SettingsLib/res/values-vi/strings.xml index 7dd93c6eadf7..9ba6457282e6 100644 --- a/packages/SettingsLib/res/values-vi/strings.xml +++ b/packages/SettingsLib/res/values-vi/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Không được kết nối do mạng chất lượng kém"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Lỗi kết nối WiFi"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Sự cố xác thực"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Không thể kết nối"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Không thể kết nối với \'<xliff:g id="AP_NAME">%1$s</xliff:g>\'"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Kiểm tra mật khẩu và thử lại"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Ngoài vùng phủ sóng"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Sẽ không tự động kết nối"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Không có quyền truy cập Internet"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Được kết nối qua %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Có sẵn qua %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Đã kết nối, không có Internet"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Rất chậm"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Chậm"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"Khá tốt"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Trung bình"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Nhanh"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Rất nhanh"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Đã ngắt kết nối"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Đang ngắt kết nối…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Đang kết nối…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Đã kết nối (không truy cập tin nhắn)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Đã k.nối (kg có ĐT hoặc p.tiện nào)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Âm thanh của phương tiện"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Cuộc gọi điện thoại"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Chuyển tệp"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Thiết bị đầu vào"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Truy cập Internet"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Chia sẻ liên hệ"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Sử dụng để chia sẻ liên hệ"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Chia sẻ kết nối internet"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Tin nhắn văn bản"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Quyền truy cập SIM"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"Âm thanh HD: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"Âm thanh HD"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Đã kết nối với âm thanh phương tiện"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Đã kết nối với âm thanh điện thoại"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Đã kết nối với máy chủ chuyển tệp"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Sửa màu"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Tính năng này là tính năng thử nghiệm và có thể ảnh hưởng đến hoạt động."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Bị ghi đè bởi <xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Còn khoảng <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Còn khoảng <xliff:g id="TIME">%1$s</xliff:g> dựa trên mức sử dụng của bạn"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Còn <xliff:g id="TIME">%1$s</xliff:g> cho tới khi được sạc đầy"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Còn lại <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Còn <xliff:g id="TIME">%1$s</xliff:g> dựa trên mức sử dụng của bạn"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - còn khoảng <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - còn khoảng <xliff:g id="TIME">%2$s</xliff:g> dựa trên mức sử dụng của bạn"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - còn lại <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Còn khoảng <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Còn khoảng <xliff:g id="TIME">^1</xliff:g> dựa trên mức sử dụng của bạn"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Còn <xliff:g id="TIME">^1</xliff:g> cho tới khi được sạc đầy"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"Còn lại <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"Còn <xliff:g id="TIME">^1</xliff:g> dựa trên mức sử dụng của bạn"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - còn khoảng <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - còn khoảng <xliff:g id="TIME">^2</xliff:g> dựa trên mức sử dụng của bạn"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - còn lại <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> cho tới khi được sạc đầy"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> cho tới khi được sạc đầy"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Không xác định"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Đang sạc"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"đang sạc"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Do quản trị viên kiểm soát"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Kích hoạt bởi quản trị viên"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Bị quản trị viên vô hiệu hóa"</string> + <string name="disabled" msgid="9206776641295849915">"Đã tắt"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Được phép"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Không được phép"</string> + <string name="install_other_apps" msgid="6986686991775883017">"C.đặt ư.dụng ko xác định"</string> <string name="home" msgid="3256884684164448244">"Trang chủ cài đặt"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-zh-rCN/strings.xml b/packages/SettingsLib/res/values-zh-rCN/strings.xml index 7a932d914f50..43fa66e6bb6c 100644 --- a/packages/SettingsLib/res/values-zh-rCN/strings.xml +++ b/packages/SettingsLib/res/values-zh-rCN/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"网络质量较差,因此未连接"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"WLAN 连接失败"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"身份验证出现问题"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"无法连接"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"无法连接到“<xliff:g id="AP_NAME">%1$s</xliff:g>”"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"请检查密码,然后重试"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"不在范围内"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"无法自动连接"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"无法连接到互联网"</string> @@ -37,18 +40,12 @@ <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> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"很慢"</string> + <string name="speed_label_slow" msgid="813109590815810235">"慢"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"良好"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"适中"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"快"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"很快"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"已断开连接"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"正在断开连接..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"正在连接..."</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"已连接(无消息权限)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"已连接(没有手机或媒体信号)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"媒体音频"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"通话"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"文件传输"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"输入设备"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"互联网连接"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"共享联系人"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"用于共享联系人"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"共享互联网连接"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"短信"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"SIM 卡存取权限"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD 音频:<xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD 音频"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"已连接到媒体音频"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"已连接到手机音频"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"已连接到文件传输服务器"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"色彩校正"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"这是实验性功能,性能可能不稳定。"</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"已被“<xliff:g id="TITLE">%1$s</xliff:g>”覆盖"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"还剩大约 <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"根据您的使用情况,大约还可使用 <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"还需 <xliff:g id="TIME">%1$s</xliff:g>充满电"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"还可用 <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"根据您的使用情况,大约还可使用 <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - 大约还剩 <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - 根据您的使用情况,大约还可使用 <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - 还可用 <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"还剩大约 <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"根据您的使用情况,大约还可使用 <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"还需 <xliff:g id="TIME">^1</xliff:g>充满电"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"还可用 <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"根据您的使用情况,大约还可使用 <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - 大约还剩 <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - 根据您的使用情况,大约还可使用 <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - 还可用 <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - 还需 <xliff:g id="TIME">%2$s</xliff:g>充满"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - 还需 <xliff:g id="TIME">^2</xliff:g>充满"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"未知"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"正在充电"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"正在充电"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"由管理员控制"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"已被管理员启用"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"已被管理员停用"</string> + <string name="disabled" msgid="9206776641295849915">"已停用"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"允许"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"不允许"</string> + <string name="install_other_apps" msgid="6986686991775883017">"安装未知应用"</string> <string name="home" msgid="3256884684164448244">"设置主屏幕"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-zh-rHK/strings.xml b/packages/SettingsLib/res/values-zh-rHK/strings.xml index 28d5bf9a548f..41eb94f173b0 100644 --- a/packages/SettingsLib/res/values-zh-rHK/strings.xml +++ b/packages/SettingsLib/res/values-zh-rHK/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"網絡品質欠佳,因此無法連線"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"WiFi 連線失敗"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"驗證問題"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"無法連線"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"無法連線至「<xliff:g id="AP_NAME">%1$s</xliff:g>」"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"請檢查密碼,然後再試一次"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"超出可用範圍"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"不會自動連線"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"無法偵測互聯網連線"</string> @@ -37,18 +40,12 @@ <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> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"非常慢"</string> + <string name="speed_label_slow" msgid="813109590815810235">"慢"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"良好"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"適中"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"快"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"非常快"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"已中斷連線"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"正在中斷連線..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"正在連線..."</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"已連結 (無訊息存取權)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"已連線 (無手機或媒體)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"媒體音效"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"通話"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"檔案傳輸"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"輸入裝置"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"互聯網連線"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"聯絡人共用"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"用於聯絡人共用"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"互聯網連線分享"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"短訊"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"SIM 卡存取"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"高清音訊:<xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"高清音訊"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"已連接媒體音頻裝置"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"已連接手機耳機"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"已連線至檔案傳輸伺服器"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"色彩校正"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"這是實驗性功能,效能尚待改善。"</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"已由「<xliff:g id="TITLE">%1$s</xliff:g>」覆寫"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"剩餘約 <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"根據您的使用情況,剩餘約 <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">%1$s</xliff:g>後就能充滿電"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"尚餘 <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"根據您的使用情況,剩餘 <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - 剩餘約 <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - 根據您的使用情況,剩餘約 <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - 尚餘 <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"剩餘約 <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"根據您的使用情況,剩餘約 <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">^1</xliff:g>後就能充滿電"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"尚餘 <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"根據您的使用情況,剩餘 <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - 剩餘約 <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - 根據您的使用情況,剩餘約 <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - 尚餘 <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - 還需 <xliff:g id="TIME">%2$s</xliff:g>才能充滿電"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - 還需 <xliff:g id="TIME">^2</xliff:g>才能充滿電"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"未知"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"充電中"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"正在充電"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"已由管理員停用"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"已由管理員啟用"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"已由管理員停用"</string> + <string name="disabled" msgid="9206776641295849915">"已停用"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"允許"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"不允許"</string> + <string name="install_other_apps" msgid="6986686991775883017">"安裝不明的應用程式"</string> <string name="home" msgid="3256884684164448244">"主設定畫面"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-zh-rTW/strings.xml b/packages/SettingsLib/res/values-zh-rTW/strings.xml index d839cf44ec4f..d29d8d481d9b 100644 --- a/packages/SettingsLib/res/values-zh-rTW/strings.xml +++ b/packages/SettingsLib/res/values-zh-rTW/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"網路品質不佳,因此未連線"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"WiFi 連線失敗"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"驗證問題"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"無法連線"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"無法連線至「<xliff:g id="AP_NAME">%1$s</xliff:g>」"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"請檢查密碼,然後再試一次"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"不在有效範圍內"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"無法自動連線"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"沒有可用的網際網路連線"</string> @@ -37,18 +40,12 @@ <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> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"非常慢"</string> + <string name="speed_label_slow" msgid="813109590815810235">"慢"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"確定"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"適中"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"快"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"非常快"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"已中斷連線"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"正在中斷連線…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"連線中…"</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"已連線 (無訊息存取權)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"已連線 (無手機或媒體音訊)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"媒體音訊"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"通話"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"檔案傳輸"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"輸入裝置"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"網際網路連線"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"聯絡人共用"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"用於聯絡人共用"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"網際網路連線分享"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"簡訊"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"SIM 卡存取權"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD 高解析度音訊:<xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD 高解析度音訊"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"連接至媒體音訊"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"連接至電話音訊"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"已連線到檔案傳輸伺服器"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"色彩校正"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"這是一項實驗性功能,可能會對效能造成影響。"</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"已改為<xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"還有大約 <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"根據你的使用情形,剩餘時間大約還有 <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"再過 <xliff:g id="TIME">%1$s</xliff:g>就能完成充電"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"還剩 <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"根據你的使用情形,剩餘時間還有 <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - 約剩 <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - 根據你的使用情形,剩餘時間大約還有 <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - 還剩 <xliff:g id="TIME">%2$s</xliff:g>"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"還有大約 <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"根據你的使用情形,剩餘時間大約還有 <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"再過 <xliff:g id="TIME">^1</xliff:g>就能完成充電"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"還剩 <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"根據你的使用情形,剩餘時間還有 <xliff:g id="TIME">^1</xliff:g>"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - 約剩 <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - 根據你的使用情形,剩餘時間大約還有 <xliff:g id="TIME">^2</xliff:g>"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - 還剩 <xliff:g id="TIME">^2</xliff:g>"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g>後充飽"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>後充飽"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"不明"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"充電中"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"充電中"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"已由管理員停用"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"已由管理員啟用"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"已由管理員停用"</string> + <string name="disabled" msgid="9206776641295849915">"已停用"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"允許"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"不允許"</string> + <string name="install_other_apps" msgid="6986686991775883017">"安裝不明應用程式"</string> <string name="home" msgid="3256884684164448244">"設定主畫面"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/res/values-zu/strings.xml b/packages/SettingsLib/res/values-zu/strings.xml index 15fbbc520807..b2e5ae32029c 100644 --- a/packages/SettingsLib/res/values-zu/strings.xml +++ b/packages/SettingsLib/res/values-zu/strings.xml @@ -28,6 +28,9 @@ <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Ayixhunyiwe ngenxa yenethiwekhi yekhwalithi ephansi"</string> <string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Ukwehlulekla koxhumo le-WiFi"</string> <string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Inkinga yokufakazela ubuqiniso"</string> + <string name="wifi_cant_connect" msgid="5410016875644565884">"Ayikwazi ukuxhuma"</string> + <string name="wifi_cant_connect_to_ap" msgid="1222553274052685331">"Ayikwazi ukuxhumeka ku-\'<xliff:g id="AP_NAME">%1$s</xliff:g>\'"</string> + <string name="wifi_check_password_try_again" msgid="516958988102584767">"Hlola iphasiwedi uphinde uzame futhi"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Ayikho ebubanzini"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Ngeke ize ixhumeke ngokuzenzakalela"</string> <string name="wifi_no_internet" msgid="3880396223819116454">"Akukho ukufinyelela ku-inthanethi"</string> @@ -37,18 +40,12 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Kuxhumeke nge-%1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Iyatholakala nge-%1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Kuxhumekile, ayikho i-inthanethi"</string> - <!-- no translation found for speed_label_very_slow (1867055264243608530) --> - <skip /> - <!-- no translation found for speed_label_slow (813109590815810235) --> - <skip /> - <!-- no translation found for speed_label_okay (5941436233638654215) --> - <skip /> - <!-- no translation found for speed_label_medium (3175763313268941953) --> - <skip /> - <!-- no translation found for speed_label_fast (7715732164050975057) --> - <skip /> - <!-- no translation found for speed_label_very_fast (2265363430784523409) --> - <skip /> + <string name="speed_label_very_slow" msgid="1867055264243608530">"Phansi kakhulu"</string> + <string name="speed_label_slow" msgid="813109590815810235">"Phansi"</string> + <string name="speed_label_okay" msgid="2331665440671174858">"KULUNGILE"</string> + <string name="speed_label_medium" msgid="3175763313268941953">"Okumaphakathi"</string> + <string name="speed_label_fast" msgid="7715732164050975057">"Sheshayo"</string> + <string name="speed_label_very_fast" msgid="2265363430784523409">"Kushesha kakhulu"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Ayixhunyiwe"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Inqamula uxhumano kwi-inthanethi..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Iyaxhuma..."</string> @@ -59,21 +56,17 @@ <string name="bluetooth_connected_no_map" msgid="6504436917057479986">"Kuxhunyiwe (akukho ukufinyelela umlayezo)"</string> <string name="bluetooth_connected_no_headset_no_a2dp" msgid="9195757766755553810">"Ixhunyiwe (ayikho ifoni noma imidiya)"</string> <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Umsindo wemidiya"</string> - <!-- no translation found for bluetooth_profile_headset (7815495680863246034) --> - <skip /> + <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Amakholi efoni"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Dlulisa ifayela"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Idivaysi yokufakwayo"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Ukufinyelela i-Inthanethi"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Ukwabelana kokuxhumana"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Sebenzisela ukwabelana kokuxhumana"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Ukwabelana ngoxhumano lwe-Inthanethi"</string> - <!-- no translation found for bluetooth_profile_map (1019763341565580450) --> - <skip /> + <string name="bluetooth_profile_map" msgid="1019763341565580450">"Imilayezo yombhalo"</string> <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Ukufinyelela kwe-SIM"</string> - <!-- no translation found for bluetooth_profile_a2dp_high_quality (5444517801472820055) --> - <skip /> - <!-- no translation found for bluetooth_profile_a2dp_high_quality_unknown_codec (8510588052415438887) --> - <skip /> + <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"Umsindo we-HD: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> + <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"Umsindo we-HD"</string> <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Ixhume emsindweni wemidiya"</string> <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Ixhunywe kumsindo wefoni"</string> <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Ixhunywe kwiseva yokudlulisa ifayela"</string> @@ -336,17 +329,17 @@ <string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Ukulungiswa kombala"</string> <string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Lesi sici esesilingo futhi singathinta ukusebenza."</string> <string name="daltonizer_type_overridden" msgid="3116947244410245916">"Igitshezwe ngaphezulu yi-<xliff:g id="TITLE">%1$s</xliff:g>"</string> - <string name="power_remaining_duration_only" msgid="845431008899029842">"Cishe u-<xliff:g id="TIME">%1$s</xliff:g> osele"</string> - <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Cishe kusele okungu-<xliff:g id="TIME">%1$s</xliff:g> kusukela ekusetshenzisweni kwakho"</string> - <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">%1$s</xliff:g> kushiywe ishaja"</string> - <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">%1$s</xliff:g> esisele"</string> - <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"<xliff:g id="TIME">%1$s</xliff:g> esele kusukela ekusetshenzisweni kwakho"</string> - <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">%1$s</xliff:g> - cishe ngu-<xliff:g id="TIME">%2$s</xliff:g> osele"</string> - <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">%1$s</xliff:g> - cishe ngu-<xliff:g id="TIME">%2$s</xliff:g> osele kusukela ekusetshenzisweni kwakho"</string> - <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> okusele"</string> + <string name="power_remaining_duration_only" msgid="845431008899029842">"Cishe u-<xliff:g id="TIME">^1</xliff:g> osele"</string> + <string name="power_remaining_duration_only_enhanced" msgid="5992456722677973678">"Cishe kusele okungu-<xliff:g id="TIME">^1</xliff:g> kusukela ekusetshenzisweni kwakho"</string> + <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">^1</xliff:g> kushiywe ishaja"</string> + <string name="power_remaining_duration_only_short" msgid="5329694252258605547">"<xliff:g id="TIME">^1</xliff:g> esisele"</string> + <string name="power_remaining_duration_only_short_enhanced" msgid="7450425624026394823">"<xliff:g id="TIME">^1</xliff:g> esele kusukela ekusetshenzisweni kwakho"</string> + <string name="power_discharging_duration" msgid="2843747179907396142">"<xliff:g id="LEVEL">^1</xliff:g> - cishe ngu-<xliff:g id="TIME">^2</xliff:g> osele"</string> + <string name="power_discharging_duration_enhanced" msgid="4401782117770255046">"<xliff:g id="LEVEL">^1</xliff:g> - cishe ngu-<xliff:g id="TIME">^2</xliff:g> osele kusukela ekusetshenzisweni kwakho"</string> + <string name="power_discharging_duration_short" msgid="4192244429001842403">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> okusele"</string> <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> - <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> kuze ligcwale ngokuphelele"</string> - <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" msgid="4676999980973411875">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g> kuze ligcwale ngokuphelele"</string> + <string name="power_charging_duration_short" msgid="1098603958472207920">"<xliff:g id="LEVEL">^1</xliff:g> - <xliff:g id="TIME">^2</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Akwaziwa"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Iyashaja"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"iyashaja"</string> @@ -356,6 +349,10 @@ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Kulawulwa umqondisi"</string> <string name="enabled_by_admin" msgid="5302986023578399263">"Kunikwe amandla umlawuli"</string> <string name="disabled_by_admin" msgid="8505398946020816620">"Kukhutshazwe umlawuli"</string> + <string name="disabled" msgid="9206776641295849915">"Akusebenzi"</string> + <string name="external_source_trusted" msgid="2707996266575928037">"Kuvumelekile"</string> + <string name="external_source_untrusted" msgid="2677442511837596726">"Akuvumelekile"</string> + <string name="install_other_apps" msgid="6986686991775883017">"Faka izinhlelo zokusebenza ezingaziwa"</string> <string name="home" msgid="3256884684164448244">"Ikhaya lezilungiselelo"</string> <string-array name="battery_labels"> <item msgid="8494684293649631252">"0%"</item> diff --git a/packages/SettingsLib/src/com/android/settingslib/drawer/CategoryKey.java b/packages/SettingsLib/src/com/android/settingslib/drawer/CategoryKey.java index 9d09737a14dc..e067de1a5e7a 100644 --- a/packages/SettingsLib/src/com/android/settingslib/drawer/CategoryKey.java +++ b/packages/SettingsLib/src/com/android/settingslib/drawer/CategoryKey.java @@ -34,6 +34,8 @@ public final class CategoryKey { public static final String CATEGORY_SOUND = "com.android.settings.category.ia.sound"; public static final String CATEGORY_STORAGE = "com.android.settings.category.ia.storage"; public static final String CATEGORY_SECURITY = "com.android.settings.category.ia.security"; + public static final String CATEGORY_SECURITY_LOCKSCREEN = + "com.android.settings.category.ia.lockscreen"; public static final String CATEGORY_ACCOUNT = "com.android.settings.category.ia.accounts"; public static final String CATEGORY_SYSTEM = "com.android.settings.category.ia.system"; public static final String CATEGORY_SYSTEM_LANGUAGE = diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/drawer/CategoryKeyTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/drawer/CategoryKeyTest.java index 40353e7489b4..9fc8a9607cba 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/drawer/CategoryKeyTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/drawer/CategoryKeyTest.java @@ -54,13 +54,14 @@ public class CategoryKeyTest { allKeys.add(CategoryKey.CATEGORY_SOUND); allKeys.add(CategoryKey.CATEGORY_STORAGE); allKeys.add(CategoryKey.CATEGORY_SECURITY); + allKeys.add(CategoryKey.CATEGORY_SECURITY_LOCKSCREEN); allKeys.add(CategoryKey.CATEGORY_ACCOUNT); allKeys.add(CategoryKey.CATEGORY_SYSTEM); allKeys.add(CategoryKey.CATEGORY_SYSTEM_LANGUAGE); allKeys.add(CategoryKey.CATEGORY_SYSTEM_DEVELOPMENT); // DO NOT REMOVE ANYTHING ABOVE - assertThat(allKeys.size()).isEqualTo(13); + assertThat(allKeys.size()).isEqualTo(14); } } diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java index 455d9cb871c4..f5d7dd8d9acd 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java @@ -2212,11 +2212,7 @@ public class SettingsProvider extends ContentProvider { throw new IllegalStateException("Key is corrupted", e); } - // Mac the package name and each of the signatures. - final String packageName = callingPkg.packageName; - byte[] packageNameBytes = packageName.getBytes(StandardCharsets.UTF_8); - m.update(getLengthPrefix(packageNameBytes), 0, 4); - m.update(packageNameBytes); + // Mac each of the developer signatures. for (int i = 0; i < callingPkg.signatures.length; i++) { byte[] sig = callingPkg.signatures[i].toByteArray(); m.update(getLengthPrefix(sig), 0, 4); @@ -2231,7 +2227,7 @@ public class SettingsProvider extends ContentProvider { final String uid = Integer.toString(callingPkg.applicationInfo.uid); final SettingsState ssaidSettings = getSettingsLocked(SETTINGS_TYPE_SSAID, userId); final boolean success = ssaidSettings.insertSettingLocked(uid, ssaid, null, true, - packageName); + callingPkg.packageName); if (!success) { throw new IllegalStateException("Ssaid settings not accessible"); diff --git a/packages/SystemUI/plugin/src/com/android/systemui/plugins/NotificationListenerController.java b/packages/SystemUI/plugin/src/com/android/systemui/plugins/NotificationListenerController.java new file mode 100644 index 000000000000..fac9e98a6caf --- /dev/null +++ b/packages/SystemUI/plugin/src/com/android/systemui/plugins/NotificationListenerController.java @@ -0,0 +1,62 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the + * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +package com.android.systemui.plugins; + +import android.service.notification.NotificationListenerService.RankingMap; +import android.service.notification.StatusBarNotification; + +import com.android.systemui.plugins.NotificationListenerController.NotificationProvider; +import com.android.systemui.plugins.annotations.DependsOn; +import com.android.systemui.plugins.annotations.ProvidesInterface; + +@ProvidesInterface(action = NotificationListenerController.ACTION, + version = NotificationListenerController.VERSION) +@DependsOn(target = NotificationProvider.class) +public interface NotificationListenerController extends Plugin { + String ACTION = "com.android.systemui.action.PLUGIN_NOTIFICATION_ASSISTANT"; + int VERSION = 1; + + void onListenerConnected(NotificationProvider provider); + + default boolean onNotificationPosted(StatusBarNotification sbn, RankingMap rankingMap) { + return false; + } + default boolean onNotificationRemoved(StatusBarNotification sbn, RankingMap rankingMap) { + return false; + } + + default StatusBarNotification[] getActiveNotifications( + StatusBarNotification[] activeNotifications) { + return activeNotifications; + } + + default RankingMap getCurrentRanking(RankingMap currentRanking) { + return currentRanking; + } + + @ProvidesInterface(version = NotificationProvider.VERSION) + interface NotificationProvider { + int VERSION = 1; + + // Methods to get info about current notifications + StatusBarNotification[] getActiveNotifications(); + RankingMap getRankingMap(); + + // Methods to notify sysui of changes to notification list. + void addNotification(StatusBarNotification sbn); + void removeNotification(StatusBarNotification sbn); + void updateRanking(); + } +} diff --git a/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QSTile.java b/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QSTile.java index 7e7890dd6362..b4b4e19028b0 100644 --- a/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QSTile.java +++ b/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QSTile.java @@ -202,14 +202,20 @@ public interface QSTile { public static final int VERSION = 1; public boolean activityIn; public boolean activityOut; + public boolean isOverlayIconWide; + public int overlayIconId; @Override public boolean copyTo(State other) { final SignalState o = (SignalState) other; final boolean changed = o.activityIn != activityIn - || o.activityOut != activityOut; + || o.activityOut != activityOut + || o.isOverlayIconWide != isOverlayIconWide + || o.overlayIconId != overlayIconId; o.activityIn = activityIn; o.activityOut = activityOut; + o.isOverlayIconWide = isOverlayIconWide; + o.overlayIconId = overlayIconId; return super.copyTo(other) || changed; } diff --git a/packages/SystemUI/plugin/src/com/android/systemui/plugins/statusbar/NotificationMenuRowPlugin.java b/packages/SystemUI/plugin/src/com/android/systemui/plugins/statusbar/NotificationMenuRowPlugin.java index 28f78e58c05a..ecc2ff479112 100644 --- a/packages/SystemUI/plugin/src/com/android/systemui/plugins/statusbar/NotificationMenuRowPlugin.java +++ b/packages/SystemUI/plugin/src/com/android/systemui/plugins/statusbar/NotificationMenuRowPlugin.java @@ -15,6 +15,7 @@ package com.android.systemui.plugins.statusbar; import android.content.Context; +import android.service.notification.StatusBarNotification; import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; @@ -37,7 +38,7 @@ import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin.MenuItem public interface NotificationMenuRowPlugin extends Plugin { public static final String ACTION = "com.android.systemui.action.PLUGIN_NOTIFICATION_MENU_ROW"; - public static final int VERSION = 2; + public static final int VERSION = 3; @ProvidesInterface(version = OnMenuEventListener.VERSION) public interface OnMenuEventListener { @@ -77,7 +78,7 @@ public interface NotificationMenuRowPlugin extends Plugin { public void setAppName(String appName); - public void createMenu(ViewGroup parent); + public void createMenu(ViewGroup parent, StatusBarNotification sbn); public View getMenuView(); @@ -89,10 +90,14 @@ public interface NotificationMenuRowPlugin extends Plugin { public void onHeightUpdate(); - public void onNotificationUpdated(); + public void onNotificationUpdated(StatusBarNotification sbn); public boolean onTouchEvent(View view, MotionEvent ev, float velocity); + public default boolean onInterceptTouchEvent(View view, MotionEvent ev) { + return false; + } + public default boolean useDefaultMenuItems() { return false; } diff --git a/packages/SystemUI/res-keyguard/values-h560dp/dimens.xml b/packages/SystemUI/res-keyguard/values-h560dp/dimens.xml index 3fb86d03a167..1b6fa4cf4892 100644 --- a/packages/SystemUI/res-keyguard/values-h560dp/dimens.xml +++ b/packages/SystemUI/res-keyguard/values-h560dp/dimens.xml @@ -16,5 +16,5 @@ --> <resources> - <dimen name="widget_big_font_size">64dp</dimen> + <dimen name="widget_big_font_size">72dp</dimen> </resources>
\ No newline at end of file diff --git a/packages/SystemUI/res-keyguard/values-h650dp/dimens.xml b/packages/SystemUI/res-keyguard/values-h650dp/dimens.xml index 3fb86d03a167..1b6fa4cf4892 100644 --- a/packages/SystemUI/res-keyguard/values-h650dp/dimens.xml +++ b/packages/SystemUI/res-keyguard/values-h650dp/dimens.xml @@ -16,5 +16,5 @@ --> <resources> - <dimen name="widget_big_font_size">64dp</dimen> + <dimen name="widget_big_font_size">72dp</dimen> </resources>
\ No newline at end of file diff --git a/packages/SystemUI/res-keyguard/values/dimens.xml b/packages/SystemUI/res-keyguard/values/dimens.xml index 3ca6e6944a32..41c723e3daf7 100644 --- a/packages/SystemUI/res-keyguard/values/dimens.xml +++ b/packages/SystemUI/res-keyguard/values/dimens.xml @@ -41,7 +41,7 @@ <!-- Default clock parameters --> <dimen name="bottom_text_spacing_digital">-1dp</dimen> <dimen name="widget_label_font_size">14sp</dimen> - <dimen name="widget_big_font_size">64dp</dimen> + <dimen name="widget_big_font_size">72dp</dimen> <!-- The y translation to apply at the start in appear animations. --> <dimen name="appear_y_translation_start">32dp</dimen> diff --git a/packages/SystemUI/res/drawable/ic_qs_data_disabled.xml b/packages/SystemUI/res/drawable/ic_qs_data_disabled.xml index 6264484a74d8..8b5e4b0a6da0 100644 --- a/packages/SystemUI/res/drawable/ic_qs_data_disabled.xml +++ b/packages/SystemUI/res/drawable/ic_qs_data_disabled.xml @@ -14,10 +14,11 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="17dp" - android:height="17.0dp" - android:viewportWidth="24.0" - android:viewportHeight="24.0"> + android:width="24dp" + android:height="24.0dp" + android:viewportWidth="40.0" + android:viewportHeight="40.0" + android:tint="?android:attr/colorControlNormal"> <path android:fillColor="#FFFFFFFF" android:pathData="M19.0,6.41L17.59,5.0 12.0,10.59 6.41,5.0 5.0,6.41 10.59,12.0 5.0,17.59 6.41,19.0 12.0,13.41 17.59,19.0 19.0,17.59 13.41,12.0z"/> diff --git a/packages/SystemUI/res/drawable/ic_qs_signal_1x.xml b/packages/SystemUI/res/drawable/ic_qs_signal_1x.xml new file mode 100644 index 000000000000..15d521fbeb4e --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_signal_1x.xml @@ -0,0 +1,28 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24.0dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?android:attr/colorControlNormal"> + <path + android:fillColor="#FFFFFFFF" + android:pathData="M3.500000,11.000000L1.800000,11.000000L1.800000,4.400000L0.200000,5.100000L0.200000,3.700000l3.100000,-1.300000l0.200000,0.000000L3.500000,11.000000z"/> + <path + android:fillColor="#FFFFFFFF" + android:pathData="M8.600000,5.500000l1.200000,-3.000000l1.900000,0.000000L9.700000,6.700000l2.200000,4.300000L9.900000,11.000000L8.700000,7.900000L7.400000,11.000000L5.500000,11.000000l2.100000,-4.300000L5.600000,2.500000l1.900000,0.000000L8.600000,5.500000z"/> +</vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_signal_3g.xml b/packages/SystemUI/res/drawable/ic_qs_signal_3g.xml new file mode 100644 index 000000000000..ce37331dd62d --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_signal_3g.xml @@ -0,0 +1,28 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?android:attr/colorControlNormal"> + <path + android:fillColor="#FFFFFFFF" + android:pathData="M2.000000,6.000000l0.800000,0.000000c0.300000,0.000000 0.500000,-0.100000 0.700000,-0.300000s0.200000,-0.500000 0.200000,-0.900000c0.000000,-0.300000 -0.100000,-0.600000 -0.200000,-0.800000S3.200000,3.700000 2.900000,3.700000C2.700000,3.700000 2.500000,3.800000 2.300000,4.000000S2.100000,4.400000 2.100000,4.700000L0.500000,4.700000C0.500000,4.000000 0.700000,3.400000 1.100000,3.000000s1.000000,-0.600000 1.700000,-0.600000c0.800000,0.000000 1.400000,0.200000 1.900000,0.600000s0.700000,1.000000 0.700000,1.800000c0.000000,0.400000 -0.100000,0.700000 -0.300000,1.100000S4.600000,6.500000 4.300000,6.600000C4.700000,6.800000 5.000000,7.100000 5.200000,7.400000s0.300000,0.700000 0.300000,1.200000c0.000000,0.800000 -0.200000,1.400000 -0.700000,1.800000s-1.100000,0.700000 -1.900000,0.700000c-0.700000,0.000000 -1.300000,-0.200000 -1.800000,-0.600000s-0.700000,-1.000000 -0.700000,-1.800000L2.000000,8.700000C2.000000,9.000000 2.100000,9.300000 2.300000,9.500000s0.400000,0.300000 0.600000,0.300000c0.300000,0.000000 0.500000,-0.100000 0.700000,-0.300000S3.900000,9.000000 3.900000,8.600000c0.000000,-0.500000 -0.100000,-0.800000 -0.300000,-1.000000S3.200000,7.300000 2.800000,7.300000L2.000000,7.300000L2.000000,6.000000z"/> + <path + android:fillColor="#FFFFFFFF" + android:pathData="M12.500000,9.900000c-0.200000,0.400000 -0.600000,0.700000 -1.000000,0.900000s-1.000000,0.400000 -1.800000,0.400000c-0.900000,0.000000 -1.700000,-0.300000 -2.200000,-0.800000S6.700000,9.000000 6.700000,7.900000L6.700000,5.600000c0.000000,-1.100000 0.300000,-1.900000 0.800000,-2.400000s1.200000,-0.800000 2.100000,-0.800000c1.000000,0.000000 1.700000,0.200000 2.100000,0.700000s0.700000,1.200000 0.700000,2.100000l-1.600000,0.000000c0.000000,-0.500000 -0.100000,-0.900000 -0.200000,-1.100000s-0.500000,-0.300000 -0.900000,-0.300000c-0.400000,0.000000 -0.700000,0.200000 -0.900000,0.500000S8.400000,5.000000 8.400000,5.600000l0.000000,2.300000c0.000000,0.700000 0.100000,1.100000 0.300000,1.400000s0.600000,0.500000 1.000000,0.500000c0.300000,0.000000 0.600000,0.000000 0.700000,-0.100000s0.300000,-0.200000 0.400000,-0.300000L10.799999,7.800000L9.600000,7.800000L9.600000,6.600000l2.900000,0.000000L12.500000,9.900000z"/> +</vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_signal_4g.xml b/packages/SystemUI/res/drawable/ic_qs_signal_4g.xml new file mode 100644 index 000000000000..4a8d0abf755a --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_signal_4g.xml @@ -0,0 +1,28 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24.0dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?android:attr/colorControlNormal"> + <path + android:fillColor="#FFFFFFFF" + android:pathData="M4.600000,7.800000l0.700000,0.000000l0.000000,1.300000L4.600000,9.100000L4.600000,11.000000L3.000000,11.000000L3.000000,9.200000L0.100000,9.200000L0.000000,8.100000L3.000000,2.500000l1.700000,0.000000L4.700000,7.800000zM1.600000,7.800000L3.000000,7.800000l0.000000,-3.000000L2.900000,5.000000L1.600000,7.800000z"/> + <path + android:fillColor="#FFFFFFFF" + android:pathData="M11.900000,9.900000c-0.200000,0.400000 -0.600000,0.700000 -1.000000,0.900000s-1.000000,0.400000 -1.800000,0.400000c-0.900000,0.000000 -1.700000,-0.300000 -2.200000,-0.800000S6.100000,9.000000 6.100000,7.900000L6.100000,5.600000c0.000000,-1.100000 0.300000,-1.900000 0.800000,-2.400000S8.100000,2.400000 9.000000,2.400000c1.000000,0.000000 1.700000,0.200000 2.100000,0.700000s0.700000,1.200000 0.700000,2.100000l-1.600000,0.000000c0.000000,-0.500000 -0.100000,-0.900000 -0.200000,-1.100000S9.500000,3.700000 9.000000,3.700000c-0.400000,0.000000 -0.700000,0.200000 -0.900000,0.500000S7.700000,5.000000 7.700000,5.600000l0.000000,2.300000c0.000000,0.700000 0.100000,1.100000 0.300000,1.400000s0.600000,0.500000 1.000000,0.500000c0.300000,0.000000 0.600000,0.000000 0.700000,-0.100000s0.300000,-0.200000 0.400000,-0.300000L10.099999,7.800000L9.000000,7.800000L9.000000,6.600000l2.900000,0.000000L11.900000,9.900000z"/> +</vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_signal_4g_plus.xml b/packages/SystemUI/res/drawable/ic_qs_signal_4g_plus.xml new file mode 100644 index 000000000000..e0c6b68cf618 --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_signal_4g_plus.xml @@ -0,0 +1,31 @@ +<!-- + Copyright (C) 2016 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24.0dp" + android:height="24.0dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?android:attr/colorControlNormal"> + <path + android:fillColor="#FFFFFFFF" + android:pathData="M4.6,7.8l0.7,0.0l0.0,1.3L4.6,9.1L4.6,11.0L3.0,11.0L3.0,9.2L0.1,9.2L0.0,8.2l3.0,-5.7l1.7,0.0L4.6,7.8L4.6,7.8zM1.7,7.8L3.0,7.8l0.0,-3.0L2.9,5.0L1.7,7.8z"/> + <path + android:fillColor="#FFFFFFFF" + android:pathData="M11.9,9.9c-0.2,0.4 -0.6,0.7 -1.0,0.9s-1.0,0.4 -1.8,0.4c-0.9,0.0 -1.7,-0.3 -2.2,-0.8S6.1,9.0 6.1,7.9L6.1,5.6c0.0,-1.1 0.3,-1.9 0.8,-2.4S8.2,2.4 9.0,2.4c1.0,0.0 1.7,0.2 2.1,0.7s0.7,1.2 0.7,2.1l-1.6,0.0c0.0,-0.5 -0.1,-0.9 -0.2,-1.1S9.5,3.7 9.0,3.7c-0.4,0.0 -0.7,0.2 -0.9,0.5S7.8,5.0 7.8,5.6l0.0,2.3c0.0,0.7 0.1,1.1 0.3,1.4c0.2,0.3 0.6,0.5 1.0,0.5c0.3,0.0 0.6,0.0 0.7,-0.1s0.3,-0.2 0.4,-0.3L10.2,7.8L9.0,7.8L9.0,6.6l2.9,0.0L11.9,9.9z"/> + <path + android:fillColor="#FFFFFFFF" + android:pathData="M17.7,4.4l-1.900001,0.0 0.0,-1.9 -1.2,0.0 0.0,1.9 -1.900001,0.0 0.0,1.2 1.900001,0.0 0.0,1.9 1.2,0.0 0.0,-1.9 1.900001,0.0z"/> +</vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_signal_disabled.xml b/packages/SystemUI/res/drawable/ic_qs_signal_disabled.xml new file mode 100644 index 000000000000..c841a66fa8f4 --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_signal_disabled.xml @@ -0,0 +1,29 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:autoMirrored="true" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?android:attr/colorControlNormal"> + <path + android:fillColor="#FFFFFFFF" + android:pathData="M21.799999,22.299999l-1.199999,-1.299999 0.000000,0.000000 -9.600000,-10.000000 0.000000,0.000000 -6.400000,-6.700000 -1.300000,1.300000 6.400000,6.700000 -8.700000,8.700000 16.900000,0.000000 2.600000,2.700001z"/> + <path + android:fillColor="#FFFFFFFF" + android:pathData="M21.000000,1.000000l-8.600000,8.600000 8.600000,9.100000z"/> +</vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_signal_e.xml b/packages/SystemUI/res/drawable/ic_qs_signal_e.xml new file mode 100644 index 000000000000..552550883c10 --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_signal_e.xml @@ -0,0 +1,28 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?android:attr/colorControlNormal"> + <group + android:translateX="3.5" > + <path + android:fillColor="#FFFFFFFF" + android:pathData="M4.400000,7.300000L1.700000,7.300000l0.000000,2.400000l3.300000,0.000000L5.000000,11.000000L0.000000,11.000000L0.000000,2.500000l4.900000,0.000000l0.000000,1.300000L1.700000,3.800000l0.000000,2.100000l2.800000,0.000000L4.500000,7.300000z"/> + </group> +</vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_signal_g.xml b/packages/SystemUI/res/drawable/ic_qs_signal_g.xml new file mode 100644 index 000000000000..f499fe756484 --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_signal_g.xml @@ -0,0 +1,27 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?android:attr/colorControlNormal"> + <group android:translateX="3.5" > + <path + android:fillColor="#FFFFFFFF" + android:pathData="M6.500000,9.900000c-0.200000,0.400000 -0.600000,0.700000 -1.000000,0.900000s-1.000000,0.400000 -1.800000,0.400000c-0.900000,0.000000 -1.700000,-0.300000 -2.200000,-0.800000S0.700000,9.000000 0.700000,7.900000L0.700000,5.600000c0.000000,-1.100000 0.300000,-1.900000 0.800000,-2.400000s1.200000,-0.800000 2.100000,-0.800000c1.000000,0.000000 1.700000,0.200000 2.100000,0.700000s0.700000,1.200000 0.700000,2.100000L4.700000,5.200000c0.000000,-0.500000 -0.100000,-0.900000 -0.200000,-1.100000S4.000000,3.700000 3.600000,3.700000c-0.400000,0.000000 -0.700000,0.200000 -0.900000,0.500000S2.300000,5.000000 2.300000,5.600000l0.000000,2.300000c0.000000,0.700000 0.100000,1.100000 0.300000,1.400000s0.600000,0.500000 1.000000,0.500000c0.300000,0.000000 0.600000,0.000000 0.700000,-0.100000s0.300000,-0.200000 0.400000,-0.300000L4.700000,7.800000L3.500000,7.800000L3.500000,6.600000l2.900000,0.000000L6.400000,9.900000z"/> + </group> +</vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_signal_h.xml b/packages/SystemUI/res/drawable/ic_qs_signal_h.xml new file mode 100644 index 000000000000..2e6ea23b01e0 --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_signal_h.xml @@ -0,0 +1,28 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?android:attr/colorControlNormal"> + <group + android:translateX="3.5" > + <path + android:fillColor="#FFFFFFFF" + android:pathData="M6.000000,11.000000L4.400000,11.000000L4.400000,7.500000L1.700000,7.500000L1.700000,11.000000L0.000000,11.000000L0.000000,2.500000l1.700000,0.000000l0.000000,3.700000l2.700000,0.000000L4.400000,2.500000L6.000000,2.500000L6.000000,11.000000z"/> + </group> +</vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_signal_lte.xml b/packages/SystemUI/res/drawable/ic_qs_signal_lte.xml new file mode 100644 index 000000000000..af9c446ce5e9 --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_signal_lte.xml @@ -0,0 +1,31 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?android:attr/colorControlNormal"> + <path + android:fillColor="#FFFFFFFF" + android:pathData="M2.000000,9.700000l2.000000,0.000000L4.000000,11.000000L0.300000,11.000000L0.300000,2.500000L2.000000,2.500000L2.000000,9.700000z"/> + <path + android:fillColor="#FFFFFFFF" + android:pathData="M8.300000,3.800000L7.000000,3.800000L7.000000,11.000000L5.300000,11.000000L5.300000,3.800000L4.000000,3.800000L4.000000,2.500000l4.300000,0.000000L8.300000,3.800000z"/> + <path + android:fillColor="#FFFFFFFF" + android:pathData="M12.400000,7.300000l-1.700000,0.000000l0.000000,2.400000l2.100000,0.000000L12.799999,11.000000L9.000000,11.000000L9.000000,2.500000l3.700000,0.000000l0.000000,1.300000l-2.100000,0.000000l0.000000,2.100000l1.700000,0.000000L12.300000,7.300000z"/> +</vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_signal_lte_plus.xml b/packages/SystemUI/res/drawable/ic_qs_signal_lte_plus.xml new file mode 100644 index 000000000000..5ff7d8575a77 --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_signal_lte_plus.xml @@ -0,0 +1,34 @@ +<!-- + Copyright (C) 2016 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24.0dp" + android:height="24.0dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?android:attr/colorControlNormal"> + <path + android:fillColor="#FFFFFFFF" + android:pathData="M2.0,9.7l2.0,0.0L4.0,11.0L0.4,11.0L0.4,2.5L2.0,2.5L2.0,9.7z"/> + <path + android:fillColor="#FFFFFFFF" + android:pathData="M8.3,3.8L7.0,3.8L7.0,11.0L5.4,11.0L5.4,3.8L4.0,3.8L4.0,2.5l4.3,0.0L8.3,3.8z"/> + <path + android:fillColor="#FFFFFFFF" + android:pathData="M12.4,7.3l-1.7,0.0l0.0,2.4l2.1,0.0L12.799999,11.0L9.0,11.0L9.0,2.5l3.7,0.0l0.0,1.3l-2.1,0.0l0.0,2.1l1.7,0.0L12.4,7.3L12.4,7.3z"/> + <path + android:fillColor="#FFFFFFFF" + android:pathData="M18.4,4.4l-1.9,0.0 0.0,-1.9 -1.2,0.0 0.0,1.9 -1.900001,0.0 0.0,1.2 1.900001,0.0 0.0,1.9 1.2,0.0 0.0,-1.9 1.9,0.0z"/> +</vector> diff --git a/packages/SystemUI/res/layout/quick_status_bar_expanded_header.xml b/packages/SystemUI/res/layout/quick_status_bar_expanded_header.xml index 885e3f38d92b..2ff626aa89a9 100644 --- a/packages/SystemUI/res/layout/quick_status_bar_expanded_header.xml +++ b/packages/SystemUI/res/layout/quick_status_bar_expanded_header.xml @@ -54,15 +54,10 @@ android:textColor="?android:attr/textColorPrimary" android:singleLine="true" /> - <FrameLayout - android:id="@+id/system_icons_container" - android:layout_width="wrap_content" + <com.android.systemui.BatteryMeterView android:id="@+id/battery" android:layout_height="match_parent" - android:layout_gravity="center_vertical"> - - <include layout="@layout/system_icons" /> - - </FrameLayout> + android:layout_width="wrap_content" + /> <com.android.systemui.statusbar.policy.Clock android:id="@+id/clock" diff --git a/packages/SystemUI/res/values-af/strings.xml b/packages/SystemUI/res/values-af/strings.xml index db8edff05059..dc2fe0904f65 100644 --- a/packages/SystemUI/res/values-af/strings.xml +++ b/packages/SystemUI/res/values-af/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Soek"</string> <string name="description_direction_up" msgid="7169032478259485180">"Gly op vir <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Gly links vir <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Jy sal nie deur klanke en vibrasies gesteur word nie, afgesien van wekkers, onthounotas, gebeurtenisse en bellers wat jy spesifiseer."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Jy sal nie deur geluide en vibrasies gepla word nie, behalwe deur wekkers, herinneringe, geleenthede en bellers wat jy spesifiseer. Jy sal steeds enigiets hoor wat jy kies om te speel, insluitend musiek, video\'s en speletjies."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Jy sal nie deur geluide en vibrasies gepla word nie, behalwe deur wekkers. Jy sal steeds enigiets hoor wat jy kies om te speel, insluitend musiek, video\'s en speletjies."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Pasmaak"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Dit blokkeer ALLE klanke en vibrasies, insluitend van wekkers, musiek, video\'s en speletjies af. Jy sal steeds foonoproepe kan maak."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Dit blokkeer ALLE klanke en vibrasies, insluitend van wekkers, musiek, video\'s en speletjies af."</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Nee dankie"</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"Stel op"</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">"Beëindig nou"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Skakel nou af"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Vou uit"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Vou in"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"Skerm is vasgespeld"</string> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Jy sal nie meer hierdie kennisgewings kry nie"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> kennisgewingkategorieë"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Hierdie program het nie kennisgewingkategorieë nie"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Kennisgewings van hierdie program af kan nie afgeskakel word nie"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">1 uit <xliff:g id="NUMBER_1">%d</xliff:g> kennisgewingkategorieë van hierdie program</item> <item quantity="one">1 uit <xliff:g id="NUMBER_0">%d</xliff:g> kennisgewingkategorie van hierdie program</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"kennisgewing-sluimeropsies"</string> <string name="snooze_undo" msgid="6074877317002985129">"ONTDOEN"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Sluimer vir <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d uur</item> + <item quantity="one">%d uur</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d minute</item> + <item quantity="one">%d minuut</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Batterygebruik"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Batterybespaarder is nie beskikbaar wanneer gelaai word nie"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Batterybespaarder"</string> diff --git a/packages/SystemUI/res/values-am/strings.xml b/packages/SystemUI/res/values-am/strings.xml index b641a4975d35..a2121fb509c7 100644 --- a/packages/SystemUI/res/values-am/strings.xml +++ b/packages/SystemUI/res/values-am/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"ፍለጋ"</string> <string name="description_direction_up" msgid="7169032478259485180">"ለ<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ወደ ላይ አንሸራትት።"</string> <string name="description_direction_left" msgid="7207478719805562165">"ለ<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ወደ ግራ አንሸራትት።"</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"እርስዎ ከገለጿቸው ማንቂያዎች፣ አስታዋሾች፣ ክስተቶች እና ደዋዮች በስተቀር በድምጾች እና ንዝረቶች አይረበሹም።"</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"እርስዎ ከወሰንዋቸው ማንቂያዎች፣ አስታዋሾች፣ ክስተቶች እና ደዋዮች በስተቀር፣ በድምጾች እና ንዝረቶች አይረበሹም። ሙዚቃ፣ ቪዲዮዎች እና ጨዋታዎች ጨምሮ ለመጫወት የሚመርጡትን ማንኛውም ነገር አሁንም ይሰማሉ።"</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"ከማንቂያዎች በስተቀር፣ በድምጾች እና ንዝረቶች አይረበሹም። ሙዚቃ፣ ቪዲዮዎች እና ጨዋታዎች ጨምሮ ለመጫወት የሚመርጡትን ማንኛውም ነገር አሁንም ይሰማሉ።"</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"አብጅ"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"ይሄ ማንቂያዎችን፣ ሙዚቃን፣ ቪዲዮዎችን እና ጨዋታዎችንም ጨምሮ ሁሉንም ድምጾች እና ንዝረቶች ያጠፋል። አሁንም የድምጽ ጥሪዎችን ማድረግ ይችላሉ።"</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"ይሄ ማንቂያዎችን፣ ሙዚቃን፣ ቪዲዮዎችን እና ጨዋታዎችንም ጨምሮ ሁሉንም ድምጾች እና ንዝረቶች ያጠፋል።"</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"አይ፣ አመሰግናለሁ"</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="volume_zen_end_now" msgid="6930243045593601084">"አሁን አጥፋ"</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> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"እነዚህን ማሳወቂያዎች ከእንግዲህ አያገኟቸውም"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> የማሳወቂያ ምድቦች"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"ይህ መተግበሪያ የማሳወቂያ ምድቦች የሉትም"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"ከዚህ መተግበሪያ የሚመጡ ማሳወቂያዎች ሊጠፉ አይችሉም"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="one">1 ከ<xliff:g id="NUMBER_1">%d</xliff:g> የማሳወቂያ ምድቦች ከዚህ መተግበሪያ</item> <item quantity="other">1 <xliff:g id="NUMBER_1">%d</xliff:g> የማሳወቂያ ምድቦች ከዚህ መተግበሪያ</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"የማሳወቂያ ማሸለቢያ አማራጮች"</string> <string name="snooze_undo" msgid="6074877317002985129">"ቀልብስ"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"ለ<xliff:g id="TIME_AMOUNT">%1$s</xliff:g> አሸልቧል"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="one"> %d ሰዓቶች</item> + <item quantity="other"> %d ሰዓቶች</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="one"> %d ደቂቃዎች</item> + <item quantity="other"> %d ደቂቃዎች</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"የባትሪ አጠቃቀም"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"ኃይል በሚሞላበት ጊዜ ባትሪ ቆጣቢ አይገኝም"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"ባትሪ ቆጣቢ"</string> diff --git a/packages/SystemUI/res/values-ar/strings.xml b/packages/SystemUI/res/values-ar/strings.xml index e37152f7dbb1..1f1b3b3dda6e 100644 --- a/packages/SystemUI/res/values-ar/strings.xml +++ b/packages/SystemUI/res/values-ar/strings.xml @@ -360,7 +360,8 @@ <string name="description_target_search" msgid="3091587249776033139">"بحث"</string> <string name="description_direction_up" msgid="7169032478259485180">"تمرير لأعلى لـ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"تمرير لليسار لـ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"لن يتم إزعاجك بأصوات أو اهتزاز، عدا من التنبيهات والتذكيرات والأحداث والمتصلين الذين تحددهم."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"لن يتم إزعاجك بالأصوات والاهتزاز، عدا من التنبيهات والتذكيرات والأحداث والمتصلين الذين تحددهم. وسيظل بإمكانك سماع أي عناصر أخرى تختار تشغيلها، بما في ذلك الموسيقى ومقاطع الفيديو والألعاب."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"لن يتم إزعاجك بالأصوات والاهتزاز، عدا من التنبيهات. وسيظل بإمكانك سماع أي عناصر أخرى تختار تشغيلها، بما في ذلك الموسيقى ومقاطع الفيديو والألعاب."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"تخصيص"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"سيؤدي هذا إلى حظر جميع الأصوات والاهتزازات، بما في ذلك ما يرد من التنبيهات والموسيقى والفيديو والألعاب. إلا أنه سيظل بإمكانك إجراء مكالمات هاتفية."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"سيؤدي هذا إلى حظر جميع الأصوات والاهتزازات، بما في ذلك ما يرد من التنبيهات والموسيقى والفيديو والألعاب."</string> @@ -482,7 +483,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"لا، شكرًا"</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="volume_zen_end_now" msgid="6930243045593601084">"إيقاف التشغيل الآن"</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> @@ -560,8 +561,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"لن تتلقى هذه الإشعارات بعد الآن."</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> فئة إشعار"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"لا يحتوي هذا التطبيق على فئات إشعار"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"لا يمكن إيقاف الإشعارات من هذا التطبيق"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="zero">1 من إجمالي <xliff:g id="NUMBER_1">%d</xliff:g> فئة إشعار من هذا التطبيق</item> <item quantity="two">1 من إجمالي فئتي إشعار (<xliff:g id="NUMBER_1">%d</xliff:g>) من هذا التطبيق</item> @@ -591,8 +591,22 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"خيارات تأجيل الإشعارات"</string> <string name="snooze_undo" msgid="6074877317002985129">"تراجع"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"تم تأجيل الإشعار لمدة <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="zero">%d ساعة</item> + <item quantity="two">ساعتان (%d)</item> + <item quantity="few">%d ساعات</item> + <item quantity="many">%d ساعة</item> + <item quantity="other">%d ساعة</item> + <item quantity="one">ساعة واحدة</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="zero">%d دقيقة</item> + <item quantity="two">دقيقتان (%d)</item> + <item quantity="few">%d دقائق</item> + <item quantity="many">%d دقيقة</item> + <item quantity="other">%d دقيقة</item> + <item quantity="one">دقيقة واحدة</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"استخدام البطارية"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"وضع توفير شحن البطارية غير متاح أثناء الشحن."</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"توفير شحن البطارية"</string> diff --git a/packages/SystemUI/res/values-az/strings.xml b/packages/SystemUI/res/values-az/strings.xml index ddb1848cdf99..dde90ae512b0 100644 --- a/packages/SystemUI/res/values-az/strings.xml +++ b/packages/SystemUI/res/values-az/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Axtar"</string> <string name="description_direction_up" msgid="7169032478259485180">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> üçün yuxarı sürüşdürün."</string> <string name="description_direction_left" msgid="7207478719805562165">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> üçün sola sürüşdür."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Zəng, xatırlatma, hadisə və seçdiyiniz zəng edənlər istisna olmaqla səs və vibrasiya Sizi narahat etməyəcək."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Seçdiyiniz siqnal, xatırladıcı, tədbir və zənglər istisna olmaqla səslər və vibrasiyalar Sizi narahat etməyəcək. Musiqi, video və oyunlar da daxil olmaqla oxutmaq istədiyiniz hər şeyi eşidəcəksiniz."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Siqnallar istisna olmaqla səslər və vibrasiyalar Sizi narahat etməyəcək. Musiqi, video və oyunlar da daxil olmaqla oxutmaq istədiyiniz hər şeyi eşidəcəksiniz."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Fərdiləşdirin"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Bu, zəng, musiqi, video və oyunlar daxil olmaqla BÜTÜN səs və vibrasiyanı bloklayır. Yenə də telefon zəngi edə bilərsiniz."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Bu, zəng, musiqi, video və oyunlar daxil olmaqla BÜTÜN səs və vibrasiyanı bloklayır."</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Yox, çox sağ olun"</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"Quraşdırın"</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">"İndi qurtarın"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"İndi deaktiv edin"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Genişləndirin"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Yığcamlaşdırın"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"Ekrana sancaq taxıldı"</string> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Bu bildirişlər daha sizə göndərilməyəcək"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> bildiriş kateqoriyaları"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Bu tətbiqin bildiriş kateqoriyası yoxdur"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Bu tətbiqin bildirişləri deaktiv edilə bilməz"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">Bu tətbiqin <xliff:g id="NUMBER_1">%d</xliff:g> bildiriş kateqoriyasından 1 kanal</item> <item quantity="one">Bu tətbiqin <xliff:g id="NUMBER_0">%d</xliff:g> bildiriş kateqoriyasından 1 kanal</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"bildiriş təxirə salma seçimləri"</string> <string name="snooze_undo" msgid="6074877317002985129">"GERİ QAYTARIN"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"<xliff:g id="TIME_AMOUNT">%1$s</xliff:g> üçün təxirə salınıb"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other"> %d saat</item> + <item quantity="one">%d saat</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d dəqiqə</item> + <item quantity="one">%d dəqiqə</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Batareya istifadəsi"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Enerji Qənaəti doldurulma zamanı əlçatan deyil"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Enerji Qənaəti"</string> diff --git a/packages/SystemUI/res/values-b+sr+Latn/strings.xml b/packages/SystemUI/res/values-b+sr+Latn/strings.xml index 42a3aecd0107..5fcc1bbeb5de 100644 --- a/packages/SystemUI/res/values-b+sr+Latn/strings.xml +++ b/packages/SystemUI/res/values-b+sr+Latn/strings.xml @@ -354,7 +354,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Pretraga"</string> <string name="description_direction_up" msgid="7169032478259485180">"Prevucite nagore za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Prevucite ulevo za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Neće vas uznemiravati zvukovi i vibracije, osim za alarme, podsetnike, događaje i pozivaoce koje izaberete."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Neće vas uznemiravati zvukovi i vibracije osim za alarme, podsetnike, događaje i pozivaoce koje navedete. I dalje ćete čuti sve što odaberete da pustite, uključujući muziku, video snimke i igre."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Neće vas uznemiravati zvukovi i vibracije osim za alarme. I dalje ćete čuti sve što odaberete da pustite, uključujući muziku, video snimke i igre."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Prilagodi"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Ovo blokira SVE zvukove i vibracije uključujući alarme, muziku, video snimke i igre. I dalje ćete moći da upućujete pozive."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Ovo blokira SVE zvukove i vibracije uključujući alarme, muziku, video snimke i igre."</string> @@ -476,7 +477,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Ne, hvala"</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"Aktiviraj"</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">"Prekini odmah"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Isključi odmah"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Proširi"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Skupi"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"Ekran je zakačen"</string> @@ -554,8 +555,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Više nećete dobijati ova obaveštenja"</string> <string name="notification_num_channels" msgid="2048144408999179471">"Kategorija obaveštenja: <xliff:g id="NUMBER">%d</xliff:g>"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Ova aplikacija nema kategorije obaveštenja"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Obaveštenja iz ove aplikacije ne mogu da se isključe"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="one">1 od <xliff:g id="NUMBER_1">%d</xliff:g> kategorije obaveštenja za ovu aplikaciju</item> <item quantity="few">1 od <xliff:g id="NUMBER_1">%d</xliff:g> kategorije obaveštenja za ovu aplikaciju</item> @@ -579,8 +579,16 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"opcije za odlaganje obaveštenja"</string> <string name="snooze_undo" msgid="6074877317002985129">"OPOZOVI"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Odloženo je za <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="one">%d sat</item> + <item quantity="few">%d sata</item> + <item quantity="other">%d sati</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="one">%d minut</item> + <item quantity="few">%d minuta</item> + <item quantity="other">%d minuta</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Potrošnja baterije"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Ušteda baterije nije dostupna tokom punjenja"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Ušteda baterije"</string> diff --git a/packages/SystemUI/res/values-be/strings.xml b/packages/SystemUI/res/values-be/strings.xml index d48ee4fb0728..2d1b2f13d796 100644 --- a/packages/SystemUI/res/values-be/strings.xml +++ b/packages/SystemUI/res/values-be/strings.xml @@ -358,7 +358,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Пошук"</string> <string name="description_direction_up" msgid="7169032478259485180">"Правядзіце пальцам уверх, каб атрымаць <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Правядзіце пальцам улева, каб атрымаць <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Вас не будуць турбаваць гукі і вібрацыя, за выключэннем будзільнікаў, мерапрыемстваў, падзей і выбраных вамі абанентаў."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Вас не будуць турбаваць гукі і вібрацыя, за выключэннем будзільнікаў, напамінаў, падзей і выбраных вамі абанентаў. Вы будзеце чуць усё, што ўключыце, у тым ліку музыку, відэа і гульні."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Вас не будуць турбаваць гукі і вібрацыя, за выключэннем будзільнікаў. Вы будзеце чуць усё, што ўключыце, у тым ліку музыку, відэа і гульні."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Дапасаваць"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Гэта заблакіруе ЎСЕ гукі і вібрацыі, у тым ліку ад будзільнікаў, музыкі, відэа і гульняў. Вы па-ранейшаму зможаце тэлефанаваць."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Гэта заблакіруе ЎСЕ гукі і вібрацыі, у тым ліку ад будзільнікаў, музыкі, відэа і гульняў."</string> @@ -480,7 +481,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Не, дзякуй"</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="volume_zen_end_now" msgid="6930243045593601084">"Адключыць"</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> @@ -558,8 +559,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Вы больш не будзеце атрымліваць гэтыя апавяшчэнні"</string> <string name="notification_num_channels" msgid="2048144408999179471">"Катэгорый апавяшчэнняў: <xliff:g id="NUMBER">%d</xliff:g>"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"У гэтай праграме няма катэгорый апавяшчэнняў"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Апавяшчэнні ад гэтай праграмы нельга адключыць"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="one">1 з <xliff:g id="NUMBER_1">%d</xliff:g> катэгорыі апавяшчэнняў у гэтай праграме</item> <item quantity="few">1 з <xliff:g id="NUMBER_1">%d</xliff:g> катэгорый апавяшчэнняў у гэтай праграме</item> @@ -585,8 +585,18 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"параметры адкладвання апавяшчэнняў"</string> <string name="snooze_undo" msgid="6074877317002985129">"АДРАБІЦЬ"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Адкладзена на <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="one">%d гадзіна</item> + <item quantity="few">%d гадзіны</item> + <item quantity="many">%d гадзін</item> + <item quantity="other">%d гадзіны</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="one">%d хвіліна</item> + <item quantity="few">%d хвіліны</item> + <item quantity="many">%d хвілін</item> + <item quantity="other">%d хвіліны</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Выкарыстанне зараду"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Эканомія зараду акумулятара недаступная падчас зарадкі"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Эканомія зараду"</string> diff --git a/packages/SystemUI/res/values-bg/strings.xml b/packages/SystemUI/res/values-bg/strings.xml index 109513432acb..05a675c660f3 100644 --- a/packages/SystemUI/res/values-bg/strings.xml +++ b/packages/SystemUI/res/values-bg/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Търсене"</string> <string name="description_direction_up" msgid="7169032478259485180">"Плъзнете нагоре за <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Плъзнете наляво за <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Няма да бъдете обезпокоявани от звуци и вибрирания, различни от будилници, напомняния, събития и обаждания от посочени от вас контакти."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Няма да бъдете обезпокоявани от звуци и вибрирания освен от будилници, напомняния, събития и обаждания от посочени от вас контакти. Пак ще чувате всичко, което изберете да се пусне, включително музика, видеоклипове и игри."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Няма да бъдете обезпокоявани от звуци и вибрирания освен от будилници. Пак ще чувате всичко, което изберете да се пусне, включително музика, видеоклипове и игри."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Персонализиране"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Този режим блокира ВСИЧКИ звуци и вибрирания, включително от будилници, музика, видеоклипове и игри. Пак ще можете да извършвате телефонни обаждания."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Този режим блокира ВСИЧКИ звуци и вибрирания, включително от будилници, музика, видеоклипове и игри."</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Няма нужда"</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="volume_zen_end_now" msgid="6930243045593601084">"Изключване сега"</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> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Вече няма да получавате тези известия"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> категории известия"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"За това приложение няма категории на известията"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Известията от това приложение не могат да бъдат изключени"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">1 от <xliff:g id="NUMBER_1">%d</xliff:g> категории известия от това приложение</item> <item quantity="one">1 от <xliff:g id="NUMBER_0">%d</xliff:g> категория известия от това приложение</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"опции за отлагане на известията"</string> <string name="snooze_undo" msgid="6074877317002985129">"ОТМЯНА"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Отложено за <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d часа</item> + <item quantity="one">%d час</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d минути</item> + <item quantity="one">%d минута</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Ползв. на батерията"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Режимът за запазване на батерията не е налице при зареждане"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Режим за запазване на батерията"</string> diff --git a/packages/SystemUI/res/values-bn/strings.xml b/packages/SystemUI/res/values-bn/strings.xml index 9ad40113cd6e..50763998b376 100644 --- a/packages/SystemUI/res/values-bn/strings.xml +++ b/packages/SystemUI/res/values-bn/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"অনুসন্ধান করুন"</string> <string name="description_direction_up" msgid="7169032478259485180">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> এর জন্য উপরের দিকে স্লাইড করুন৷"</string> <string name="description_direction_left" msgid="7207478719805562165">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> এর জন্য বাঁ দিকে স্লাইড করুন৷"</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"আপনার নির্দিষ্ট অ্যালার্ম, অনুস্মারক, ইভেন্ট, এবং কলারগুলি ব্যতীত আপনাকে শব্দ এবং কম্পনগুলির দ্বারা বিরক্ত করা হবে না৷"</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"অ্যালার্ম, রিমাইন্ডার, ইভেন্ট, এবং আপনার নির্দিষ্ট করে দেওয়া ব্যক্তিদের কল ছাড়া অন্য কোনও আওয়াজ বা ভাইব্রেশন হবে না। তবে সঙ্গীত, ভিডিও, এবং গেমের আওয়াজ শুনতে পাবেন।"</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"অ্যালার্ম ছাড়া অন্য কোনও আওয়াজ বা ভাইব্রেশন হবে না। তবে সঙ্গীত, ভিডিও, এবং গেমের আওয়াজ শুনতে পাবেন।"</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"কাস্টমাইজ করুন"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"এটি অ্যালার্ম, সংগীত, ভিডিও এবং গেমগুলি থেকে আসা সমস্ত রকমের ধ্বনি এবং কম্পনগুলিকে বন্ধ করে৷ আপনি এখনও ফোন কলগুলি করতে পারবেন৷"</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"এটি অ্যালার্ম, সংগীত, ভিডিও এবং গেমগুলি থেকে আসা সমস্ত রকমের ধ্বনি এবং কম্পনগুলিকে বন্ধ করে৷"</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"না থাক"</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="volume_zen_end_now" msgid="6930243045593601084">"এখনই বন্ধ করুন"</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> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"আপনি এই বিজ্ঞপ্তিগুলি আর পাবেন না"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> বিজ্ঞপ্তির বিভাগগুলি"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"এই অ্যাপটিতে বিজ্ঞপ্তির বিভাগ নেই"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"এই অ্যাপ থেকে আসা বিজ্ঞপ্তি বন্ধ করা যাবে না"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="one">এই অ্যাপের <xliff:g id="NUMBER_1">%d</xliff:g>টি বিজ্ঞপ্তির বিভাগের মধ্যে ১টি</item> <item quantity="other">এই অ্যাপের <xliff:g id="NUMBER_1">%d</xliff:g>টি বিজ্ঞপ্তির বিভাগের মধ্যে ১টি</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"বিজ্ঞপ্তি মনে করিয়ে দেওয়ার বিকল্পগুলি"</string> <string name="snooze_undo" msgid="6074877317002985129">"পূর্বাবস্থায় ফিরুন"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"<xliff:g id="TIME_AMOUNT">%1$s</xliff:g> পরে আবার মনে করানো হবে"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="one">%d ঘণ্টা</item> + <item quantity="other">%d ঘণ্টা</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="one">%d মিনিট</item> + <item quantity="other">%d মিনিট</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"ব্যাটারির ব্যবহার"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"চার্জ করার সময় ব্যাটারি সেভার উপলব্ধ নয়"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"ব্যাটারি সেভার"</string> diff --git a/packages/SystemUI/res/values-bs/strings.xml b/packages/SystemUI/res/values-bs/strings.xml index 1d1632ffe7d4..ea29132ee5c4 100644 --- a/packages/SystemUI/res/values-bs/strings.xml +++ b/packages/SystemUI/res/values-bs/strings.xml @@ -354,7 +354,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Pretraživanje"</string> <string name="description_direction_up" msgid="7169032478259485180">"Povucite gore za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Povucite lijevo za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Neće vas ometati zvukovi i vibracije, osim alarma, podsjetnika, događaja i pozivalaca koje odredite."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Neće vas ometati zvukovi i vibracije, osim alarma, podsjetnika, događaja i pozivalaca koje odredite. I dalje ćete čuti sve što ste izabrali za reprodukciju, uključujući muziku, videozapise i igre."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Neće vas ometati zvukovi i vibracije, osim alarma. I dalje ćete čuti sve što ste izabrali za reprodukciju, uključujući muziku, videozapise i igre."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Prilagodi"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Ovim se blokiraju SVI zvukovi i vibracije, uključujući alarme, muziku, videozapise i igre. I dalje ćete moći obavljati pozive."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Ovim se blokiraju SVI zvukovi i vibracije, uključujući alarme, muziku, video zapise i igre."</string> @@ -476,7 +477,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Ne, hvala"</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"Postavi"</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">"Završi sada"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Isključi sada"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Proširi"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Skupi"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"Ekran je prikačen"</string> @@ -556,8 +557,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Nećete više primati ova obavještenja"</string> <string name="notification_num_channels" msgid="2048144408999179471">"Kategorije obavještenja: <xliff:g id="NUMBER">%d</xliff:g>"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Ova aplikacija nema kategorije obavještenja"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Obavještenja iz ove aplikacije nije moguće isključiti"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="one">1 od <xliff:g id="NUMBER_1">%d</xliff:g> kategorije obavještenja iz ove aplikacije</item> <item quantity="few">1 od <xliff:g id="NUMBER_1">%d</xliff:g> kategorije obavještenja iz ove aplikacije</item> @@ -581,8 +581,16 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"opcije za odgodu obavještenja"</string> <string name="snooze_undo" msgid="6074877317002985129">"OPOZOVI"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Odgođeno za <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="one">%d sat</item> + <item quantity="few">%d sata</item> + <item quantity="other">%d sati</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="one">%d minuta</item> + <item quantity="few">%d minute</item> + <item quantity="other">%d minuta</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Potrošnja baterije"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Ušteda baterije je isključena prilikom punjenja"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Ušteda baterije"</string> diff --git a/packages/SystemUI/res/values-ca/strings.xml b/packages/SystemUI/res/values-ca/strings.xml index f354ad4d6d73..5143b4ea26b3 100644 --- a/packages/SystemUI/res/values-ca/strings.xml +++ b/packages/SystemUI/res/values-ca/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Cerca"</string> <string name="description_direction_up" msgid="7169032478259485180">"Llisca cap amunt per <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Llisca cap a l\'esquerra per <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"No t\'interromprà cap so ni cap vibració, tret dels sons de les alarmes, recordatoris, esdeveniments i trucades de les persones que especifiquis."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"No t\'interromprà cap so ni cap vibració, tret dels de les alarmes, recordatoris, esdeveniments i trucades de les persones que especifiquis. Continuaràs sentint tot allò que decideixis reproduir, com ara música, vídeos i jocs."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"No t\'interromprà cap so ni cap vibració, tret dels de les alarmes. Continuaràs sentint tot allò que decideixis reproduir, com ara música, vídeos i jocs."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Personalitza"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Es bloquejaran TOTS els sons i totes les vibracions, inclosos els de vídeos, jocs, alarmes i música. Encara podràs fer trucades."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Es bloquejaran TOTS els sons i totes les vibracions, inclosos els de vídeos, jocs, alarmes i música."</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"No"</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"Configura"</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">"Finalitza ara"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Desactiva ara"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Amplia"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Replega"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"La pantalla està fixada"</string> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Ja no rebràs aquestes notificacions"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> categories de notificació"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Aquesta aplicació no té categories de notificació"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Les notificacions d\'aquesta aplicació no es poden desactivar"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">1 de <xliff:g id="NUMBER_1">%d</xliff:g> categories de notificació d\'aquesta aplicació</item> <item quantity="one">1 de <xliff:g id="NUMBER_0">%d</xliff:g> categoria de notificació d\'aquesta aplicació</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"opcions per posposar la notificació"</string> <string name="snooze_undo" msgid="6074877317002985129">"DESFÉS"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"S\'ha posposat <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d hores</item> + <item quantity="one">%d hora</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d minuts</item> + <item quantity="one">%d minut</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Ús de la bateria"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"La funció Estalvi de bateria no està disponible durant la càrrega"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Estalvi de bateria"</string> diff --git a/packages/SystemUI/res/values-cs/strings.xml b/packages/SystemUI/res/values-cs/strings.xml index cb8fa864771f..83fae79ac289 100644 --- a/packages/SystemUI/res/values-cs/strings.xml +++ b/packages/SystemUI/res/values-cs/strings.xml @@ -358,7 +358,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Vyhledávání"</string> <string name="description_direction_up" msgid="7169032478259485180">"Přejeďte prstem nahoru: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>"</string> <string name="description_direction_left" msgid="7207478719805562165">"Přejeďte prstem doleva: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>"</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Nebudou vás rušit zvuky ani vibrace s výjimkou budíků, upozornění, událostí a volajících, které zadáte."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Nebudou vás rušit zvuky ani vibrace s výjimkou budíků, upozornění, událostí a vybraných volajících. Nadále uslyšíte veškerý obsah, který si sami pustíte (např. hudba, videa nebo hry)."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Nebudou vás rušit zvuky ani vibrace s výjimkou budíků. Nadále uslyšíte veškerý obsah, který si sami pustíte (např. hudba, videa nebo hry)."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Přizpůsobit"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"V tomto režimu budou blokovány VŠECHNY zvuky a vibrace, včetně těch z budíků, hudby, videí a her. Telefonovat budete moci i nadále."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"V tomto režimu budou blokovány VŠECHNY zvuky a vibrace, včetně těch z budíků, hudby, videí a her."</string> @@ -480,7 +481,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Ne, děkuji"</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"Nastavit"</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">"Ukončit"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Vypnout"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Rozbalit"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Sbalit"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"Obrazovka je připnuta"</string> @@ -558,8 +559,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Tato oznámení již nebudete dostávat"</string> <string name="notification_num_channels" msgid="2048144408999179471">"Kategorie oznámení: <xliff:g id="NUMBER">%d</xliff:g>"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Tato aplikace nemá kategorie oznámení"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Oznámení této aplikace nelze vypnout"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="few">1 ze <xliff:g id="NUMBER_1">%d</xliff:g> kategorií oznámení z této aplikace</item> <item quantity="many">1 z <xliff:g id="NUMBER_1">%d</xliff:g> kategorie oznámení z této aplikace</item> @@ -585,8 +585,18 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"Možnosti odložení oznámení"</string> <string name="snooze_undo" msgid="6074877317002985129">"VRÁTIT ZPĚT"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Odloženo o <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="few">%d hodiny</item> + <item quantity="many">%d hodiny</item> + <item quantity="other">%d hodin</item> + <item quantity="one">%d hodina</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="few">%d minuty</item> + <item quantity="many">%d minuty</item> + <item quantity="other">%d minut</item> + <item quantity="one">%d minuta</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Využití baterie"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Spořič baterie při nabíjení není k dispozici."</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Spořič baterie"</string> diff --git a/packages/SystemUI/res/values-da/strings.xml b/packages/SystemUI/res/values-da/strings.xml index b19e90166963..3cb58048b78a 100644 --- a/packages/SystemUI/res/values-da/strings.xml +++ b/packages/SystemUI/res/values-da/strings.xml @@ -259,10 +259,10 @@ <string name="status_bar_notification_app_settings_title" msgid="5525260160341558869">"Indstillinger for <xliff:g id="APP_NAME">%s</xliff:g>"</string> <string name="accessibility_rotation_lock_off" msgid="4062780228931590069">"Skærmen roterer automatisk."</string> <string name="accessibility_rotation_lock_on_landscape" msgid="6731197337665366273">"Skærmen er nu låst i liggende retning."</string> - <string name="accessibility_rotation_lock_on_portrait" msgid="5809367521644012115">"Skærmen er nu låst i stående retning."</string> + <string name="accessibility_rotation_lock_on_portrait" msgid="5809367521644012115">"Skærmen er nu låst i stående format."</string> <string name="accessibility_rotation_lock_off_changed" msgid="8134601071026305153">"Skærmen roteres nu automatisk."</string> - <string name="accessibility_rotation_lock_on_landscape_changed" msgid="3135965553707519743">"Skærmen er nu låst i liggende tilstand."</string> - <string name="accessibility_rotation_lock_on_portrait_changed" msgid="8922481981834012126">"Skærmen er nu låst i stående tilstand."</string> + <string name="accessibility_rotation_lock_on_landscape_changed" msgid="3135965553707519743">"Skærmen er nu låst i liggende format."</string> + <string name="accessibility_rotation_lock_on_portrait_changed" msgid="8922481981834012126">"Skærmen er nu låst i stående format."</string> <string name="dessert_case" msgid="1295161776223959221">"Dessertcase"</string> <string name="start_dreams" msgid="5640361424498338327">"Pauseskærm"</string> <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string> @@ -279,7 +279,7 @@ <string name="accessibility_quick_settings_rotation" msgid="4231661040698488779">"Roter skærmen automatisk"</string> <string name="accessibility_quick_settings_rotation_value" msgid="8187398200140760213">"Tilstanden <xliff:g id="ID_1">%s</xliff:g>"</string> <string name="quick_settings_rotation_locked_label" msgid="6359205706154282377">"Rotationen er låst"</string> - <string name="quick_settings_rotation_locked_portrait_label" msgid="5102691921442135053">"Stående"</string> + <string name="quick_settings_rotation_locked_portrait_label" msgid="5102691921442135053">"Stående format"</string> <string name="quick_settings_rotation_locked_landscape_label" msgid="8553157770061178719">"Liggende"</string> <string name="quick_settings_ime_label" msgid="7073463064369468429">"Inputmetode"</string> <string name="quick_settings_location_label" msgid="5011327048748762257">"Placering"</string> @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Søgning"</string> <string name="description_direction_up" msgid="7169032478259485180">"Glid op for at <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Glid til venstre for at <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Du bliver ikke forstyrret af lyde og vibrationer undtagen fra de alarmer, påmindelser, begivenheder og opkaldere, som du angiver."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Du bliver ikke forstyrret af lyde eller vibrationer, undtagen fra alarmer, påmindelser, begivenheder og opkald fra personer, du angiver. Du kan stadig høre alt, du vælger at afspille, bl.a. musik samt lyd i videoer og spil."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Du bliver ikke forstyrret af lyde eller vibrationer, undtagen fra alarmer. Du kan stadig høre alt, du vælger at afspille, bl.a. musik samt lyd i videoer og spil."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Tilpas"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Dette blokerer ALLE lyde og vibrationer, bl.a. fra alarmer, musik, videoer og spil. Du vil stadig kunne foretage telefonopkald."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Dette blokerer ALLE lyde og vibrationer, bl.a. fra alarmer, musik, videoer og spil."</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Nej tak"</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"Konfigurer"</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">"Afslut nu"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Deaktiver nu"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Udvid"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Skjul"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"Skærmen er fastgjort"</string> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Du modtager ikke længere disse underretninger"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> underretningskategorier"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Denne app har ingen underretningskategorier"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Underretninger fra denne app kan ikke deaktiveres"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="one">1 ud af <xliff:g id="NUMBER_1">%d</xliff:g> underretningskategori fra denne app</item> <item quantity="other">1 ud af <xliff:g id="NUMBER_1">%d</xliff:g> underretningskategorier fra denne app</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"Indstillinger for udsættelse"</string> <string name="snooze_undo" msgid="6074877317002985129">"FORTRYD"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Udsat i <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="one">%d time</item> + <item quantity="other">%d timer</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="one">%d minut</item> + <item quantity="other">%d minutter</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Batteriforbrug"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Batterisparefunktionen er ikke tilgængelig under opladning"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Batterisparefunktion"</string> diff --git a/packages/SystemUI/res/values-de/strings.xml b/packages/SystemUI/res/values-de/strings.xml index f6216c2bae82..9b28bdaa0e03 100644 --- a/packages/SystemUI/res/values-de/strings.xml +++ b/packages/SystemUI/res/values-de/strings.xml @@ -161,7 +161,9 @@ <string name="accessibility_no_sims" msgid="3957997018324995781">"Keine SIM-Karte"</string> <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Netzwerk des Mobilfunkanbieters wird gewechselt"</string> <string name="accessibility_battery_details" msgid="7645516654955025422">"Akkudetails öffnen"</string> - <string name="accessibility_battery_level" msgid="7451474187113371965">"Akku bei <xliff:g id="NUMBER">%d</xliff:g> Prozent."</string> + <!-- String.format failed for translation --> + <!-- no translation found for accessibility_battery_level (7451474187113371965) --> + <skip /> <!-- String.format failed for translation --> <!-- no translation found for accessibility_battery_level_charging (1147587904439319646) --> <skip /> @@ -354,7 +356,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Suche"</string> <string name="description_direction_up" msgid="7169032478259485180">"Zum <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> nach oben schieben"</string> <string name="description_direction_left" msgid="7207478719805562165">"Zum <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> nach links schieben"</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Klingeltöne und die Vibration werden deaktiviert, außer für Weckrufe, Erinnerungen, Termine sowie Anrufe von zuvor von dir festgelegten Personen."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Klingeltöne und die Vibration werden deaktiviert, außer für Weckrufe, Erinnerungen, Termine sowie Anrufe von zuvor von dir festgelegten Personen. Du hörst jedoch weiterhin Sound, wenn du Musik und Videos wiedergibst oder Spiele spielst."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Klingeltöne und die Vibration werden deaktiviert, außer für Weckrufe. Du hörst jedoch weiterhin Sound, wenn du Musik und Videos wiedergibst oder Spiele spielst."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Anpassen"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Hierdurch werden alle Klingeltöne und Vibrationsalarme stummgeschaltet, auch für Weckrufe, Musik, Videos und Spiele. Anrufe kannst du jedoch weiterhin tätigen."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Hierdurch werden alle Klingeltöne und Vibrationsalarme stummgeschaltet, auch für Weckrufe, Musik, Videos und Spiele."</string> @@ -476,7 +479,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Nein danke"</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"Einrichten"</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">"Jetzt beenden"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Jetzt deaktivieren"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Maximieren"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Minimieren"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"Bildschirm ist fixiert"</string> @@ -554,8 +557,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Du erhältst diese Benachrichtigungen nicht mehr"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> Benachrichtigungskategorien"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Diese App hat keine Benachrichtigungskategorien"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Benachrichtigungen von dieser App können nicht deaktiviert werden"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">1 von <xliff:g id="NUMBER_1">%d</xliff:g> Benachrichtigungskategorien von dieser App</item> <item quantity="one">1 von <xliff:g id="NUMBER_0">%d</xliff:g> Benachrichtigungskategorie von dieser App</item> @@ -577,8 +579,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"Optionen für spätere Erinnerung bei Benachrichtigungen"</string> <string name="snooze_undo" msgid="6074877317002985129">"RÜCKGÄNGIG"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Erinnerung in <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d Stunden</item> + <item quantity="one">%d Stunde</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d Minuten</item> + <item quantity="one">%d Minute</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Akkunutzung"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Der Energiesparmodus ist beim Aufladen nicht verfügbar."</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Energiesparmodus"</string> diff --git a/packages/SystemUI/res/values-el/strings.xml b/packages/SystemUI/res/values-el/strings.xml index 8fd5e353852e..1b9851079028 100644 --- a/packages/SystemUI/res/values-el/strings.xml +++ b/packages/SystemUI/res/values-el/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Αναζήτηση"</string> <string name="description_direction_up" msgid="7169032478259485180">"Κύλιση προς τα επάνω για <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Κύλιση προς τα αριστερά για <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Δεν θα διακόπτεστε από ήχους και δονήσεις, με εξαίρεση τα ξυπνητήρια, τις υπενθυμίσεις, τα συμβάντα και τους καλούντες που έχετε ορίσει."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Δεν θα ενοχλείστε από ήχους και δονήσεις, παρά μόνο από ξυπνητήρια, υπενθυμίσεις, συμβάντα και καλούντες που έχετε καθορίσει. Θα εξακολουθείτε να ακούτε όλο το περιεχόμενο που επιλέγετε να αναπαραγάγετε, συμπεριλαμβανομένων μουσικής, βίντεο και παιχνιδιών."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Δεν θα ενοχλείστε από ήχους και δονήσεις, παρά μόνο από ξυπνητήρια. Θα εξακολουθείτε να ακούτε όλο το περιεχόμενο που επιλέγετε να αναπαραγάγετε, συμπεριλαμβανομένων μουσικής, βίντεο και παιχνιδιών."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Προσαρμογή"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Αυτή η επιλογή αποκλείει όλους τους ήχους και τις δονήσεις, μεταξύ των οποίων των ξυπνητηριών, της μουσικής, των βίντεο και των παιχνιδιών. Θα εξακολουθείτε να είστε σε θέση να πραγματοποιήσετε τηλεφωνικές κλήσεις."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Αυτή η επιλογή αποκλείει όλους τους ήχους και τις δονήσεις, μεταξύ των οποίων των ξυπνητηριών, της μουσικής, των βίντεο και των παιχνιδιών."</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Όχι"</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="volume_zen_end_now" msgid="6930243045593601084">"Απενεργοποίηση τώρα"</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> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Δεν θα λαμβάνετε πλέον αυτές τις ειδοποιήσεις"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> κατηγορίες ειδοποιήσεων"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Αυτή η εφαρμογή δεν διαθέτει κατηγορίες ειδοποιήσεων"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Οι ειδοποιήσεις από αυτήν την εφαρμογή δεν μπορούν να απενεργοποιηθούν"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">1 από <xliff:g id="NUMBER_1">%d</xliff:g> κατηγορίες ειδοποιήσεων από αυτή την εφαρμογή</item> <item quantity="one">1 από <xliff:g id="NUMBER_0">%d</xliff:g> κατηγορία ειδοποιήσεων από αυτή την εφαρμογή</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"επιλογές αφύπνισης ειδοποιήσεων"</string> <string name="snooze_undo" msgid="6074877317002985129">"ΑΝΑΙΡΕΣΗ"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Σε αφύπνιση για <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d ώρες</item> + <item quantity="one">%d ώρα</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d λεπτά</item> + <item quantity="one">%d λεπτό</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Χρήση της μπαταρίας"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Η εξοικονόμηση μπαταρίας δεν είναι διαθέσιμη κατά τη διάρκεια της φόρτισης"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Εξοικονόμηση μπαταρίας"</string> diff --git a/packages/SystemUI/res/values-en-rAU/strings.xml b/packages/SystemUI/res/values-en-rAU/strings.xml index 93753bbd3bef..d0b76af3a923 100644 --- a/packages/SystemUI/res/values-en-rAU/strings.xml +++ b/packages/SystemUI/res/values-en-rAU/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Search"</string> <string name="description_direction_up" msgid="7169032478259485180">"Slide up for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Slide left for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"You won’t be disturbed by sounds and vibrations, except from alarms, reminders, events and callers that you specify."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"You won’t be disturbed by sounds and vibrations, except from alarms, reminders, events and callers that you specify. You\'ll still hear anything that you choose to play, including music, videos and games."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"You won’t be disturbed by sounds and vibrations, except from alarms. You\'ll still hear anything that you choose to play, including music, videos and games."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Customise"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"This blocks ALL sounds and vibrations, including from alarms, music, videos and games. You’ll still be able to make phone calls."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"This blocks ALL sounds and vibrations, including from alarms, music, videos and games."</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"No, thanks"</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"Setup"</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">"End now"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Turn off now"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Expand"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Collapse"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"Screen is pinned"</string> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"You won\'t get these notifications anymore"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> notification categories"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"This app doesn\'t have notification categories"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Notifications from this app can\'t be turned off"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">1 out of <xliff:g id="NUMBER_1">%d</xliff:g> notification categories from this app</item> <item quantity="one">1 out of <xliff:g id="NUMBER_0">%d</xliff:g> notification category from this app</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"notification snooze options"</string> <string name="snooze_undo" msgid="6074877317002985129">"UNDO"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Snoozed for <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d hours</item> + <item quantity="one">%d hour</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d minutes</item> + <item quantity="one">%d minute</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Battery usage"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Battery Saver not available during charging"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Battery Saver"</string> diff --git a/packages/SystemUI/res/values-en-rGB/strings.xml b/packages/SystemUI/res/values-en-rGB/strings.xml index 93753bbd3bef..d0b76af3a923 100644 --- a/packages/SystemUI/res/values-en-rGB/strings.xml +++ b/packages/SystemUI/res/values-en-rGB/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Search"</string> <string name="description_direction_up" msgid="7169032478259485180">"Slide up for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Slide left for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"You won’t be disturbed by sounds and vibrations, except from alarms, reminders, events and callers that you specify."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"You won’t be disturbed by sounds and vibrations, except from alarms, reminders, events and callers that you specify. You\'ll still hear anything that you choose to play, including music, videos and games."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"You won’t be disturbed by sounds and vibrations, except from alarms. You\'ll still hear anything that you choose to play, including music, videos and games."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Customise"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"This blocks ALL sounds and vibrations, including from alarms, music, videos and games. You’ll still be able to make phone calls."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"This blocks ALL sounds and vibrations, including from alarms, music, videos and games."</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"No, thanks"</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"Setup"</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">"End now"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Turn off now"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Expand"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Collapse"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"Screen is pinned"</string> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"You won\'t get these notifications anymore"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> notification categories"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"This app doesn\'t have notification categories"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Notifications from this app can\'t be turned off"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">1 out of <xliff:g id="NUMBER_1">%d</xliff:g> notification categories from this app</item> <item quantity="one">1 out of <xliff:g id="NUMBER_0">%d</xliff:g> notification category from this app</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"notification snooze options"</string> <string name="snooze_undo" msgid="6074877317002985129">"UNDO"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Snoozed for <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d hours</item> + <item quantity="one">%d hour</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d minutes</item> + <item quantity="one">%d minute</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Battery usage"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Battery Saver not available during charging"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Battery Saver"</string> diff --git a/packages/SystemUI/res/values-en-rIN/strings.xml b/packages/SystemUI/res/values-en-rIN/strings.xml index 93753bbd3bef..d0b76af3a923 100644 --- a/packages/SystemUI/res/values-en-rIN/strings.xml +++ b/packages/SystemUI/res/values-en-rIN/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Search"</string> <string name="description_direction_up" msgid="7169032478259485180">"Slide up for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Slide left for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"You won’t be disturbed by sounds and vibrations, except from alarms, reminders, events and callers that you specify."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"You won’t be disturbed by sounds and vibrations, except from alarms, reminders, events and callers that you specify. You\'ll still hear anything that you choose to play, including music, videos and games."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"You won’t be disturbed by sounds and vibrations, except from alarms. You\'ll still hear anything that you choose to play, including music, videos and games."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Customise"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"This blocks ALL sounds and vibrations, including from alarms, music, videos and games. You’ll still be able to make phone calls."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"This blocks ALL sounds and vibrations, including from alarms, music, videos and games."</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"No, thanks"</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"Setup"</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">"End now"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Turn off now"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Expand"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Collapse"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"Screen is pinned"</string> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"You won\'t get these notifications anymore"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> notification categories"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"This app doesn\'t have notification categories"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Notifications from this app can\'t be turned off"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">1 out of <xliff:g id="NUMBER_1">%d</xliff:g> notification categories from this app</item> <item quantity="one">1 out of <xliff:g id="NUMBER_0">%d</xliff:g> notification category from this app</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"notification snooze options"</string> <string name="snooze_undo" msgid="6074877317002985129">"UNDO"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Snoozed for <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d hours</item> + <item quantity="one">%d hour</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d minutes</item> + <item quantity="one">%d minute</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Battery usage"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Battery Saver not available during charging"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Battery Saver"</string> diff --git a/packages/SystemUI/res/values-es-rUS/strings.xml b/packages/SystemUI/res/values-es-rUS/strings.xml index e04ab5f41be5..fb113b8d8bc4 100644 --- a/packages/SystemUI/res/values-es-rUS/strings.xml +++ b/packages/SystemUI/res/values-es-rUS/strings.xml @@ -354,7 +354,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Buscar"</string> <string name="description_direction_up" msgid="7169032478259485180">"Desliza el dedo hacia arriba para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Desliza el dedo hacia la izquierda para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"No te molestarán los sonidos ni las vibraciones, excepto que se trate de alarmas, recordatorios, eventos y emisores que especifiques."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"No te molestarán los sonidos ni las vibraciones, excepto las alarmas, los recordatorios, los eventos y las llamadas de los emisores que especifiques. Seguirás escuchando el contenido que reproduzcas, como música, videos y juegos."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"No te molestarán los sonidos ni las vibraciones, excepto las alarmas. Seguirás escuchando el contenido que reproduzcas, como música, videos y juegos."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Personalizar"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Esta acción bloquea TODOS los sonidos y las vibraciones, incluidas las que provienen de alarmas, videos y juegos. Podrás realizar llamadas telefónicas."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Esta acción bloquea TODOS los sonidos y las vibraciones, incluso los que provienen de alarmas, música, videos y juegos."</string> @@ -476,7 +477,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"No"</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 ahora"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Desactivar ahora"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Expandir"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Contraer"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"Pantalla fija"</string> @@ -554,8 +555,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Ya no recibirás estas notificaciones"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> categorías de notificaciones"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Esta app no tiene categorías de notificación"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"No es posible desactivar las notificaciones de esta app"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">1 de <xliff:g id="NUMBER_1">%d</xliff:g> categorías de notificación de esta app</item> <item quantity="one">1 de <xliff:g id="NUMBER_0">%d</xliff:g> categoría de notificación de esta app</item> @@ -577,8 +577,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"opciones para posponer notificaciones"</string> <string name="snooze_undo" msgid="6074877317002985129">"DESHACER"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Posponer <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d horas</item> + <item quantity="one">%d hora</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d minutos</item> + <item quantity="one">%d minuto</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Uso de la batería"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Ahorro de batería no está disponible durante la carga"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Ahorro de batería"</string> diff --git a/packages/SystemUI/res/values-es/strings.xml b/packages/SystemUI/res/values-es/strings.xml index a7160fa30a75..c060a5477539 100644 --- a/packages/SystemUI/res/values-es/strings.xml +++ b/packages/SystemUI/res/values-es/strings.xml @@ -354,7 +354,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Buscar"</string> <string name="description_direction_up" msgid="7169032478259485180">"Desliza el dedo hacia arriba para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Desliza el dedo hacia la izquierda para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"No te interrumpirán sonidos ni vibraciones, salvo los de las alarmas, los recordatorios, los eventos y las llamadas que especifiques."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"No te molestarán los sonidos ni las vibraciones, excepto las alarmas, los recordatorios, los eventos y las llamadas que especifiques. Seguirás escuchando el contenido que quieras reproducir, como música, vídeos y juegos."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"No te molestarán los sonidos ni las vibraciones, excepto las alarmas. Seguirás escuchando el contenido que quieras reproducir, como música, vídeos y juegos."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Personalizar"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Este modo permite bloquear TODOS los sonidos y todas las vibraciones (p. ej., los de alarmas, música, vídeos y juegos). Seguirás pudiendo hacer llamadas de teléfono."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Este modo permite bloquear TODOS los sonidos y todas las vibraciones (p. ej., los de alarmas, música, vídeos y juegos)."</string> @@ -476,7 +477,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"No, gracias"</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 ahora"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Desactivar"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Mostrar"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Ocultar"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"Pantalla fijada"</string> @@ -554,8 +555,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Ya no recibirás estas notificaciones"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> categorías de notificación"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Esta aplicación no tiene categorías de notificación"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"No se pueden desactivar las notificaciones de esta aplicación"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">1 de <xliff:g id="NUMBER_1">%d</xliff:g> categorías de notificación de esta aplicación</item> <item quantity="one">1 de <xliff:g id="NUMBER_0">%d</xliff:g> categoría de notificación de esta aplicación</item> @@ -577,8 +577,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"Opciones para posponer las notificaciones"</string> <string name="snooze_undo" msgid="6074877317002985129">"DESHACER"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Volverá a mostrarse en <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d horas</item> + <item quantity="one">%d hora</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d minutos</item> + <item quantity="one">%d minuto</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Uso de la batería"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Ahorro de batería no disponible mientras se carga el dispositivo"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Ahorro de batería"</string> diff --git a/packages/SystemUI/res/values-et/strings.xml b/packages/SystemUI/res/values-et/strings.xml index e21baa6d31b7..806001e99f86 100644 --- a/packages/SystemUI/res/values-et/strings.xml +++ b/packages/SystemUI/res/values-et/strings.xml @@ -354,7 +354,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Otsing"</string> <string name="description_direction_up" msgid="7169032478259485180">"Lohistage üles: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Lohistage vasakule: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Teid segatakse helide ja värinaga vaid teie määratud alarmide, meeldetuletuste, sündmuste ning helistajate puhul."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Helid ja vibratsioonid ei sega teid. Kuulete siiski enda määratud alarme, meeldetuletusi, sündmusi ja helistajaid. Samuti kuulete kõike, mille esitamise ise valite, sh muusika, videod ja mängud."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Helid ja vibratsioonid ei sega teid. Kuulete siiski alarme. Samuti kuulete kõike, mille esitamise ise valite, sh muusika, videod ja mängud."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Kohanda"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"See blokeerib KÕIK – sealhulgas alarmide, muusika, videote ja mängude – helid ja värinad. Saate siiski helistada."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"See blokeerib KÕIK – sealhulgas alarmide, muusika, videote ja mängude – helid ja vibratsioonid."</string> @@ -476,7 +477,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Tänan, ei"</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"Seadistus"</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">"Lõpeta nüüd"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Lülita kohe välja"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Laiendamine"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Ahendamine"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"Ekraan on kinnitatud"</string> @@ -554,8 +555,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Te ei saa enam neid märguandeid"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> märguandekategooriat"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Sellel rakendusel ei ole märguannete kategooriaid"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Selle rakenduse märguandeid ei saa välja lülitada"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">1 <xliff:g id="NUMBER_1">%d</xliff:g>-st märguannete kategooriast sellelt rakenduselt</item> <item quantity="one">1 <xliff:g id="NUMBER_0">%d</xliff:g>-st märguannete kategooriast sellelt rakenduselt</item> @@ -577,8 +577,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"märguannete edasilükkamise valikud"</string> <string name="snooze_undo" msgid="6074877317002985129">"VÕTA TAGASI"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Edasi lükatud <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d tundi</item> + <item quantity="one">%d tund</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d minutit</item> + <item quantity="one">%d minut</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Akukasutus"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Akusäästja pole laadimise ajal saadaval"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Akusäästja"</string> diff --git a/packages/SystemUI/res/values-eu/strings.xml b/packages/SystemUI/res/values-eu/strings.xml index 9276020e30bf..c3a9eebb32e9 100644 --- a/packages/SystemUI/res/values-eu/strings.xml +++ b/packages/SystemUI/res/values-eu/strings.xml @@ -354,7 +354,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Bilatu"</string> <string name="description_direction_up" msgid="7169032478259485180">"Lerratu gora hau egiteko: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Lerratu ezkerrera hau egiteko: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Soinuek eta dardarek ez zaituzte oztoporik egingo, zehazten dituzun alarmek, abisuek, gertaerek eta deitzaileek izan ezik."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Gailuak ez du egingo ez soinurik ez dardararik, baina alarmak, gertaeren abisu-tonuak eta aukeratzen dituzun deitzaileen dei-tonuak joko ditu. Bestalde, zuk erreproduzitutako guztia entzungo duzu, besteak beste, musika, bideoak eta jokoak."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Gailuak ez du egingo ez soinurik ez dardararik, baina alarmak joko ditu. Hala ere, zuk erreproduzitutako guztia entzun ahal izango duzu, besteak beste, musika, bideoak eta jokoak."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Pertsonalizatu"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Soinu eta dardara GUZTIAK blokeatuko dira, besteak beste, alarmak, musika, bideoak eta jokoak. Telefono-deiak egiteko aukera izaten jarraituko duzu."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Soinu eta dardara GUZTIAK blokeatuko dira, besteak beste, alarmak, musika, bideoak eta jokoak."</string> @@ -476,7 +477,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Ez, eskerrik asko"</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"Konfiguratu"</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">"Amaitu"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Desaktibatu"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Zabaldu"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Tolestu"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"Pantaila ainguratuta dago"</string> @@ -554,8 +555,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Aurrerantzean ez duzu jasoko horrelako jakinarazpenik"</string> <string name="notification_num_channels" msgid="2048144408999179471">"Jakinarazpenen <xliff:g id="NUMBER">%d</xliff:g> kategoria"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Aplikazio honek ez du jakinarazpen-kategoriarik"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Aplikazio honen jakinarazpenak ezin dira desaktibatu"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">Aplikazio honen 1/<xliff:g id="NUMBER_1">%d</xliff:g> jakinarazpen-kategoria</item> <item quantity="one">Aplikazio honen 1/<xliff:g id="NUMBER_0">%d</xliff:g> jakinarazpen-kategoria</item> @@ -577,8 +577,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"jakinarazpena atzeratzeko aukerak"</string> <string name="snooze_undo" msgid="6074877317002985129">"DESEGIN"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"<xliff:g id="TIME_AMOUNT">%1$s</xliff:g>z atzeratu da"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d ordu</item> + <item quantity="one">%d ordu</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d minutu</item> + <item quantity="one">%d minutu</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Bateriaren erabilera"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Bateria-aurrezlea ez dago erabilgarri gailua kargatzen ari denean"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Bateria-aurrezlea"</string> diff --git a/packages/SystemUI/res/values-fa/strings.xml b/packages/SystemUI/res/values-fa/strings.xml index cc5f46e87f5f..25e72177a38d 100644 --- a/packages/SystemUI/res/values-fa/strings.xml +++ b/packages/SystemUI/res/values-fa/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"جستجو"</string> <string name="description_direction_up" msgid="7169032478259485180">"لغزاندن به بالا برای <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"لغزاندن به چپ برای <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"صداها و لرزشهایی به جز هشدارها، یادآوریها، رویدادها و تماسگیرندههایی که مشخص میکنید، مزاحم شما نمیشوند."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"بجز هشدارها، یادآوریها، رویدادها و تماسگیرندگانی که خودتان مشخص میکنید، هیچ صدا و لرزشی نخواهید داشت. همچنان صدای مواردی را که پخش میکنید میشنوید از جمله صدای موسیقی، ویدیو و بازی."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"بجز هشدارها، هیچ صدا و لرزشی نخواهید داشت. همچنان صدای مواردی را که پخش میکنید میشنوید از جمله صدای موسیقی، ویدیو و بازی."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"سفارشی کردن"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"این کار «همه» صداها و لرزشها از جمله هشدارها، موسیقی، ویدئوها و بازیها را مسدود میکند. همچنان میتوانید تماس تلفنی برقرار کنید."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"این کار «همه» صداها و لرزشها از جمله هشدارها، موسیقی، ویدئوها و بازیها را مسدود میکند."</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"نه متشکرم"</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="volume_zen_end_now" msgid="6930243045593601084">"اکنون خاموش کنید"</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> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"دیگر این اعلانها را دریافت نخواهید کرد"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> دسته اعلان"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"این برنامه دسته اعلان ندارد"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"نمیتوان اعلانهای این برنامه را خاموش کرد"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="one">۱ از <xliff:g id="NUMBER_1">%d</xliff:g> دسته اعلان این برنامه</item> <item quantity="other">۱ از <xliff:g id="NUMBER_1">%d</xliff:g> دسته اعلان این برنامه</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"گزینههای تعویق اعلان"</string> <string name="snooze_undo" msgid="6074877317002985129">"واگرد"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"<xliff:g id="TIME_AMOUNT">%1$s</xliff:g> به تعویق افتاد"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="one">%d ساعت</item> + <item quantity="other">%d ساعت</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="one">%d دقیقه</item> + <item quantity="other">%d دقیقه</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"مصرف باتری"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"هنگام شارژ شدن، «بهینهسازی باتری» در دسترس نیست"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"بهینهسازی باتری"</string> @@ -708,7 +714,7 @@ <string name="accessibility_quick_settings_expand" msgid="2375165227880477530">"باز کردن تنظیمات سریع."</string> <string name="accessibility_quick_settings_collapse" msgid="1792625797142648105">"بستن تنظیمات سریع."</string> <string name="accessibility_quick_settings_alarm_set" msgid="1863000242431528676">"تنظیم زنگ ساعت."</string> - <string name="accessibility_quick_settings_user" msgid="1567445362870421770">"واردشده به سیستم بهعنوان <xliff:g id="ID_1">%s</xliff:g>"</string> + <string name="accessibility_quick_settings_user" msgid="1567445362870421770">"با <xliff:g id="ID_1">%s</xliff:g> به سیستم وارد شدهاید"</string> <string name="accessibility_quick_settings_no_internet" msgid="31890692343084075">"عدم اتصال به اینترنت."</string> <string name="accessibility_quick_settings_open_details" msgid="4230931801728005194">"باز کردن جزئیات."</string> <string name="accessibility_quick_settings_open_settings" msgid="7806613775728380737">"باز کردن تنظیمات <xliff:g id="ID_1">%s</xliff:g>."</string> diff --git a/packages/SystemUI/res/values-fi/strings.xml b/packages/SystemUI/res/values-fi/strings.xml index e630cfc414d6..2cb3cd3fb901 100644 --- a/packages/SystemUI/res/values-fi/strings.xml +++ b/packages/SystemUI/res/values-fi/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Haku"</string> <string name="description_direction_up" msgid="7169032478259485180">"Liu\'uta ylös ja <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Liu\'uta vasemmalle ja <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Äänet ja värinät eivät häiritse sinua, paitsi jos ne ovat hälytyksiä, muistutuksia, tapahtumia tai määrittämiäsi soittajia."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Äänet ja värinät eivät häiritse sinua, paitsi jos ne ovat hälytyksiä, muistutuksia, tapahtumia tai määrittämiäsi soittajia. Kuulet edelleen kaiken valitsemasi sisällön, kuten musiikin, videot ja pelit."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Äänet ja värinät eivät häiritse sinua, paitsi jos ne ovat hälytyksiä. Kuulet edelleen kaiken valitsemasi sisällön, kuten musiikin, videot ja pelit."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Muokkaa"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Tämä estää KAIKKI äänet ja värinät, mukaan lukien hälytysten, musiikin, videoiden ja pelien äänet ja värinät. Voit kuitenkin soittaa puheluita."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Tämä estää KAIKKI äänet ja värinät, mukaan lukien hälytysten, musiikin, videoiden ja pelien äänet ja värinät."</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Ei kiitos"</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"Määritä asetukset"</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">"Lopeta nyt"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Sammuta nyt"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Laajenna."</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Tiivistä."</string> <string name="screen_pinning_title" msgid="3273740381976175811">"Näyttö on kiinnitetty"</string> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Et saa näitä ilmoituksia enää."</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> ilmoitusluokkaa"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Tällä sovelluksella ei ole ilmoitusluokkia."</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Tämän sovelluksen ilmoituksia ei voi poistaa käytöstä."</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">Tämä sovellus: 1/<xliff:g id="NUMBER_1">%d</xliff:g> ilmoitusluokkaa</item> <item quantity="one">Tämä sovellus: 1/<xliff:g id="NUMBER_0">%d</xliff:g> ilmoitusluokkaa</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"Ilmoitusten torkkuasetukset"</string> <string name="snooze_undo" msgid="6074877317002985129">"KUMOA"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Torkku: <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d tuntia</item> + <item quantity="one">%d tunti</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d minuuttia</item> + <item quantity="one">%d minuutti</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Akun käyttö"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Virransäästö ei ole käytettävissä latauksen aikana."</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Virransäästö"</string> diff --git a/packages/SystemUI/res/values-fr-rCA/strings.xml b/packages/SystemUI/res/values-fr-rCA/strings.xml index 4dd3c479fd2a..d04cc76b2c24 100644 --- a/packages/SystemUI/res/values-fr-rCA/strings.xml +++ b/packages/SystemUI/res/values-fr-rCA/strings.xml @@ -354,7 +354,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Recherche"</string> <string name="description_direction_up" msgid="7169032478259485180">"Faire glisser le doigt vers le haut : <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>"</string> <string name="description_direction_left" msgid="7207478719805562165">"Faites glisser votre doigt vers la gauche pour <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Vous ne serez pas dérangé par les sonneries ni par les vibrations, sauf pour les alarmes, les rappels, les événements et les appels des personnes que vous spécifiez."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Vous ne serez pas dérangé par les sons et les vibrations, sauf pour les alarmes, les rappels, les événements et les appelants. Vous entendrez tout ce que vous choisissez d\'écouter, y compris la musique, les vidéos et les jeux."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Vous ne serez pas dérangé par les sons et les vibrations, sauf pour les alarmes. Vous entendrez tout ce que vous choisissez d\'écouter, y compris la musique, les vidéos et les jeux."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Personnaliser"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Cette option permet de bloquer TOUS les sons et vibrations, y compris pour les alarmes, la musique, les vidéos et les jeux. Vous pourrez quand même faire des appels téléphoniques."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Cette option permet de bloquer TOUS les sons et vibrations, y compris pour les alarmes, la musique, les vidéos et les jeux."</string> @@ -476,7 +477,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Non, merci"</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"Configurer"</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">"Arrêter maintenant"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Désactiver maintenant"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Développer"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Réduire"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"L\'écran est épinglé"</string> @@ -554,8 +555,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Vous ne recevrez plus ces notifications"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> catégories de notification"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Cette application n\'a pas de catégories de notification"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Les notifications de cette application ne peuvent pas être désactivées"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="one">1 catégorie de notification sur <xliff:g id="NUMBER_1">%d</xliff:g> provenant de cette application</item> <item quantity="other">1 catégorie de notification sur <xliff:g id="NUMBER_1">%d</xliff:g> provenant de cette application</item> @@ -577,8 +577,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"options de répétition des notifications"</string> <string name="snooze_undo" msgid="6074877317002985129">"ANNULER"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Reporté pour <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="one">%d heure</item> + <item quantity="other">%d heures</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="one">%d minute</item> + <item quantity="other">%d minutes</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Utilisation de la pile"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Le mode Économie d\'énergie n\'est pas accessible pendant la charge"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Économie d\'énergie"</string> diff --git a/packages/SystemUI/res/values-fr/strings.xml b/packages/SystemUI/res/values-fr/strings.xml index 649471010be8..65b540544581 100644 --- a/packages/SystemUI/res/values-fr/strings.xml +++ b/packages/SystemUI/res/values-fr/strings.xml @@ -354,7 +354,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Rechercher"</string> <string name="description_direction_up" msgid="7169032478259485180">"Faites glisser vers le haut pour <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Faites glisser vers la gauche pour <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Vous ne serez pas dérangé par les sonneries ni les vibrations, sauf pour les alarmes, les rappels, les événements et les appels des personnes que vous avez spécifiées."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Vous ne serez pas dérangé par des sons ou des vibrations, hormis ceux des alarmes, des rappels, des événements et des appelants de votre choix. Vous entendrez toujours les sons que vous choisirez de jouer, notamment la musique, les vidéos et les jeux."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Vous ne serez pas dérangé par des sons ou des vibrations, hormis ceux des alarmes. Vous entendrez toujours les sons que vous choisirez de jouer, notamment la musique, les vidéos et les jeux."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Personnaliser"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Cette option permet de bloquer TOUS les sons et les vibrations, y compris pour les alarmes, la musique, les vidéos et les jeux. Vous pourrez toujours passer des appels téléphoniques."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Cette option permet de bloquer TOUS les sons et les vibrations, y compris pour les alarmes, la musique, les vidéos et les jeux."</string> @@ -476,7 +477,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Non, merci"</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"Configurer"</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">"Arrêter maintenant"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Désactiver"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Développer"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Réduire"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"Écran épinglé"</string> @@ -554,8 +555,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Vous ne recevrez plus ces notifications"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> catégories de notification"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Cette application n\'a pas de catégories de notification"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Impossible de désactiver les notifications de cette application"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="one">1 catégorie de notification sur <xliff:g id="NUMBER_1">%d</xliff:g> provenant de cette application</item> <item quantity="other">1 catégorie de notification sur <xliff:g id="NUMBER_1">%d</xliff:g> provenant de cette application</item> @@ -577,8 +577,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"options de répétition des notifications"</string> <string name="snooze_undo" msgid="6074877317002985129">"ANNULER"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Répétée après <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="one">%d heure</item> + <item quantity="other">%d heures</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="one">%d minute</item> + <item quantity="other">%d minutes</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Utilisation batterie"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"L\'économiseur de batterie n\'est pas disponible lorsque l\'appareil est en charge."</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Économiseur de batterie"</string> diff --git a/packages/SystemUI/res/values-gl/strings.xml b/packages/SystemUI/res/values-gl/strings.xml index f8daa9e10b45..bf5eb18467f2 100644 --- a/packages/SystemUI/res/values-gl/strings.xml +++ b/packages/SystemUI/res/values-gl/strings.xml @@ -354,7 +354,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Buscar"</string> <string name="description_direction_up" msgid="7169032478259485180">"Pasa o dedo cara arriba para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Pasa o dedo cara a esquerda para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Non te molestará ningún son nin vibración, agás os procedentes de alarmas, recordatorios, eventos e os emisores de chamada especificados."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Non te molestará ningún son nin vibración, agás os procedentes de alarmas, recordatorios, eventos e os emisores de chamada especificados. Seguirás escoitando todo aquilo que decidas reproducir, mesmo a música, os vídeos e os xogos."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Non te molestará ningún son nin vibración, agás os procedentes de alarmas. Seguirás escoitando todo aquilo que decidas reproducir, mesmo a música, os vídeos e os xogos."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Personalizar"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Esta acción bloquea TODOS os sons e vibracións, incluídos os das alarmas, música, vídeos e xogos. Aínda podes facer chamadas de teléfono."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Esta acción bloquea TODOS os sons e vibracións, incluídos os das alarmas, música, vídeos e xogos."</string> @@ -476,7 +477,7 @@ <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> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Desactivar agora"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Ampliar"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Contraer"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"A pantalla está fixada"</string> @@ -554,8 +555,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Deixarás de recibir estas notificacións"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> categorías de notificacións"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Esta aplicación non ten categorías de notificacións"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Non se poden desactivar as notificacións desta aplicación"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">1 de <xliff:g id="NUMBER_1">%d</xliff:g> categorías de notificacións desta aplicación</item> <item quantity="one">1 de <xliff:g id="NUMBER_0">%d</xliff:g> categoría de notificación desta aplicación</item> @@ -577,8 +577,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"opcións para adiar notificacións"</string> <string name="snooze_undo" msgid="6074877317002985129">"DESFACER"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Adiouse <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d horas</item> + <item quantity="one">%d hora</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d minutos</item> + <item quantity="one">%d minuto</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Uso de batería"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"A función de aforro da batería non está dispoñible durante a carga"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Aforro de batería"</string> diff --git a/packages/SystemUI/res/values-gu/strings.xml b/packages/SystemUI/res/values-gu/strings.xml index 13e47f94069e..9b0d2a17bc50 100644 --- a/packages/SystemUI/res/values-gu/strings.xml +++ b/packages/SystemUI/res/values-gu/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"શોધો"</string> <string name="description_direction_up" msgid="7169032478259485180">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> માટે ઉપર સ્લાઇડ કરો."</string> <string name="description_direction_left" msgid="7207478719805562165">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> માટે ડાબે સ્લાઇડ કરો."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"તમને તમે ઉલ્લેખિત એલાર્મ્સ, સ્મૃતિપત્રો, ઇવેન્ટ્સ અને કૉલર્સ સિવાયના ધ્વનિઓ અને વાઇબ્રેશન્સથી ખલેલ પહોંચાડવામાં આવશે નહીં."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"તમને ધ્વનિ કે વાઇબ્રેશનો દ્વારા ખલેલ પહોંચાડવામાં આવશે નહીં, સિવાય કે અલાર્મ, સ્મૃતિપત્રો, ઇવેન્ટ અને તમે ઉલ્લેખ કરો તે કૉલર. તમે સંગીત, વીડિયો અને રમતો સહિત તમે જે કંઈપણ ચલાવવાનું પસંદ કરો તે હજુ પણ સંભળાશે."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"તમને ધ્વનિ કે વાઇબ્રેશનો દ્વારા ખલેલ પહોંચાડવામાં આવશે નહીં, સિવાય કે અલાર્મ. તમે સંગીત, વીડિયો અને રમતો સહિત તમે જે કંઈપણ ચલાવવાનું પસંદ કરો તે હજુ પણ સંભળાશે."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"કસ્ટમાઇઝ કરો"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"આ એલાર્મ્સ, સંગીત, વિડિઓઝ અને રમતો સહિત તમામ ધ્વનિઓ અને વાઇબ્રેશન્સને અવરોધિત કરે છે. તમે હજુ પણ ફોન કૉલ્સ કરવા માટે સમર્થ હશો."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"એલાર્મ્સ, સંગીત, વિડિઓઝ અને રમતો સહિત તમામ ધ્વનિઓ અને વાઇબ્રેશન્સને આ અવરોધિત કરે છે."</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"નહીં આભાર"</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="volume_zen_end_now" msgid="6930243045593601084">"હમણાં બંધ કરો"</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> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"તમને હવે આ સૂચનાઓ મળશે નહીં"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> સૂચના કૅટેગરીઓ"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"આ ઍપ્લિકેશનમાં સૂચના કૅટેગરી નથી"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"આ ઍપ્લિકેશનની સૂચનાઓ બંધ કરી શકાતી નથી"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="one">આ ઍપ્લિકેશનમાંની <xliff:g id="NUMBER_1">%d</xliff:g> સૂચના કૅટેગરીમાંથી 1</item> <item quantity="other">આ ઍપ્લિકેશનમાંની <xliff:g id="NUMBER_1">%d</xliff:g> સૂચના કૅટેગરીમાંથી 1</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"સૂચના સ્નૂઝ કરવાના વિકલ્પો"</string> <string name="snooze_undo" msgid="6074877317002985129">"પૂર્વવત્ કરો"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"<xliff:g id="TIME_AMOUNT">%1$s</xliff:g> માટે સ્નૂઝ કરો"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="one">%d કલાક</item> + <item quantity="other">%d કલાક</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="one">%d મિનિટ</item> + <item quantity="other">%d મિનિટ</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"બૅટરી વપરાશ"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"ચાર્જિંગ દરમિયાન બૅટરી બચતકર્તા ઉપલબ્ધ નથી"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"બૅટરી બચતકર્તા"</string> diff --git a/packages/SystemUI/res/values-hi/strings.xml b/packages/SystemUI/res/values-hi/strings.xml index 65eda75452d7..024418b9d38c 100644 --- a/packages/SystemUI/res/values-hi/strings.xml +++ b/packages/SystemUI/res/values-hi/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"खोजें"</string> <string name="description_direction_up" msgid="7169032478259485180">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> के लिए ऊपर स्लाइड करें."</string> <string name="description_direction_left" msgid="7207478719805562165">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> के लिए बाएं स्लाइड करें."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"आपको आपके द्वारा निर्दिष्ट किए गए अलार्म, रिमाइंडर्स, इवेंट और कॉलर को छोड़कर अन्य ध्वनियों और कंपनों के द्वारा परेशान नहीं किया जाएगा."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"आपको अलार्म, रिमाइंडर, इवेंट और आपने जिन कॉलर के बारे में विशेष रूप से बताया है, उन्हें छोड़कर ध्वनियों और कंपनों से परेशान नहीं किया जाएगा. आपको अभी भी संगीत, वीडियो और गेम सहित वह सब कुछ सुनाई देगा जो आपने चलाने के लिए चुना है."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"आपको अलार्म छोड़कर दूसरी ध्वनियों और कंपनों से परेशान नहीं किया जाएगा. आपको अभी भी संगीत, वीडियो और गेम सहित वह सब कुछ सुनाई देगा जो आपने चलाने के लिए चुना है."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"कस्टमाइज़ करें"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"इससे अलार्म, संगीत, वीडियो और गेम सहित सभी ध्वनियां और कंपन अवरुद्ध हो जाते हैं. आप अभी भी फ़ोन काॅल कर सकेंगे."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"इससे अलार्म, संगीत, वीडियो और गेम सहित सभी ध्वनियां और कंपन अवरुद्ध हो जाते हैं."</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"रहने दें"</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="volume_zen_end_now" msgid="6930243045593601084">"अभी बंद करें"</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> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"अब आपको ये नोटिफ़िकेशन नहीं मिलेंगे"</string> <string name="notification_num_channels" msgid="2048144408999179471">"नोटिफ़िकेशन की <xliff:g id="NUMBER">%d</xliff:g> श्रेणियां"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"इस ऐप्लिकेशन में नोटिफ़िकेशन श्रेणियां नहीं हैं"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"इस ऐप्लिकेशन के नोटिफ़िकेशन बंद नहीं किए जा सकते"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="one">इस ऐप्लिकेशन की <xliff:g id="NUMBER_1">%d</xliff:g> नोटिफ़िकेशन श्रेणियों में से 1 श्रेणी</item> <item quantity="other">इस ऐप्लिकेशन की <xliff:g id="NUMBER_1">%d</xliff:g> नोटिफ़िकेशन श्रेणियों में से 1 श्रेणी</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"नोटिफ़िकेशन की याद दिलाने के विकल्प"</string> <string name="snooze_undo" msgid="6074877317002985129">"पहले जैसा करें"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"<xliff:g id="TIME_AMOUNT">%1$s</xliff:g> के लिए याद दिलाया गया"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="one">%d घंटे</item> + <item quantity="other">%d घंटे</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="one">%d मिनट</item> + <item quantity="other">%d मिनट</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"बैटरी उपयोग"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"चार्ज किए जाने के दौरान बैटरी सेवर उपलब्ध नहीं है"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"बैटरी सेवर"</string> diff --git a/packages/SystemUI/res/values-hr/strings.xml b/packages/SystemUI/res/values-hr/strings.xml index 99df2bfe97c8..e59adbdd9fe4 100644 --- a/packages/SystemUI/res/values-hr/strings.xml +++ b/packages/SystemUI/res/values-hr/strings.xml @@ -354,7 +354,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Pretraživanje"</string> <string name="description_direction_up" msgid="7169032478259485180">"Kliznite prema gore za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Kliznite lijevo za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Neće vas prekidati zvukovi i vibracije, osim alarma, podsjetnika, događaja i pozivatelja koje navedete."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Neće vas ometati zvukovi i vibracije, osim alarma, podsjetnika, događaja i pozivatelja koje navedete. I dalje ćete čuti sve što želite reproducirati, uključujući glazbu, videozapise i igre."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Neće vas ometati zvukovi i vibracije, osim alarma. I dalje ćete čuti sve što želite reproducirati, uključujući glazbu, videozapise i igre."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Prilagodi"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"To blokira SVE zvukove i vibracije, uključujući alarme, glazbu, videozapise i igre. I dalje ćete moći telefonirati."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"To blokira SVE zvukove i vibracije, uključujući alarme, glazbu, videozapise i igre."</string> @@ -476,7 +477,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Ne, hvala"</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"Postavi"</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">"Prekini sada"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Odmah isključi"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Proširivanje"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Sažimanje"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"Zaslon je prikvačen"</string> @@ -554,8 +555,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Više nećete primati te obavijesti"</string> <string name="notification_num_channels" msgid="2048144408999179471">"Broj kategorija obavijesti: <xliff:g id="NUMBER">%d</xliff:g>"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Ova aplikacija nema kategorije obavijesti"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Obavijesti ove aplikacije ne mogu se isključiti"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="one">1 od <xliff:g id="NUMBER_1">%d</xliff:g> kategorije obavijesti iz ove aplikacije</item> <item quantity="few">1 od <xliff:g id="NUMBER_1">%d</xliff:g> kategorije obavijesti iz ove aplikacije</item> @@ -579,8 +579,16 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"opcije odgode obavijesti"</string> <string name="snooze_undo" msgid="6074877317002985129">"PONIŠTI"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Odgođeno <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="one">%d sat</item> + <item quantity="few">%d sata</item> + <item quantity="other">%d sati</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="one">%d minuta</item> + <item quantity="few">%d minute</item> + <item quantity="other">%d minuta</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Potrošnja baterije"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Štednja baterije nije dostupna tijekom punjenja"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Štednja baterije"</string> diff --git a/packages/SystemUI/res/values-hu/strings.xml b/packages/SystemUI/res/values-hu/strings.xml index 2afaf61c946b..f1f2e2222d9c 100644 --- a/packages/SystemUI/res/values-hu/strings.xml +++ b/packages/SystemUI/res/values-hu/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Keresés"</string> <string name="description_direction_up" msgid="7169032478259485180">"A(z) <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> művelethez csúsztassa felfelé."</string> <string name="description_direction_left" msgid="7207478719805562165">"A(z) <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> művelethez csúsztassa balra."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Nem zavarják majd hanghatások, sem rezgés, kivéve az ébresztéseket, emlékeztetőket, eseményeket és az Ön által megjelölt hívókat."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Az Ön által meghatározott ébresztéseken, emlékeztetőkön, eseményeken és hívókon kívül nem fogja Önt más hang vagy rezgés megzavarni. Továbbra is lesz hangjuk azoknak a tartalmaknak, amelyeket Ön elindít, például zenék, videók és játékok."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Az ébresztéseken kívül nem fogja Önt más hang és rezgés megzavarni. Továbbra is lesz hangjuk azoknak a tartalmaknak, amelyeket Ön elindít, például zenék, videók és játékok."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Személyre szabás"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Ez letiltja az ÖSSZES hanghatást és rezgést, beleértve az ébresztések, zeneszámok, videók és játékok hangjait is. Telefonhívást továbbra is indíthat majd."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Ez letiltja az ÖSSZES hanghatást és rezgést, beleértve az ébresztések, zeneszámok, videók és játékok hangjait is."</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Nem, köszönöm"</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"Beállítás"</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">"Befejezés most"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Kikapcsolás most"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Kibontás"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Összecsukás"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"A képernyő rögzítve van"</string> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Többé nem jelennek meg ezek az értesítések"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> értesítéskategória"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Az alkalmazás nem rendelkezik értesítési kategóriákkal"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Az alkalmazástól érkező értesítések nem kapcsolhatók ki"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g>/1 értesítési kategória az alkalmazásból</item> <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g>/1 értesítési kategória az alkalmazásból</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"értesítések halasztási beállításai"</string> <string name="snooze_undo" msgid="6074877317002985129">"VISSZAVONÁS"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Elhalasztva: <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d óra</item> + <item quantity="one">%d óra</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d perc</item> + <item quantity="one">%d perc</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Akkumulátorhasználat"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Az Akkumulátorkímélő módot töltés közben nem lehet használni"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Akkumulátorkímélő mód"</string> diff --git a/packages/SystemUI/res/values-hy/strings.xml b/packages/SystemUI/res/values-hy/strings.xml index cc6608a8fc9e..a678a0876920 100644 --- a/packages/SystemUI/res/values-hy/strings.xml +++ b/packages/SystemUI/res/values-hy/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Որոնել"</string> <string name="description_direction_up" msgid="7169032478259485180">"Սահեցրեք վերև <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>-ի համար:"</string> <string name="description_direction_left" msgid="7207478719805562165">"Սահեցրեք ձախ` <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>-ի համար:"</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Բոլոր ձայներն ու թրթռոցները կանջատվեն։ Ձեզ կանհանգստացնեն միայն զարթուցիչը, հիշեցումները, միջոցառումների մասին ծանուցումները և զանգերը ձեր ընտրած մարդկանցից։"</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Ձայները և թրթռոցները չեն անհանգստացնի ձեզ, բացի ձեր կողմից նշված զարթուցիչները, հիշեցումները, միջոցառումների ծանուցումները և զանգերը։ Դուք կլսեք ձեր ընտրածի նվագարկումը, այդ թվում՝ երաժշտություն, տեսանյութեր և խաղեր:"</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Ձայները և թրթռոցները, բացի զարթուցիչներից, չեն անհանգստացնի ձեզ: Դուք կլսեք ձեր ընտրածի նվագարկումը, այդ թվում՝ երաժշտություն, տեսանյութեր և խաղեր:"</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Հարմարեցնել"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Այս գործողությունն արգելափակում է ԲՈԼՈՐ ձայներն ու թրթռոցները, այդ թվում զարթուցիչները, երաժշտությունը, տեսանյութերի և խաղերի ձայները: Դուք կկարողանաք հեռախոսազանգեր անել։"</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Այս գործողությունն արգելափակում է ԲՈԼՈՐ ձայներն ու թրթռոցները, այդ թվում նաև զարթուցիչների, երաժշտության, տեսանյութերի և խաղերի ձայներն ու թրթռոցները:"</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Ոչ"</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="volume_zen_end_now" msgid="6930243045593601084">"Անջատել հիմա"</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> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Այս ծանուցումներն այլևս չեք ստանա"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> ծանուցման կատեգորիաներ"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Այս հավելվածը ծանուցման կատեգորիաներ չունի"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Այս հավելվածի ծանուցումները հնարավոր չէ անջատել"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="one">1 out of <xliff:g id="NUMBER_1">%d</xliff:g> notification categories from this app</item> <item quantity="other">1 ալիք` այս հավելվածի <xliff:g id="NUMBER_1">%d</xliff:g> կատեգորիաներից</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"ծանուցման հետաձգման ընտրանքներ"</string> <string name="snooze_undo" msgid="6074877317002985129">"ՀԵՏԱՐԿԵԼ"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Հետաձգվել է <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>ով"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="one">%d hours</item> + <item quantity="other">%d ժամ</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="one">%d minutes</item> + <item quantity="other">%d րոպե</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Մարտկոցի օգտագործում"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Մարտկոցի տնտեսումը լիցքավորման ժամանակ հասանելի չէ"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Մարտկոցի տնտեսում"</string> diff --git a/packages/SystemUI/res/values-in/strings.xml b/packages/SystemUI/res/values-in/strings.xml index e71a999d14a6..8f49d81701f5 100644 --- a/packages/SystemUI/res/values-in/strings.xml +++ b/packages/SystemUI/res/values-in/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Telusuri"</string> <string name="description_direction_up" msgid="7169032478259485180">"Geser ke atas untuk <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Geser ke kiri untuk <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Anda tidak akan diganggu oleh suara dan getaran, kecuali dari alarm, pengingat, acara, dan penelepon tertentu."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Anda tidak akan terganggu oleh suara dan getaran, kecuali dari alarm, pengingat, acara, dan penelepon yang Anda tentukan. Anda akan tetap mendengar apa pun yang telah dipilih untuk diputar, termasuk musik, video, dan game."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Anda tidak akan terganggu oleh suara dan getaran, kecuali dari alarm. Anda akan tetap mendengar apa pun yang telah dipilih untuk diputar, termasuk musik, video, dan game."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Sesuaikan"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"SEMUA suara dan getaran, termasuk dari alarm, musik, video, dan game akan diblokir. Anda tetap dapat melakukan panggilan telepon."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"SEMUA suara dan getaran, termasuk dari alarm, musik, video, dan game akan diblokir."</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Tidak"</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"Siapkan"</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">"Akhiri sekarang"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Nonaktifkan sekarang"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Luaskan"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Ciutkan"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"Layar dipasangi pin"</string> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Anda tidak akan mendapatkan notifikasi ini lagi"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> kategori notifikasi"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Aplikasi ini tidak memiliki kategori notifikasi"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Notifikasi dari aplikasi ini tidak dapat dinonaktifkan"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">1 dari <xliff:g id="NUMBER_1">%d</xliff:g> kategori notifikasi dari aplikasi ini</item> <item quantity="one">1 dari <xliff:g id="NUMBER_0">%d</xliff:g> kategori notifikasi dari aplikasi ini</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"opsi tunda notifikasi"</string> <string name="snooze_undo" msgid="6074877317002985129">"URUNG"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Ditunda selama <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d jam</item> + <item quantity="one">%d jam</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d menit</item> + <item quantity="one">%d menit</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Pemakaian baterai"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Penghemat Baterai tidak tersedia selama pengisian daya"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Penghemat Baterai"</string> diff --git a/packages/SystemUI/res/values-is/strings.xml b/packages/SystemUI/res/values-is/strings.xml index bc5bcaa8376e..a457b43b30c1 100644 --- a/packages/SystemUI/res/values-is/strings.xml +++ b/packages/SystemUI/res/values-is/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Leita"</string> <string name="description_direction_up" msgid="7169032478259485180">"Strjúktu upp til að <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Strjúktu til vinstri til að <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Þú verður ekki fyrir truflunum af hljóðmerkjum og titringi, fyrir utan vekjara, áminningar, viðburði og símtöl sem þú leyfir fyrir fram."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Þú verður ekki fyrir truflunum frá hljóðmerkjum og titringi, fyrir utan vekjara, áminningar, viðburði og símtöl frá þeim sem þú leyfir fyrirfram. Þú heyrir áfram í öllu sem þú velur að spila, svo sem tónlist, myndskeiðum og leikjum."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Þú verður ekki fyrir truflunum frá hljóðmerkjum og titringi, fyrir utan vekjara. Þú heyrir áfram í öllu sem þú velur að spila, svo sem tónlist, myndskeiðum og leikjum."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Sérsníða"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Þetta lokar á ÖLL hljóðmerki og titring, þ.m.t. frá vekjurum, tónlist, myndskeiðum og leikjum. Þú getur áfram hringt símtöl."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Þetta lokar á ÖLL hljóðmerki og titring, þ.m.t. frá vekjurum, tónlist, myndskeiðum og leikjum."</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Nei, takk"</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"Setja upp"</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">"Hætta núna"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Slökkva núna"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Stækka"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Minnka"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"Skjárinn er festur"</string> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Þú færð þessar tilkynningar ekki framar"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> tilkynningaflokkar"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Þetta forrit er ekki með tilkynningaflokka"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Ekki er hægt að slökkva á tilkynningum frá þessu forriti"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="one">1 af <xliff:g id="NUMBER_1">%d</xliff:g> tilkynningaflokki frá þessu forriti</item> <item quantity="other">1 af <xliff:g id="NUMBER_1">%d</xliff:g> tilkynningaflokkum frá þessu forriti</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"þöggunarstillingar tilkynninga"</string> <string name="snooze_undo" msgid="6074877317002985129">"AFTURKALLA"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Þaggað í <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="one">%d klukkustund</item> + <item quantity="other">%d klukkustundir</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="one">%d mínúta</item> + <item quantity="other">%d mínútur</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Rafhlöðunotkun"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Ekki er hægt að nota rafhlöðusparnað meðan á hleðslu stendur"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Rafhlöðusparnaður"</string> diff --git a/packages/SystemUI/res/values-it/strings.xml b/packages/SystemUI/res/values-it/strings.xml index 90838c097d64..6e0a1fcff623 100644 --- a/packages/SystemUI/res/values-it/strings.xml +++ b/packages/SystemUI/res/values-it/strings.xml @@ -354,7 +354,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Ricerca"</string> <string name="description_direction_up" msgid="7169032478259485180">"Su per <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"A sinistra per <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Non ti disturberanno: suoni e vibrazioni, ad eccezione di sveglie, promemoria, eventi e chiamate da contatti da te specificati."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Non verrai disturbato da suoni e vibrazioni, ad eccezione di sveglie, promemoria, eventi, chiamate da contatti da te specificati ed elementi che hai scelto di continuare a riprodurre, inclusi video, musica e giochi."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Non verrai disturbato da suoni e vibrazioni, ad eccezione delle sveglie e degli elementi che hai scelto di continuare a riprodurre, inclusi video, musica e giochi."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Personalizza"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Verranno bloccati TUTTI i suoni e le vibrazioni, anche di sveglie, musica, video e giochi. Potrai ancora telefonare."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Verranno bloccati TUTTI i suoni e le vibrazioni, anche di sveglie, musica, video e giochi."</string> @@ -476,7 +477,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"No, grazie"</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"Configura"</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">"Termina adesso"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Disattiva ora"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Espandi"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Comprimi"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"La schermata è bloccata"</string> @@ -554,8 +555,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Non riceverai più queste notifiche"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> categorie di notifica"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Questa app non ha categorie di notifica"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Le notifiche di quest\'app non possono essere disattivate"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">1 categoria di notifica su <xliff:g id="NUMBER_1">%d</xliff:g> di questa app</item> <item quantity="one">1 categoria di notifica su <xliff:g id="NUMBER_0">%d</xliff:g> di questa app</item> @@ -577,8 +577,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"opzioni di posticipazione notifiche"</string> <string name="snooze_undo" msgid="6074877317002985129">"ANNULLA"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Posticipato di <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d ore</item> + <item quantity="one">%d ora</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d minuti</item> + <item quantity="one">%d minuto</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Utilizzo batteria"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Risparmio energetico non disponibile durante la ricarica"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Risparmio energetico"</string> diff --git a/packages/SystemUI/res/values-iw/strings.xml b/packages/SystemUI/res/values-iw/strings.xml index 687156fb30f9..fe99ed6f36ef 100644 --- a/packages/SystemUI/res/values-iw/strings.xml +++ b/packages/SystemUI/res/values-iw/strings.xml @@ -356,7 +356,8 @@ <string name="description_target_search" msgid="3091587249776033139">"חיפוש"</string> <string name="description_direction_up" msgid="7169032478259485180">"הסט למעלה כדי להציג <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"הסט שמאלה כדי להציג <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"צלילים ורטט לא יופעלו, פרט להתראות, תזכורות, אירועים ואנשים מסוימים שמתקשרים אליך, אם יש כאלה שציינת."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"כדי לא להפריע לך, המכשיר לא ירטוט ולא ישמיע שום צליל, חוץ מהתראות, תזכורות, אירועים ושיחות ממתקשרים מסוימים לבחירתך. המצב הזה לא ישפיע על צלילים שהם חלק מתוכן שבחרת להפעיל, כמו מוזיקה, סרטונים ומשחקים."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"כדי לא להפריע לך, המכשיר לא ירטוט ולא ישמיע שום צליל, חוץ מהתראות. המצב הזה לא ישפיע על צלילים שהם חלק מתוכן שבחרת להפעיל, כמו מוזיקה, סרטונים ומשחקים."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"התאמה אישית"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"פעולה זו מבטלת את כל הצלילים והרטט, כולל צלילים ורטט שמקורם בהתראות, מוזיקה, סרטונים ומשחקים. בכל מקרה, עדיין אפשר להתקשר."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"פעולה זו מבטלת את כל הצלילים והרטט, כולל בהתראות, מוזיקה, סרטונים ומשחקים."</string> @@ -478,7 +479,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"לא, תודה"</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="volume_zen_end_now" msgid="6930243045593601084">"כבה עכשיו"</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> @@ -556,8 +557,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"לא תקבל את ההודעות האלה יותר"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> קטגוריות של התראות"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"האפליקציה הזו לא תומכת בקטגוריות של הודעות"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"לא ניתן לכבות התראות של האפליקציה הזאת"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="two">קטגוריית הודעות אחת מתוך <xliff:g id="NUMBER_1">%d</xliff:g> מאפליקציה זו</item> <item quantity="many">קטגוריית הודעות אחת מתוך <xliff:g id="NUMBER_1">%d</xliff:g> מאפליקציה זו</item> @@ -583,8 +583,18 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"אפשרויות של דחיית הודעות לטיפול בהמשך"</string> <string name="snooze_undo" msgid="6074877317002985129">"ביטול"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"נדחה לטיפול בעוד <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="two">שעתיים</item> + <item quantity="many">%d שעות</item> + <item quantity="other">%d שעות</item> + <item quantity="one">שעה</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="two">%d דקות</item> + <item quantity="many">%d דקות</item> + <item quantity="other">%d דקות</item> + <item quantity="one">דקה</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"שימוש בסוללה"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"תכונת החיסכון בסוללה אינה זמינה בעת טעינת המכשיר"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"חיסכון בסוללה"</string> diff --git a/packages/SystemUI/res/values-ja/strings.xml b/packages/SystemUI/res/values-ja/strings.xml index cf553b3126dd..7adff680bf62 100644 --- a/packages/SystemUI/res/values-ja/strings.xml +++ b/packages/SystemUI/res/values-ja/strings.xml @@ -354,7 +354,8 @@ <string name="description_target_search" msgid="3091587249776033139">"検索します"</string> <string name="description_direction_up" msgid="7169032478259485180">"上にスライドして<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>を行います。"</string> <string name="description_direction_left" msgid="7207478719805562165">"左にスライドして<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>を行います。"</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"アラーム、リマインダー、予定、指定した人からの着信以外で音やバイブレーションに煩わされることはありません。"</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"アラーム、リマインダー、予定、指定した人からの着信以外の音やバイブレーションに煩わされることはありません。音楽、動画、ゲームなど再生対象として選択したコンテンツは引き続き再生されます。"</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"アラーム以外の音やバイブレーションに煩わされることはありません。音楽、動画、ゲームなど再生対象として選択したコンテンツは引き続き再生されます。"</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"カスタマイズ"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"アラーム、音楽、動画、ゲームを含むすべての音とバイブレーションがブロックされます。電話をかけることはできます。"</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"アラーム、音楽、動画、ゲームを含むすべての音とバイブレーションがブロックされます。"</string> @@ -476,7 +477,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"キャンセル"</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="volume_zen_end_now" msgid="6930243045593601084">"OFF にする"</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> @@ -554,8 +555,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"今後、この通知は配信されません"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> 個の通知カテゴリ"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"このアプリでは通知カテゴリが設定されていません"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"このアプリの通知を OFF にすることはできません"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">このアプリの通知カテゴリ <xliff:g id="NUMBER_1">%d</xliff:g> 件中 1 件</item> <item quantity="one">このアプリの通知カテゴリ <xliff:g id="NUMBER_0">%d</xliff:g> 件中 1 件</item> @@ -577,8 +577,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"通知スヌーズ設定"</string> <string name="snooze_undo" msgid="6074877317002985129">"元に戻す"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"スヌーズ: <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d時間</item> + <item quantity="one">%d時間</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d分</item> + <item quantity="one">%d分</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"電池の使用状況"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"充電中はバッテリー セーバーは利用できません"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"バッテリー セーバー"</string> diff --git a/packages/SystemUI/res/values-ka/strings.xml b/packages/SystemUI/res/values-ka/strings.xml index f19c9dd9dee0..84cd9e214669 100644 --- a/packages/SystemUI/res/values-ka/strings.xml +++ b/packages/SystemUI/res/values-ka/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"ძიება"</string> <string name="description_direction_up" msgid="7169032478259485180">"გაასრიალეთ ზემოთ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>-თვის."</string> <string name="description_direction_left" msgid="7207478719805562165">"გაასრიალეთ მარცხნივ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>-თვის."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"თქვენ მიერ მითითებული გაფრთხილებების, შეხსენებების, ღონისძიებებისა და აბონენტების გარდა, არავითარი ხმა და ვიბრაცია არ შეგაწუხებთ."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"თქვენ მიერ მითითებული მაღვიძარების, შეხსენებების, ღონისძიებებისა და ზარების გარდა, არავითარი ხმა და ვიბრაცია არ შეგაწუხებთ. თქვენ მაინც შეგეძლებათ ნებისმიერი სასურველი რამის, მაგალითად, მუსიკის, ვიდეოებისა და თამაშების მოსმენა."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"მაღვიძარების გარდა, არავითარი ხმა და ვიბრაცია არ შეგაწუხებთ. თქვენ მაინც შეგეძლებათ ნებისმიერი სასურველი რამის, მაგალითად, მუსიკის, ვიდეოებისა და თამაშების მოსმენა."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"მორგება"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"ეს ბლოკავს ყველა ხმასა და ვიბრაციას, მათ შორის, მაღვიძარების, მუსიკის, ვიდეოებისა და თამაშების. მიუხედავად ამისა, თქვენ მაინც შეძლებთ სატელეფონო ზარების განხორციელებას."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"ეს ბლოკავს ყველა ხმასა და ვიბრაციას, მათ შორის, მაღვიძარების, მუსიკის, ვიდეოებისა და თამაშების."</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"არა, გმადლობთ"</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="volume_zen_end_now" msgid="6930243045593601084">"ახლავე გამორთვა"</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> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"ამ შეტყობინებებს აღარ მიიღებთ"</string> <string name="notification_num_channels" msgid="2048144408999179471">"შეტყობინებების <xliff:g id="NUMBER">%d</xliff:g> კატეგორია"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"ამ აპს შეტყობინებების კატეგორიები არ აქვს"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"ამ აპიდან შეტყობინებების გამორთვა ვერ მოხერხდება"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">ამ აპის შეტყობინებების <xliff:g id="NUMBER_1">%d</xliff:g> კატეგორიიდან 1</item> <item quantity="one">ამ აპის შეტყობინებების <xliff:g id="NUMBER_0">%d</xliff:g> კატეგორიიდან 1</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"შეტყობინებების ჩაჩუმების ვარიანტები"</string> <string name="snooze_undo" msgid="6074877317002985129">"მოქმედების გაუქმება"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"ჩაჩუმებული იქნება <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d საათი</item> + <item quantity="one">%d საათი</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d წუთი</item> + <item quantity="one">%d წუთი</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"ბატარეის მოხმარება"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"ბატარეის დამზოგი დატენვისას მიწვდომელია"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"ბატარეის დამზოგი"</string> diff --git a/packages/SystemUI/res/values-kk/strings.xml b/packages/SystemUI/res/values-kk/strings.xml index 3ba4cabfc411..0409ce7dea4e 100644 --- a/packages/SystemUI/res/values-kk/strings.xml +++ b/packages/SystemUI/res/values-kk/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Іздеу"</string> <string name="description_direction_up" msgid="7169032478259485180">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> үшін жоғары сырғыту."</string> <string name="description_direction_left" msgid="7207478719805562165">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> үшін солға сырғыту."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Дабылдар, еске салғыштар, оқиғалар мен өзіңіз көрсеткен контактілердің қоңырауларынан басқа дыбыстар мен дірілдер мазаламайтын болады."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Дабылдар, еске салғыштар, оқиғалар мен өзіңіз көрсеткен контактілердің қоңырауларынан басқа дыбыстар мен дірілдер мазаламайтын болады. Музыка, бейне және ойындар сияқты ойнатылатын мазмұндардың дыбысы өшірілмейді."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Дабылдардан басқа ешқандай дыбыстар мен дірілдер мазаламайтын болады. Музыка, бейне және ойындар сияқты ойнатылатын мазмұндардың дыбысы өшірілмейді."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Реттеу"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"БАРЛЫҚ, соның ішінде дабылдардың, музыканың, бейнелердің және ойындардың дыбыстары мен дірілдері өшіріледі. Бірақ телефон қоңыраулары шалына береді."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"БАРЛЫҚ, соның ішінде дабылдардың, музыканың, бейнелердің және ойындардың дыбыстары мен дірілдері өшіріледі."</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Жоқ, рақмет"</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="volume_zen_end_now" msgid="6930243045593601084">"Қазір өшіру"</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> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Енді сізге бұл хабарландырулар жіберілмейді"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> хабарландыру санаттары"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Бұл қолданбада хабарландыру санаттары жоқ"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Бұл қолданбаның хабарландырулары өшірілмейді"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">Осы қолданбадан <xliff:g id="NUMBER_1">%d</xliff:g> ішінен 1 хабарландыру санаты</item> <item quantity="one">Осы қолданбадан <xliff:g id="NUMBER_0">%d</xliff:g> ішінен 1 хабарландыру санаты</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"хабарландыруды кідірту опциялары"</string> <string name="snooze_undo" msgid="6074877317002985129">"КЕРІ ҚАЙТАРУ"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"<xliff:g id="TIME_AMOUNT">%1$s</xliff:g> кідіртілді"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d сағат</item> + <item quantity="one">%d сағат</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d минут</item> + <item quantity="one">%d минут</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Батареяны пайдалану"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Зарядтау кезінде Батарея үнемдегіш қол жетімді емес"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Батарея үнемдегіш"</string> diff --git a/packages/SystemUI/res/values-km/strings.xml b/packages/SystemUI/res/values-km/strings.xml index 1784aab3b467..2adfd707d0bf 100644 --- a/packages/SystemUI/res/values-km/strings.xml +++ b/packages/SystemUI/res/values-km/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"ស្វែងរក"</string> <string name="description_direction_up" msgid="7169032478259485180">"រុញឡើងលើដើម្បី <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ។"</string> <string name="description_direction_left" msgid="7207478719805562165">"រុញទៅឆ្វេងដើម្បី <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ។"</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"អ្នកនឹងគ្មានការរំខានដោយសារសំឡេង និងភាពរំញ័រឡើយ លើកលែងតែសំឡេងរោទ៍ ការរំលឹក ព្រឹត្តិការណ៍ និងអ្នកហៅទូរសព្ទដែលអ្នកបានបញ្ជាក់ប៉ុណ្ណោះ។"</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"សំឡេង និងរំញ័រមិនរំខានដល់អ្នកឡើយ លើកលែងតែសំឡេងរោទ៍ ការរំលឹក ព្រឹត្តិការណ៍ និងអ្នកហៅទូរសព្ទដែលអ្នកបញ្ជាក់។ អ្នកនៅតែឮអ្វីគ្រប់យ៉ាងដែលអ្នកជ្រើសរើសឲ្យលេង រួមទាំងតន្រ្តី វីដេអូ និងហ្គេមផងដែរ។"</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"សំឡេង និងរំញ័រមិនរំខានដល់អ្នកឡើយ លើកលែងតែសំឡេងរោទ៍។ អ្នកនៅតែឮអ្វីគ្រប់យ៉ាងដែលអ្នកជ្រើសរើសឲ្យលេង រួមទាំងតន្រ្តី វីដេអូ និងហ្គេមផងដែរ។"</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"ប្ដូរតាមបំណង"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"វារារាំងសំឡេង និងរំញ័រទាំងអស់ ដោយរួមបញ្ចូលទាំងសំឡេងរោទ៍ តន្ត្រី វីដេអូ និងហ្គេម។ អ្នកនឹងនៅតែអាចធ្វើការហៅទូរសព្ទបានដដែល។"</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"វារារាំងសំឡេង និងរំញ័រទាំងអស់ដែលចេញពីម៉ោងរោទិ៍ តន្ត្រី វីដេអូ និងហ្គេម។"</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"ទេ អរគុណ!"</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="volume_zen_end_now" msgid="6930243045593601084">"បិទឥឡូវនេះ"</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> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"អ្នកនឹងមិនទទួលបានការជូនដំណឹងទាំងនេះទៀតទេ"</string> <string name="notification_num_channels" msgid="2048144408999179471">"ប្រភេទនៃការជូនដំណឹងចំនួន <xliff:g id="NUMBER">%d</xliff:g>"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"កម្មវិធីនេះមិនមានប្រភេទនៃការជូនដំណឹងទេ"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"ការជូនដំណឹងពីកម្មវិធីនេះមិនអាចបិទបានទេ"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">ប្រភេទនៃការជូនដំណឹង 1 ក្នុងចំណោម <xliff:g id="NUMBER_1">%d</xliff:g> ដែលបានពីកម្មវិធីនេះ</item> <item quantity="one">ប្រភេទនៃការជូនដំណឹង 1 ក្នុងចំណោម <xliff:g id="NUMBER_0">%d</xliff:g> ដែលបានពីកម្មវិធីនេះ</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"ជម្រើសផ្អាកការជូនដំណឹង"</string> <string name="snooze_undo" msgid="6074877317002985129">"មិនធ្វើវិញ"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"បានផ្អាករយៈពេល <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d ម៉ោង</item> + <item quantity="one">%d ម៉ោង</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d នាទី</item> + <item quantity="one">%d នាទី</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"ការប្រើប្រាស់ថ្ម"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"កម្មវិធីសន្សំថ្មមិនអាចប្រើបានអំឡុងពេលសាកថ្មទេ"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"កម្មវិធីសន្សំថ្ម"</string> diff --git a/packages/SystemUI/res/values-kn/strings.xml b/packages/SystemUI/res/values-kn/strings.xml index 4357e8c23d56..bd74f0e2a943 100644 --- a/packages/SystemUI/res/values-kn/strings.xml +++ b/packages/SystemUI/res/values-kn/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"ಹುಡುಕಿ"</string> <string name="description_direction_up" msgid="7169032478259485180">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ಗಾಗಿ ಮೇಲಕ್ಕೆ ಸ್ಲೈಡ್ ಮಾಡಿ."</string> <string name="description_direction_left" msgid="7207478719805562165">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ಗಾಗಿ ಎಡಕ್ಕೆ ಸ್ಲೈಡ್ ಮಾಡಿ."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"ಅಲಾರಮ್ಗಳು, ಜ್ಞಾಪನೆಗಳು, ಈವೆಂಟ್ಗಳು ಮತ್ತು ನೀವು ಸೂಚಿಸುವ ಕರೆದಾರರನ್ನು ಹೊರತುಪಡಿಸಿ, ಧ್ವನಿಗಳು ಮತ್ತು ವೈಬ್ರೇಶನ್ಗಳಿಂದ ನಿಮಗೆ ತೊಂದರೆ ಆಗುವುದಿಲ್ಲ."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"ಅಲಾರಾಂಗಳು, ಜ್ಞಾಪನೆಗಳು, ಈವೆಂಟ್ಗಳು ಹಾಗೂ ನೀವು ಸೂಚಿಸಿರುವ ಕರೆದಾರರನ್ನು ಹೊರತುಪಡಿಸಿ ಬೇರಾವುದೇ ಸದ್ದುಗಳು ಅಥವಾ ವೈಬ್ರೇಶನ್ಗಳು ನಿಮಗೆ ತೊಂದರೆ ನೀಡುವುದಿಲ್ಲ. ಹಾಗಿದ್ದರೂ, ನೀವು ಪ್ಲೇ ಮಾಡುವ ಸಂಗೀತ, ವೀಡಿಯೊಗಳು ಮತ್ತು ಆಟಗಳ ಆಡಿಯೊ ನಿಮಗೆ ಕೇಳಿಸುತ್ತದೆ."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"ಅಲಾರಾಂಗಳನ್ನು ಹೊರತುಪಡಿಸಿ, ಬೇರಾವುದೇ ಸದ್ದುಗಳು ಅಥವಾ ವೈಬ್ರೇಶನ್ಗಳು ನಿಮಗೆ ತೊಂದರೆ ನೀಡುವುದಿಲ್ಲ. ಹಾಗಿದ್ದರೂ, ನೀವು ಪ್ಲೇ ಮಾಡುವ ಸಂಗೀತ, ವೀಡಿಯೊಗಳು ಮತ್ತು ಆಟಗಳ ಆಡಿಯೊ ನಿಮಗೆ ಕೇಳಿಸುತ್ತದೆ."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"ಕಸ್ಟಮೈಸ್ ಮಾಡು"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"ಇದು ಅಲಾರಮ್ಗಳು, ಸಂಗೀತ, ವೀಡಿಯೊಗಳು, ಮತ್ತು ಗೇಮ್ಗಳು ಸೇರಿದಂತೆ ಎಲ್ಲಾ ಧ್ವನಿಗಳು ಮತ್ತು ವೈಬ್ರೇಶನ್ಗಳನ್ನು ನಿರ್ಬಂಧಿಸುತ್ತದೆ. ನಿಮಗೆ ಈಗಲೂ ಫೋನ್ ಕರೆಗಳನ್ನು ಮಾಡಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"ಇದು ಅಲಾರಮ್ಗಳು, ಸಂಗೀತ, ವೀಡಿಯೊಗಳು, ಮತ್ತು ಗೇಮ್ಗಳು ಸೇರಿದಂತೆ ಎಲ್ಲಾ ಧ್ವನಿಗಳು ಮತ್ತು ವೈಬ್ರೇಶನ್ಗಳನ್ನು ನಿರ್ಬಂಧಿಸುತ್ತದೆ."</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"ಧನ್ಯವಾದಗಳು"</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="volume_zen_end_now" msgid="6930243045593601084">"ಈಗ ಆಫ್ ಮಾಡಿ"</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> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"ನೀವು ಇನ್ನು ಮುಂದೆ ಈ ಅಧಿಸೂಚನೆಗಳನ್ನು ಪಡೆಯುವುದಿಲ್ಲ"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> ಅಧಿಸೂಚನೆ ವರ್ಗಗಳು"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"ಈ ಅಪ್ಲಿಕೇಶನ್ ಅಧಿಸೂಚನೆ ವರ್ಗಗಳನ್ನು ಹೊಂದಿಲ್ಲ"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"ಈ ಅಪ್ಲಿಕೇಶನ್ನಿಂದ ಅಧಿಸೂಚನೆಗಳನ್ನು ಆಫ್ ಮಾಡಲಾಗುವುದಿಲ್ಲ"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="one">ಈ ಅಪ್ಲಿಕೇಶನ್ನಿಂದ <xliff:g id="NUMBER_1">%d</xliff:g> ಅಧಿಸೂಚನೆ ವರ್ಗಗಳಲ್ಲಿ 1 ವರ್ಗ</item> <item quantity="other">ಈ ಅಪ್ಲಿಕೇಶನ್ನಿಂದ <xliff:g id="NUMBER_1">%d</xliff:g> ಅಧಿಸೂಚನೆ ವರ್ಗಗಳಲ್ಲಿ 1 ವರ್ಗ</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"ಅಧಿಸೂಚನೆ ಸ್ನೂಜ್ ಆಯ್ಕೆಗಳು"</string> <string name="snooze_undo" msgid="6074877317002985129">"ರದ್ದುಮಾಡಿ"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"<xliff:g id="TIME_AMOUNT">%1$s</xliff:g> ಗೆ ಸ್ನೂಜ್ ಮಾಡಲಾಗಿದೆ"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="one">%d ಗಂಟೆಗಳು</item> + <item quantity="other">%d ಗಂಟೆಗಳು</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="one">%d ನಿಮಿಷಗಳು</item> + <item quantity="other">%d ನಿಮಿಷಗಳು</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"ಬ್ಯಾಟರಿ ಬಳಕೆ"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"ಚಾರ್ಜಿಂಗ್ ಸಮಯದಲ್ಲಿ ಬ್ಯಾಟರಿ ಸೇವರ್ ಲಭ್ಯವಿರುವುದಿಲ್ಲ"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"ಬ್ಯಾಟರಿ ಸೇವರ್"</string> diff --git a/packages/SystemUI/res/values-ko/strings.xml b/packages/SystemUI/res/values-ko/strings.xml index 898618b896db..6e70f065739a 100644 --- a/packages/SystemUI/res/values-ko/strings.xml +++ b/packages/SystemUI/res/values-ko/strings.xml @@ -354,7 +354,8 @@ <string name="description_target_search" msgid="3091587249776033139">"검색"</string> <string name="description_direction_up" msgid="7169032478259485180">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>하려면 위로 슬라이드"</string> <string name="description_direction_left" msgid="7207478719805562165">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>하려면 왼쪽으로 슬라이드"</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"지정한 알람, 알림, 이벤트, 발신자를 제외하고 소리와 진동을 끕니다."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"알람, 알림, 일정 및 지정한 발신자부터 받은 연락을 제외하고 소리와 진동을 끕니다. 음악, 동영상, 게임 등에서 재생하도록 선택한 소리는 정상적으로 들립니다."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"알람을 제외하고 소리와 진동을 끕니다. 음악, 동영상, 게임 등에서 재생하도록 선택한 소리는 정상적으로 들립니다."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"맞춤설정"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"알람, 음악, 동영상, 게임을 포함하여 모든 소리와 진동을 끕니다. 전화는 걸 수 있습니다."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"알람, 음악, 동영상, 게임을 포함하여 모든 소리와 진동을 끕니다."</string> @@ -476,7 +477,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"사용 안함"</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="volume_zen_end_now" msgid="6930243045593601084">"지금 사용 중지"</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> @@ -554,8 +555,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"더 이상 다음의 알림을 받지 않습니다."</string> <string name="notification_num_channels" msgid="2048144408999179471">"알림 카테고리 <xliff:g id="NUMBER">%d</xliff:g>개"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"이 앱에는 알림 카테고리가 없습니다."</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"이 앱의 알림을 사용 중지할 수 없습니다."</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">이 앱에서 <xliff:g id="NUMBER_1">%d</xliff:g>개의 알림 카테고리 중 1개가 정의됨</item> <item quantity="one">이 앱에서 <xliff:g id="NUMBER_0">%d</xliff:g>개의 알림 카테고리 중 1개가 정의됨</item> @@ -577,8 +577,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"알림 일시 중지 옵션"</string> <string name="snooze_undo" msgid="6074877317002985129">"실행취소"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"<xliff:g id="TIME_AMOUNT">%1$s</xliff:g> 동안 일시 중지됨"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d시간</item> + <item quantity="one">%d시간</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d분</item> + <item quantity="one">%d분</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"배터리 사용량"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"충전하는 동안 배터리 세이버는 사용할 수 없습니다."</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"배터리 세이버"</string> diff --git a/packages/SystemUI/res/values-ky/strings.xml b/packages/SystemUI/res/values-ky/strings.xml index 464f86645be7..af98db7e80f0 100644 --- a/packages/SystemUI/res/values-ky/strings.xml +++ b/packages/SystemUI/res/values-ky/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Издөө"</string> <string name="description_direction_up" msgid="7169032478259485180">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> үчүн жогору жылмыштырыңыз."</string> <string name="description_direction_left" msgid="7207478719805562165">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> үчүн солго жылмыштырыңыз."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Эскертүүлөрдөн, жылнаамадагы иш-чараларды эстеткичтерден жана белгиленген байланыштардын чалууларынан тышкары башка үндөр жана дирилдөөлөр тынчыңызды албайт."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Ойготкучтардан, эскертүүлөрдөн, жылнаамадагы иш-чараларды эстеткичтерден жана белгиленген байланыштардын чалууларынан тышкары башка үндөр жана дирилдөөлөр тынчыңызды албайт. Бирок ойнотулуп жаткан музыканы, видеолорду жана оюндарды мурдагыдай эле уга бересиз."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Ойготкучтардан башка үндөр жана дирилдөөлөр тынчыңызды албайт. Бирок ойнотулуп жаткан музыканы, видеолорду жана оюндарды мурдагыдай эле уга бересиз."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Ыңгайлаштыруу"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Ушуну менен эскертүүлөрдүн, музыканын, видеолордун жана оюндардын үндөрү жана дирилдөөлөрү өчүрүлөт. Бирок телефон менен сүйлөшө бересиз."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Ушуну менен эскертүүлөрдүн, музыканын, видеолордун жана оюндардын үндөрү жана дирилдөөлөрү өчүрүлөт."</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Жок, рахмат"</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="volume_zen_end_now" msgid="6930243045593601084">"Азыр өчүрүлсүн"</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> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Мындан ары бул эскертмелер сизге жөнөтүлбөйт"</string> <string name="notification_num_channels" msgid="2048144408999179471">"Эскертмелердин <xliff:g id="NUMBER">%d</xliff:g> категориясы"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Бул колдонмонун эскертме категориялары жок"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Бул колдонмонун эскертмелерин өчүрүүгө болбойт"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">Бул колдонмодогу <xliff:g id="NUMBER_1">%d</xliff:g> эскертме категориянын ичинен 1 категория</item> <item quantity="one">Бул колдонмодогу <xliff:g id="NUMBER_0">%d</xliff:g> эскертме категориянын ичинен 1 категория</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"эскертмени тындыруу опциялары"</string> <string name="snooze_undo" msgid="6074877317002985129">"КАЙТАРУУ"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"<xliff:g id="TIME_AMOUNT">%1$s</xliff:g> тындырылды"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d саат</item> + <item quantity="one">%d саат</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d мүнөт</item> + <item quantity="one">%d мүнөт</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Батарея колдонулушу"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Батареяны үнөмдөгүч түзмөк кубатталып жатканда иштебейт"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Батареяны үнөмдөгүч"</string> diff --git a/packages/SystemUI/res/values-lo/strings.xml b/packages/SystemUI/res/values-lo/strings.xml index a401e8a6f747..947b1ee23d00 100644 --- a/packages/SystemUI/res/values-lo/strings.xml +++ b/packages/SystemUI/res/values-lo/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"ຊອກຫາ"</string> <string name="description_direction_up" msgid="7169032478259485180">"ເລື່ອນຂຶ້ນເພື່ອ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"ເລື່ອນໄປທາງຊ້າຍເພື່ອ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"ທ່ານຈະບໍ່ຖືກລົບກວນຈາກສຽງ ແລະການສັ່ນ, ຍົກເວັ້ນຈາກໂມງປຸກ, ການເຕືອນ, ເຫດການ, ແລະຜູ້ໂທທີ່ທ່ານລະບຸ."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"ທ່ານຈະບໍ່ໄດ້ຮັບການລົບກວນຈາກສຽງ ຫຼື ການສັ່ງເຕືອນ, ຍົກເວັ້ນໃນເວລາໂມງ, ການແຈ້ງເຕືອນ, ນັດໝາຍ ແລະປະຕິທິນທີ່ທ່ານບຸ . ທ່ານອາດຍັງຄົງໄດ້ຍິນຫາກທ່ານເລືອກຫຼິ້ນເພລງ, ວິດີໂອ ລລະ ເກມ."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"ທ່ານຈະບໍ່ໄດ້ຮັບການລົບກວນຈາກສຽງ ຫຼື ການສັ່ງເຕືອນ, ຍົກເວັ້ນໃນເວລາໂມງປຸກດັງ. ທ່ານອາດຍັງຄົງໄດ້ຍິນຫາກທ່ານເລືອກຫຼິ້ນເພລງ, ວິດີໂອ ລລະ ເກມ."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"ປັບແຕ່ງ"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"ນີ້ຈະເປັນການປິດສຽງ ແລະ ການສັ່ນທັງໝົດ ຮວມທັງສຽງໂມງປຸກ, ເພງ, ວິດີໂອ ແລະ ເກມນຳ. ແຕ່ທ່ານຍັງສາມາດໂທລະສັບໄດ້ປົກກະຕິ."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"ອັນນີ້ບລັອກທຸກສຽງ ແລະການສັ່ນ, ລວມທັງຈາກໂມງປຸກ, ເພງ, ວິດີໂອ, ແລະເກມ."</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"ບໍ່, ຂອບໃຈ"</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="volume_zen_end_now" msgid="6930243045593601084">"ປິດດຽວນີ້"</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> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"ທ່ານຈະບໍ່ໄດ້ຮັບການແຈ້ງເຕືອນເຫຼົ່ານີ້ອີກຕໍ່ໄປ"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> ໝວດໝູ່ການແຈ້ງເຕືອນ"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"ແອັບນີ້ບໍ່ມີໝວດໝູ່ການແຈ້ງເຕືອນ"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"ການແຈ້ງເຕືອນຈາກແອັບນີ້ບໍ່ສາມາດປິດໄວ້ໄດ້"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">1 ຈາກທັງໝົດ <xliff:g id="NUMBER_1">%d</xliff:g> ໝວດໝູ່ການແຈ້ງເຕືອນຈາກແອັບນີ້</item> <item quantity="one">1 ຈາກທັງໝົດ <xliff:g id="NUMBER_0">%d</xliff:g> ໝວດໝູ່ການແຈ້ງເຕືອນຈາກແອັບນີ້</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"ຕົວເລືອກການເລື່ອນການແຈ້ງເຕືອນ"</string> <string name="snooze_undo" msgid="6074877317002985129">"ຍົກເລີກ"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"ເລື່ອນໄປ <xliff:g id="TIME_AMOUNT">%1$s</xliff:g> ນາທີແລ້ວ"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d ຊົ່ວໂມງ</item> + <item quantity="one">%d ຊົ່ວໂມງ</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d ນາທີ</item> + <item quantity="one">%d ນາທີ</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"ການໃຊ້ແບັດເຕີຣີ"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"ຕົວປະຢັດແບັດເຕີຣີບໍ່ມີໃຫ້ນຳໃຊ້ໃນລະຫວ່າງການສາກ"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"ຕົວປະຢັດແບັດເຕີຣີ"</string> diff --git a/packages/SystemUI/res/values-lt/strings.xml b/packages/SystemUI/res/values-lt/strings.xml index 26552d6557a7..940352950869 100644 --- a/packages/SystemUI/res/values-lt/strings.xml +++ b/packages/SystemUI/res/values-lt/strings.xml @@ -356,7 +356,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Paieška"</string> <string name="description_direction_up" msgid="7169032478259485180">"Slyskite aukštyn link <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Slyskite į kairę link <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Jūsų netrikdys garsai ir vibravimas, išskyrus nurodytų signalų, priminimų, įvykių ir skambintojų garsus ir vibravimą."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Jūsų netrikdys garsai ir vibravimas, išskyrus nurodytų signalų, priminimų, įvykių ir skambintojų garsus. Vis tiek girdėsite viską, ką pasirinksite leisti, įskaitant muziką, vaizdo įrašus ir žaidimus."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Jūsų netrikdys garsai ir vibravimas, išskyrus signalus. Vis tiek girdėsite viską, ką pasirinksite leisti, įskaitant muziką, vaizdo įrašus ir žaidimus."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Tinkinti"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Taip bus užblokuoti VISI garsai ir vibravimas, įskaitant signalų, muzikos, vaizdo įrašų ir žaidimų garsus ir vibravimą. Vis tiek galėsite skambinti telefonu."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Taip bus užblokuoti VISI garsai ir vibravimas, įskaitant signalų, muzikos, vaizdo įrašų ir žaidimų garsus ir vibravimą."</string> @@ -478,7 +479,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Ne, ačiū"</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"Nustatyti"</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">"Baigti dabar"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Išjungti dabar"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Išskleisti"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Sutraukti"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"Ekranas prisegtas"</string> @@ -556,8 +557,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Nebegausite šių pranešimų"</string> <string name="notification_num_channels" msgid="2048144408999179471">"Pranešimų kategorijų: <xliff:g id="NUMBER">%d</xliff:g>"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Šioje programoje nėra pranešimų kategorijų"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Šios programos pranešimų negalima išjungti"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="one">1 iš <xliff:g id="NUMBER_1">%d</xliff:g> šios programos pranešimų kategorijos</item> <item quantity="few">1 iš <xliff:g id="NUMBER_1">%d</xliff:g> šios programos pranešimų kategorijų</item> @@ -583,8 +583,18 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"pranešimų snaudimo parinktys"</string> <string name="snooze_undo" msgid="6074877317002985129">"ANULIUOTI"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Nustatyta snausti <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="one">%d valanda</item> + <item quantity="few">%d valandos</item> + <item quantity="many">%d valandos</item> + <item quantity="other">%d valandų</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="one">%d minutė</item> + <item quantity="few">%d minutės</item> + <item quantity="many">%d minutės</item> + <item quantity="other">%d minučių</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Akum. energ. vartoj."</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Akumuliatoriaus tausojimo priemonė nepasiekiama įkraunant"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Akumuliatoriaus tausojimo priemonė"</string> diff --git a/packages/SystemUI/res/values-lv/strings.xml b/packages/SystemUI/res/values-lv/strings.xml index f635178e36ca..6bc287ec93a7 100644 --- a/packages/SystemUI/res/values-lv/strings.xml +++ b/packages/SystemUI/res/values-lv/strings.xml @@ -354,7 +354,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Meklēt"</string> <string name="description_direction_up" msgid="7169032478259485180">"Velciet uz augšu, lai veiktu šādu darbību: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Velciet pa kreisi, lai veiktu šādu darbību: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Jūs netraucēs skaņas un vibrosignāli, ja vien tie nebūs modinātāji, atgādinājumi, pasākumi vai konkrēti zvanītāji, kurus būsiet norādījis."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Jūs netraucēs skaņas un vibrācija, izņemot signālus, atgādinājumus, pasākumus un zvanītājus, ko būsiet norādījis. Jūs joprojām dzirdēsiet atskaņošanai izvēlētos vienumus, tostarp mūziku, videoklipus un spēles."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Jūs netraucēs skaņas un vibrācija, izņemot signālus. Jūs joprojām dzirdēsiet atskaņošanai izvēlētos vienumus, tostarp mūziku, videoklipus un spēles."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Pielāgot"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Tiks bloķētas VISAS skaņas un vibrosignāli, tostarp modinātāja, mūzikas, videoklipu un spēļu skaņas un signāli. Jūs joprojām varēsiet veikt tālruņa zvanus."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Tiks bloķētas VISAS skaņas un vibrosignāli, tostarp modinātāja, mūzikas, videoklipu un spēļu skaņas un signāli."</string> @@ -476,7 +477,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Nē"</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"Iestatīt"</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">"Izslēgt"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Izslēgt tūlīt"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Izvērst"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Sakļaut"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"Ekrāns ir piesprausts"</string> @@ -554,8 +555,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Jūs vairs nesaņemsiet šos paziņojumus"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> paziņojumu kategorijas"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Paziņojumu kategorijas šajā lietotnē nav pieejamas."</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Paziņojumus no šīs lietotnes nevar izslēgt"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="zero">1 no <xliff:g id="NUMBER_1">%d</xliff:g> šīs lietotnes paziņojumu kategorijām.</item> <item quantity="one">1 no <xliff:g id="NUMBER_1">%d</xliff:g> šīs lietotnes paziņojumu kategorijas.</item> @@ -579,8 +579,16 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"paziņojumu atlikšanas opcijas"</string> <string name="snooze_undo" msgid="6074877317002985129">"ATSAUKT"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Atlikts: <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="zero">%d stundas</item> + <item quantity="one">%d stunda</item> + <item quantity="other">%d stundas</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="zero">%d minūtes</item> + <item quantity="one">%d minūte</item> + <item quantity="other">%d minūtes</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Akumulatora lietojums"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Akumulatora jaudas taupīšanas režīms uzlādes laikā nav pieejams."</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Akumulatora jaudas taupīšanas režīms"</string> diff --git a/packages/SystemUI/res/values-mk/strings.xml b/packages/SystemUI/res/values-mk/strings.xml index fd773adaa285..72615c30a9d1 100644 --- a/packages/SystemUI/res/values-mk/strings.xml +++ b/packages/SystemUI/res/values-mk/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Пребарај"</string> <string name="description_direction_up" msgid="7169032478259485180">"Лизгај нагоре за <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Лизгај налево за <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Нема да ви пречат звуци и вибрации, освен од аларми, потсетници, настани и повикувачи што ќе ги наведете."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Нема да ве вознемируваат звуци и вибрации, освен од аларми, потсетници, настани и повикувачи што ќе ги наведете. Сѐ уште ќе слушате сѐ што ќе изберете да пуштите, што опфаќа музика, видеа и игри."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Нема да ве вознемируваат звуци и вибрации, освен од аларми. Сѐ уште ќе слушате сѐ што ќе изберете да пуштите, што опфаќа музика, видеа и игри."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Приспособи"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Ова ги блокира СИТЕ звуци и вибрации, вклучувајќи ги и оние од алармите, музиката, видеата и игрите. Сѐ уште ќе може да воспоставувате телефонски повици."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Ова ги блокира СИТЕ звуци и вибрации, вклучувајќи ги и оние од алармите, музиката, видеата и игрите."</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Не, фала"</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="volume_zen_end_now" msgid="6930243045593601084">"Исклучи сега"</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> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Веќе нема да ги добивате овие известувања"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> категории известувања"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Апликацијава нема катерии известувања"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Известувањата од апликацијава не може да се исклучат"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="one">1 од <xliff:g id="NUMBER_1">%d</xliff:g> категорија известувања од апликацијава</item> <item quantity="other">1 од <xliff:g id="NUMBER_1">%d</xliff:g> категории известувања од апликацијава</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"опции за одложување на известувањето"</string> <string name="snooze_undo" msgid="6074877317002985129">"ВРАТИ"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Одложено за <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="one">%d час</item> + <item quantity="other">%d часа</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="one">%d минута</item> + <item quantity="other">%d минути</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Користење батерија"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Штедачот на батерија не е достапен при полнење"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Штедач на батерија"</string> diff --git a/packages/SystemUI/res/values-ml/strings.xml b/packages/SystemUI/res/values-ml/strings.xml index 32a36b32ff7d..ffbcd9cb9134 100644 --- a/packages/SystemUI/res/values-ml/strings.xml +++ b/packages/SystemUI/res/values-ml/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"തിരയൽ"</string> <string name="description_direction_up" msgid="7169032478259485180">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> എന്നതിനായി മുകളിലേയ്ക്ക് സ്ലൈഡുചെയ്യുക."</string> <string name="description_direction_left" msgid="7207478719805562165">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> എന്നതിനായി ഇടത്തേയ്ക്ക് സ്ലൈഡുചെയ്യുക."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"നിങ്ങൾ വ്യക്തമാക്കിയിട്ടുള്ള അലാറങ്ങൾ, റിമൈൻഡറുകൾ, ഇവന്റുകൾ, കോളർമാർ എന്നിവ ഒഴികെയുള്ള ശബ്ദങ്ങളോ വൈബ്രേഷനുകളോ കാരണം നിങ്ങൾക്ക് ശല്യമുണ്ടാകില്ല."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"നിങ്ങൾ സജ്ജീകരിച്ച അലാറങ്ങൾ, റിമൈൻഡറുകൾ, ഇവന്റുകൾ, കോളർമാർ എന്നിവയിൽ നിന്നുള്ള ശബ്ദങ്ങളും വൈബ്രേഷനുകളുമൊഴികെ മറ്റൊന്നും നിങ്ങളെ ശല്യപ്പെടുത്തുകയില്ല. സംഗീതം, വീഡിയോകൾ, ഗെയിമുകൾ എന്നിവയുൾപ്പെടെ പ്ലേ ചെയ്യുന്നതെന്തും നിങ്ങൾക്ക് തുടർന്നും കേൾക്കാൻ കഴിയും."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"അലാറങ്ങളിൽ നിന്നുള്ള ശബ്ദങ്ങളും വൈബ്രേഷനുകളുമൊഴികെ മറ്റൊന്നും നിങ്ങളെ ശല്യപ്പെടുത്തുകയില്ല. സംഗീതം, വീഡിയോകൾ, ഗെയിമുകൾ എന്നിവയുൾപ്പെടെ പ്ലേ ചെയ്യുന്നതെന്തും നിങ്ങൾക്ക് തുടർന്നും കേൾക്കാൻ കഴിയും."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"ഇഷ്ടാനുസൃതമാക്കുക"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"ഇത് അലാറങ്ങൾ, സംഗീതം, വീഡിയോകൾ, ഗെയിമുകൾ എന്നിവയിൽ നിന്നുൾപ്പെടെ എല്ലാ ശബ്ദങ്ങളും വൈബ്രേഷനുകളും തടയുന്നു. നിങ്ങൾക്ക് തുടർന്നും ഫോൺ വിളിക്കാനാകും."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"ഇത് അലാറങ്ങൾ, സംഗീതം, വീഡിയോകൾ, ഗെയിമുകൾ എന്നിവയിൽ നിന്നുൾപ്പെടെ എല്ലാ ശബ്ദങ്ങളും വൈബ്രേഷനുകളും തടയുന്നു."</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"വേണ്ട, നന്ദി"</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="volume_zen_end_now" msgid="6930243045593601084">"ഇപ്പോൾ ഓഫ് ചെയ്യുക"</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> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"നിങ്ങൾക്ക് ഇനി ഈ അറിയിപ്പുകൾ ലഭിക്കില്ല"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> അറിയിപ്പ് വിഭാഗങ്ങൾ"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"ഈ ആപ്പിന് അറിയിപ്പ് വിഭാഗങ്ങളില്ല"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"ഈ ആപ്പിൽ നിന്നുള്ള അറിയിപ്പുകൾ ഓഫാക്കാൻ കഴിയില്ല"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">ഈ ആപ്പിൽ നിന്ന് 1 / <xliff:g id="NUMBER_1">%d</xliff:g> അറിയിപ്പ് വിഭാഗങ്ങൾ</item> <item quantity="one">ഈ ആപ്പിൽ നിന്ന് 1 / <xliff:g id="NUMBER_0">%d</xliff:g> അറിയിപ്പ് വിഭാഗം</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"അറിയിപ്പ് സ്നൂസ് ഓപ്ഷനുകൾ"</string> <string name="snooze_undo" msgid="6074877317002985129">"പഴയപടിയാക്കുക"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"<xliff:g id="TIME_AMOUNT">%1$s</xliff:g> സമയത്തേക്ക് സ്നൂസ് ചെയ്തു"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d മണിക്കൂർ</item> + <item quantity="one">%d മണിക്കൂർ</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d മിനിറ്റ്</item> + <item quantity="one">%d മിനിറ്റ്</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"ബാറ്ററി ഉപയോഗം"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"ചാർജുചെയ്യുന്ന സമയത്ത് ബാറ്ററി സേവർ ലഭ്യമല്ല"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"ബാറ്ററി സേവർ"</string> diff --git a/packages/SystemUI/res/values-mn/strings.xml b/packages/SystemUI/res/values-mn/strings.xml index faa09f6e6605..a29fd85a45f2 100644 --- a/packages/SystemUI/res/values-mn/strings.xml +++ b/packages/SystemUI/res/values-mn/strings.xml @@ -350,7 +350,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Хайх"</string> <string name="description_direction_up" msgid="7169032478259485180">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>-г гулсуулах."</string> <string name="description_direction_left" msgid="7207478719805562165">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> хийх зүүнлүү гулсуулах."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Танд сэрүүлгэ, сануулга, үйл явдлын сануулга, таны сануулсан дуудлага зэргээс бусад дуу чимээ, чичиргээ танд садаа болохгүй."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Танд сэрүүлэг, сануулга, үйл ажиллагаа, таны сонгосон дуудлага илгээгчээс бусад дуу, чичиргээ саад болохгүй. Та хөгжим, видео, тоглоом зэрэг тоглуулахыг хүссэн бүх зүйлээ сонсох боломжтой хэвээр байна."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Танд сэрүүлгээс бусад дуу, чичиргээ саад болохгүй. Та хөгжим, видео, тоглоом зэрэг тоглуулахыг хүссэн бүх зүйлээ сонсох боломжтой хэвээр байна."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Тохируулах"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Энэ нь сэрүүлэг, хөгжим, видео, тоглоом зэргийг оруулаад зэрэг БҮХ дуу, чичиргээг блоклодог. Та дуудлага хийх боломжтой хэвээр байна."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Энэ нь сэрүүлэг, хөгжим, видео, тоглоом зэргийг оруулаад зэрэг БҮХ дуу, чичиргээг блоклодог."</string> @@ -472,7 +473,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Үгүй"</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="volume_zen_end_now" msgid="6930243045593601084">"Одоо унтраах"</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> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Ta цаашид эдгээр мэдэгдлийг авахгүй"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> мэдэгдлийн ангилал"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Энэ апп-д мэдэгдлийн категори алга"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Энэ аппын мэдэгдлийг унтраах боломжгүй"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">Энэ аппын <xliff:g id="NUMBER_1">%d</xliff:g> мэдэгдлийн категорийн 1</item> <item quantity="one">Энэ аппын <xliff:g id="NUMBER_0">%d</xliff:g> мэдэгдлийн категорийн 1</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"мэдэгдэл түр хойшлуулагчийн сонголт"</string> <string name="snooze_undo" msgid="6074877317002985129">"БУЦААХ"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"<xliff:g id="TIME_AMOUNT">%1$s</xliff:g>-д түр хойшлуулсан"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d цаг</item> + <item quantity="one">%d цаг</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d минут</item> + <item quantity="one">%d минут</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Тэжээл ашиглалт"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Цэнэглэх үед тэжээл хэмнэгч ажиллахгүй"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Тэжээл хэмнэгч"</string> diff --git a/packages/SystemUI/res/values-mr/strings.xml b/packages/SystemUI/res/values-mr/strings.xml index ed8b034d037c..ebe9652df29e 100644 --- a/packages/SystemUI/res/values-mr/strings.xml +++ b/packages/SystemUI/res/values-mr/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"शोध"</string> <string name="description_direction_up" msgid="7169032478259485180">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> साठी वर स्लाइड करा."</string> <string name="description_direction_left" msgid="7207478719805562165">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> साठी डावीकडे स्लाइड करा."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"आपण निर्दिष्ट करता ते अलार्म, स्मरणपत्रे, इव्हेंट आणि कॉलर व्यतिरिक्त, आपल्याला आवाज आणि कंपनांमुळे व्यत्यय येणार नाही."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"अलार्म, रिमाइंडर्स, इव्हेंट आणि तुम्ही निश्चित केलेल्या कॉलरचा अपवाद वगळता तुम्हाला कोणत्याही आवाज आणि कंपनांचा व्यत्त्यय आणला जाणार नाही. तसे असले तरीही तुम्ही प्ले करायचे ठरवलेले कोणतेही संगीत, व्हिडिओ आणि गेमचे आवाज चालू ठेवले जातील."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"अलार्मचा अपवाद सोडल्यास तुम्हाला कोणत्याही आवाज आणि कंपनांचा व्यत्त्यय आणला जाणार नाही. तसे असले तरीही तुम्ही प्ले करायचे ठरवलेले कोणतेही संगीत, व्हिडिओ आणि गेमचे आवाज चालू ठेवले जातील."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"सानुकूलित करा"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"हे अलार्म, संगीत, व्हिडिओ आणि गेम यासह, सर्व आवाज आणि कंपने अवरोधित करते. आपण तरीही फोन कॉल करण्यात सक्षम व्हाल."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"हे अलार्म, संगीत, व्हिडिओ आणि गेम यासह, सर्व आवाज आणि कंपने अवरोधित करते."</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"नाही धन्यवाद"</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="volume_zen_end_now" msgid="6930243045593601084">"आता बंद करा"</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> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"तुम्हाला यापुढे या सूचना प्राप्त होणार नाहीत"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> सूचना श्रेण्या"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"या अॅपला सूचना श्रेण्या नाहीत"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"या अॅपकडून येणार्या सूचना बंद ठेवता येणार नाहीत"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="one">या अॅपकडील <xliff:g id="NUMBER_1">%d</xliff:g> पैकी 1 सूचना श्रेणी</item> <item quantity="other">या अॅपकडील <xliff:g id="NUMBER_1">%d</xliff:g> पैकी 1 सूचना श्रेणी</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"सूचना स्नूझ पर्याय"</string> <string name="snooze_undo" msgid="6074877317002985129">"पूर्ववत करा"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"<xliff:g id="TIME_AMOUNT">%1$s</xliff:g> साठी स्नूझ करा"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="one"> %d तास</item> + <item quantity="other"> %d तास</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="one"> %d मिनिट</item> + <item quantity="other"> %d मिनिटे</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"बॅटरी वापर"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"चार्ज करताना बॅटरी बचतकर्ता उपलब्ध नाही"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"बॅटरी बचतकर्ता"</string> diff --git a/packages/SystemUI/res/values-ms/strings.xml b/packages/SystemUI/res/values-ms/strings.xml index 0e60d5d54660..a83128a79b17 100644 --- a/packages/SystemUI/res/values-ms/strings.xml +++ b/packages/SystemUI/res/values-ms/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Carian"</string> <string name="description_direction_up" msgid="7169032478259485180">"Luncurkan ke atas untuk <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Luncurkan ke kiri untuk <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Anda tidak akan diganggu oleh bunyi dan getaran kecuali daripada penggera, peringatan, acara dan pemanggil yang anda tentukan."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Anda tidak akan diganggu oleh bunyi dan getaran, kecuali daripada penggera, peringatan, acara dan pemanggil yang anda tetapkan. Anda masih mendengar item lain yang anda pilih untuk dimainkan termasuk muzik, video dan permainan."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Anda tidak akan diganggu oleh bunyi dan getaran, kecuali daripada penggera. Anda masih mendengar item lain yang anda pilih untuk dimainkan termasuk muzik, video dan permainan."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Peribadikan"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Mod ini menyekat SEMUA bunyi dan getaran, termasuk daripada penggera, muzik, video dan permainan. Anda masih boleh membuat panggilan telefon."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Mod ini menyekat SEMUA bunyi dan getaran, termasuk daripada penggera, muzik, video dan permainan."</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Tidak"</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"Sediakan"</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">"Tamatkan sekarang"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Matikan sekarang"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Kembangkan"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Runtuhkan"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"Skrin telah disemat"</string> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Anda tidak akan menerima pemberitahuan ini lagi"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> kategori pemberitahuan"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Apl ini tiada kategori pemberitahuan"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Pemberitahuan daripada apl ini tidak boleh dimatikan"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">1 daripada <xliff:g id="NUMBER_1">%d</xliff:g> kategori pemberitahuan daripada apl ini</item> <item quantity="one">1 daripada <xliff:g id="NUMBER_0">%d</xliff:g> kategori pemberitahuan daripada apl ini</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"pilihan tunda pemberitahuan"</string> <string name="snooze_undo" msgid="6074877317002985129">"BUAT ASAL"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Ditunda selama <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d jam</item> + <item quantity="one">%d jam</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d minit</item> + <item quantity="one">%d minit</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Penggunaan bateri"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Penjimat Bateri tidak tersedia semasa mengecas"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Penjimat Bateri"</string> diff --git a/packages/SystemUI/res/values-my/strings.xml b/packages/SystemUI/res/values-my/strings.xml index 740ded7dcb76..459b61caa31a 100644 --- a/packages/SystemUI/res/values-my/strings.xml +++ b/packages/SystemUI/res/values-my/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"ရှာဖွေရန်"</string> <string name="description_direction_up" msgid="7169032478259485180">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> အတွက် အပေါ်ကို ပွတ်ဆွဲပါ"</string> <string name="description_direction_left" msgid="7207478719805562165">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> အတွက် ဖယ်ဘက်ကို ပွတ်ဆွဲပါ"</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"နှိုးစက်များ၊ အသိပေးချက်များ၊ ဖြစ်ရပ်များ နှင့် သင်သတ်မှတ်ထားသည့် ခေါ်ဆိုသူများမှ လွဲ၍ အသံများနှင့် တုန်ခါမှုများသည် သင့်အား နှောင့်ယှက်မည် မဟုတ်ပါ။"</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"နှိုးစက်သံ၊ သတိပေးချက်အသံများ၊ ပွဲစဉ်သတိပေးသံများနှင့် သင်ခွင့်ပြုထားသူများထံမှ ဖုန်းခေါ်မှုများမှလွဲ၍ အခြားအသံများနှင့် တုန်ခါမှုများက သင့်ကို အနှောင့်အယှက်ပြုမည် မဟုတ်ပါ။ သို့သော်လည်း သီချင်း၊ ဗီဒီယိုနှင့် ဂိမ်းများအပါအဝင် သင်ကရွေးချယ်ဖွင့်ထားသည့် အရာတိုင်း၏ အသံကိုမူ ကြားနေရဆဲဖြစ်ပါလိမ့်မည်။"</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"နှိုးစက်သံမှလွဲ၍ အခြားအသံများနှင့် တုန်ခါမှုများက သင့်ကို အနှောင့်အယှက်ပြုမည် မဟုတ်ပါ။ သို့သော်လည်း သီချင်း၊ ဗီဒီယိုနှင့် ဂိမ်းများအပါအဝင် သင်ကရွေးချယ်ဖွင့်ထားသည့် အရာတိုင်း၏ အသံကိုမူ ကြားနေရဆဲဖြစ်ပါလိမ့်မည်။"</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"စိတ်ကြိုက် ပြုလုပ်ရန်"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"ဤအရာမှ နှိုးစက်၊ ဂီတ၊ ဗွီဒီယိုများနှင့် ဂိမ်းများ အပါအဝင်၊ အသံအားလုံးနှင့် တုန်ခါမှုများအား တားဆီးပေးသည်။ ဖုန်းခေါ်ဆိုမှုများ ပြုလုပ်နိုင်ဆဲဖြစ်မည်။"</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"နှိုးစက်၊ ဂီတ၊ ဗွီဒီယိုများနှင့် ဂိမ်းများ အပါအဝင်၊ အသံအားလုံးနှင့် တုန်ခါမှုများအား ဤအရာမှ တားဆီးပေး၏။"</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"မလိုအပ်ပါ"</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="volume_zen_end_now" msgid="6930243045593601084">"ပိတ်ရန်"</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> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"သင်သည် ဤအကြောင်းကြားချက်များကို နောက်ထပ် လက်ခံရရှိတော့မည် မဟုတ်ပါ"</string> <string name="notification_num_channels" msgid="2048144408999179471">"အကြောင်းကြားချက် အမျိုးအစား <xliff:g id="NUMBER">%d</xliff:g> ခု"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"ဤအက်ပ်တွင် အကြောင်းကြားချက် အမျိုးအစားများ မရှိပါ"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"ဤအက်ပ်မှပို့သော အကြောင်းကြားချက်များကို ပိတ်ထား၍မရပါ"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">ဤအက်ပ်ရှိ အကြောင်းကြားချက်အမျိုးအစား <xliff:g id="NUMBER_1">%d</xliff:g> ခု အနက်မှ ၁ ခု</item> <item quantity="one">ဤအက်ပ်ရှိ အကြောင်းကြားချက်အမျိုးအစား <xliff:g id="NUMBER_0">%d</xliff:g> ခု အနက်မှ ၁ ခု</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"အကြောင်းကြားချက်များကို ဆိုင်းငံ့ရန် ရွေးချယ်စရာများ"</string> <string name="snooze_undo" msgid="6074877317002985129">"တစ်ဆင့် နောက်ပြန်ပြန်ပါ"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"<xliff:g id="TIME_AMOUNT">%1$s</xliff:g> ဆိုင်းငံ့ရန်"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d နာရီ</item> + <item quantity="one">%d နာရီ</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d မိနစ်</item> + <item quantity="one">%d မိနစ်</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"ဘက်ထရီ အသုံးပြုမှု"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"အားသွင်းနေချိန်မှာ Battery Saver ကို သုံးမရပါ"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Battery Saver"</string> diff --git a/packages/SystemUI/res/values-nb/strings.xml b/packages/SystemUI/res/values-nb/strings.xml index b86c256edbf0..ae5ace140af8 100644 --- a/packages/SystemUI/res/values-nb/strings.xml +++ b/packages/SystemUI/res/values-nb/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Søk"</string> <string name="description_direction_up" msgid="7169032478259485180">"Dra opp for å <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Dra til venstre for å <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Du blir ikke forstyrret av lyder og vibrasjoner, bortsett fra alarmer, påminnelser, aktiviteter og oppringere du angir."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Du blir ikke forstyrret av lyder og vibrasjoner, med unntak av alarmer, påminnelser, aktiviteter og oppringere du angir. Du kan fremdeles høre alt du velger å spille av, for eksempel musikk, videoer og spill."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Du blir ikke forstyrret av lyder og vibrasjoner, med unntak av alarmer. Du kan fremdeles høre alt du velger å spille av, for eksempel musikk, videoer og spill."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Tilpass"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Dette blokkerer ALLE lyder og vibrasjoner, inkludert fra alarmer, musikk, videoer og spill. Du kan fremdeles ringe."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Dette blokkerer ALLE lyder og vibrasjoner, inkludert fra alarmer, musikk, videoer og spill."</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Nei takk"</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"Konfigurer"</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">"Avslutt nå"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Slå av nå"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Utvid"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Skjul"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"Skjermen er låst"</string> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Du får ikke disse varslene lenger"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> varselkategorier"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Denne appen har ikke varselkategorier"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Varsler fra denne appen kan ikke slås av"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">1 av <xliff:g id="NUMBER_1">%d</xliff:g> varselkategorier fra denne appen</item> <item quantity="one">1 av <xliff:g id="NUMBER_0">%d</xliff:g> varselkategori fra denne appen</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"slumrealternativer for varsler"</string> <string name="snooze_undo" msgid="6074877317002985129">"ANGRE"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Slumrer i <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d timer</item> + <item quantity="one">%d time</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d minutter</item> + <item quantity="one">%d minutt</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Batteribruk"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Batterisparing er ikke tilgjengelig under lading"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Batterisparing"</string> diff --git a/packages/SystemUI/res/values-ne/strings.xml b/packages/SystemUI/res/values-ne/strings.xml index 601fcae4c3df..8f88790236d9 100644 --- a/packages/SystemUI/res/values-ne/strings.xml +++ b/packages/SystemUI/res/values-ne/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"खोज्नुहोस्"</string> <string name="description_direction_up" msgid="7169032478259485180">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>को लागि माथि धिसार्नुहोस्"</string> <string name="description_direction_left" msgid="7207478719805562165">"स्लाइड <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>को लागि बायाँ।"</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"अलार्म, रिमाइन्डर, घटना, र तपाईंले निर्दिष्ट गर्नुहुने कलरहरू देखि बाहेक, आवाज र कम्पनले तपाईं लाई वाधा गर्ने छैन।"</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"तपाईंलाई अलार्म, रिमाइन्डर, कार्यक्रम र तपाईंले निर्दिष्ट गर्नुभएका कलरहरू बाहेकका ध्वनि र कम्पनहरूले बाधा पुऱ्याउने छैनन्। तपाईंले अझै संगीत, भिडियो र खेलहरू लगायत आफूले प्ले गर्न छनौट गरेका जुनसुकै कुरा सुन्न सक्नुहुन्छ।"</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"तपाईंलाई अलार्म बाहेकका ध्वनि र कम्पनहरूले बाधा पुऱ्याउने छैनन्। तपाईंले अझै संगीत, भिडियो र खेलहरू लगायत आफूले प्ले गर्न छनौट गरेका जुनसुकै कुरा पनि सुन्न सक्नुहुन्छ।"</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"आफू अनुकूल बनाउनुहोस्"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"यसले अलार्म, संगीत, भिडियो, र खेलहरू लगायतका सबै ध्वनि र कम्पन रोक्छ। तपाईं अझै पनि फोन कल गर्न सक्षम हुनुहुन्छ।"</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"यसले अलार्म, संगीत, भिडियोहरू र खेलहरूसहित सबै ध्वनिहरू र कम्पनहरूलाई रोक्छ।"</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"धन्यवाद पर्दैन"</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="volume_zen_end_now" msgid="6930243045593601084">"अहिले नै निष्क्रिय पार्नुहोस्"</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> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"तपाईंले अब उप्रान्त यी सूचनाहरू प्राप्त गर्नुहुने छैन"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> सूचनाका कोटिहरू"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"यस अनुप्रयोगमा सूचना सम्बन्धी कोटीहरू छैनन्"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"यस अनुप्रयोगका सूचनाहरूलाई निष्क्रिय पार्न सकिँदैन"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">यस अनुप्रयोगका <xliff:g id="NUMBER_1">%d</xliff:g> सूचना कोटिहरू मध्ये १</item> <item quantity="one"> यस अनुप्रयोगको <xliff:g id="NUMBER_0">%d</xliff:g> सूचना कोटी मध्ये १</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"सूचना स्नुज गर्ने विकल्पहरू"</string> <string name="snooze_undo" msgid="6074877317002985129">"अनडू गर्नुहोस्"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"<xliff:g id="TIME_AMOUNT">%1$s</xliff:g> का लागि स्नुज गरियो"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d घन्टा</item> + <item quantity="one">%d घन्टा</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d मिनेट</item> + <item quantity="one">%d मिनेट</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"ब्याट्री उपयोग"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"चार्ज गर्ने समयमा ब्याट्री सेभर उपलब्ध छैन"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"ब्याट्री सेभर"</string> diff --git a/packages/SystemUI/res/values-nl/strings.xml b/packages/SystemUI/res/values-nl/strings.xml index 91a953df4fa3..04c977e7ad76 100644 --- a/packages/SystemUI/res/values-nl/strings.xml +++ b/packages/SystemUI/res/values-nl/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Zoeken"</string> <string name="description_direction_up" msgid="7169032478259485180">"Veeg omhoog voor <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Veeg naar links voor <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"U wordt niet gestoord door geluiden en trillingen, behalve voor alarmen, herinneringen, afspraken en bellers die u specificeert."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Je wordt niet gestoord door geluiden en trillingen, behalve bij alarmen, herinneringen, afspraken en specifieke bellers die je selecteert. Je kunt nog steeds alles horen wat je wilt afspelen, waaronder muziek, video\'s en games."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Je wordt niet gestoord door geluiden en trillingen, behalve bij alarmen. Je kunt nog steeds alles horen wat je wilt afspelen, waaronder muziek, video\'s en games."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Aanpassen"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Hiermee worden ALLE geluiden en trillingen geblokkeerd, waaronder die voor alarmen, muziek, video\'s en games. U kunt wel nog steeds bellen."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Hiermee worden ALLE geluiden en trillingen geblokkeerd, waaronder die voor alarmen, muziek, video\'s en games."</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Nee, bedankt"</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"Configureren"</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">"Nu uitschakelen"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Nu uitschakelen"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Uitvouwen"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Samenvouwen"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"Scherm is vastgezet"</string> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Je ontvangt deze meldingen niet meer"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> meldingscategorieën"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Deze app heeft geen meldingscategorieën"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Meldingen van deze app kunnen niet worden uitgeschakeld"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">1 van <xliff:g id="NUMBER_1">%d</xliff:g> meldingscategorieën van deze app</item> <item quantity="one">1 van <xliff:g id="NUMBER_0">%d</xliff:g> meldingscategorie van deze app</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"snooze-opties voor meldingen"</string> <string name="snooze_undo" msgid="6074877317002985129">"ONGEDAAN MAKEN"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Snoozefunctie <xliff:g id="TIME_AMOUNT">%1$s</xliff:g> actief"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d uur</item> + <item quantity="one">%d uur</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d minuten</item> + <item quantity="one">%d minuut</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Accugebruik"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Batterijbesparing niet beschikbaar tijdens opladen"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Batterijbesparing"</string> diff --git a/packages/SystemUI/res/values-pa/strings.xml b/packages/SystemUI/res/values-pa/strings.xml index 5fc0b1b93433..5ae2dcebf852 100644 --- a/packages/SystemUI/res/values-pa/strings.xml +++ b/packages/SystemUI/res/values-pa/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"ਖੋਜੋ"</string> <string name="description_direction_up" msgid="7169032478259485180">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ਲਈ ਉੱਪਰ ਸਲਾਈਡ ਕਰੋ।"</string> <string name="description_direction_left" msgid="7207478719805562165">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ਤੱਕ ਖੱਬੇ ਪਾਸੇ ਸਲਾਈਡ ਕਰੋ।"</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"ਤੁਹਾਡੇ ਦੁਆਰਾ ਤੈਅ ਕੀਤੇ ਅਲਾਰਮਾਂ, ਯਾਦ-ਦਹਾਨੀਆਂ, ਵਰਤਾਰਿਆਂ, ਅਤੇ ਕਾਲ ਕਰਨ ਵਾਲਿਆਂ ਨੂੰ ਛੱਡਕੇ, ਤੁਹਾਨੂੰ ਧੁਨੀਆਂ ਅਤੇ ਥਰਥਰਾਹਟਾਂ ਵੱਲੋਂ ਪਰੇਸ਼ਾਨ ਨਹੀਂ ਕੀਤਾ ਜਾਵੇਗਾ।"</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"ਧੁਨੀਆਂ ਅਤੇ ਥਰਥਰਾਹਟਾਂ ਤੁਹਾਨੂੰ ਪਰੇਸ਼ਾਨ ਨਹੀਂ ਕਰਨਗੀਆਂ, ਸਿਵਾਏ ਅਲਾਰਮਾਂ, ਯਾਦ-ਦਹਾਨੀਆਂ, ਵਰਤਾਰਿਆਂ, ਅਤੇ ਤੁਹਾਡੇ ਵੱਲੋਂ ਨਿਰਧਾਰਤ ਕੀਤੇ ਕਾਲਰਾਂ ਦੀ ਸੂਰਤ ਵਿੱਚ। ਤੁਸੀਂ ਅਜੇ ਵੀ ਸੰਗੀਤ, ਵੀਡੀਓ ਅਤੇ ਗੇਮਾਂ ਸਮੇਤ ਆਪਣੀ ਚੋਣ ਅਨੁਸਾਰ ਕੁਝ ਵੀ ਸੁਣ ਸਕਦੇ ਹੋ।"</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"ਧੁਨੀਆਂ ਅਤੇ ਥਰਥਰਾਹਟਾਂ ਤੁਹਾਨੂੰ ਪਰੇਸ਼ਾਨ ਨਹੀਂ ਕਰਨਗੀਆਂ, ਸਿਵਾਏ ਅਲਾਰਮਾਂ ਦੀ ਸੂਰਤ ਵਿੱਚ। ਤੁਸੀਂ ਅਜੇ ਵੀ ਸੰਗੀਤ, ਵੀਡੀਓ ਅਤੇ ਗੇਮਾਂ ਸਮੇਤ ਆਪਣੀ ਚੋਣ ਅਨੁਸਾਰ ਕੁਝ ਵੀ ਸੁਣ ਸਕਦੇ ਹੋ।"</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"ਵਿਸ਼ੇਸ਼-ਵਿਉਂਤਬੱਧ ਕਰੋ"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"ਇਹ ਅਲਾਰਮ, ਸੰਗੀਤ, ਵੀਡੀਓ, ਅਤੇ ਗੇਮਾਂ ਸਮੇਤ, ਸਾਰੀਆਂ ਧੁਨੀਆਂ ਅਤੇ ਥਰਥਰਾਹਟ ਨੂੰ ਬਲੌਕ ਕਰਦਾ ਹੈ। ਤੁਸੀਂ ਅਜੇ ਵੀ ਫ਼ੋਨ ਕਾਲ ਕਰਨ ਦੇ ਯੋਗ ਹੋਵੋਂਗੇ।"</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"ਇਹ ਅਲਾਰਮ, ਸੰਗੀਤ, ਵੀਡੀਓਜ਼, ਅਤੇ ਗੇਮਸ ਸਮੇਤ, ਸਾਰੀਆਂ ਧੁਨੀਆਂ ਅਤੇ ਵਾਇਬ੍ਰੇਸ਼ਨ ਨੂੰ ਬਲੌਕ ਕਰਦਾ ਹੈ।"</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"ਨਹੀਂ ਧੰਨਵਾਦ"</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="volume_zen_end_now" msgid="6930243045593601084">"ਹੁਣੇ ਬੰਦ ਕਰੋ"</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> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"ਤੁਹਾਨੂੰ ਹੁਣ ਇਹ ਸੂਚਨਾਵਾਂ ਪ੍ਰਾਪਤ ਨਹੀਂ ਹੋਣਗੀਆਂ"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> ਸੂਚਨਾ ਸ਼੍ਰੇਣੀਆਂ"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"ਇਸ ਐਪ ਵਿੱਚ ਸੂਚਨਾ ਸ਼੍ਰੇਣੀਆਂ ਨਹੀਂ ਹਨ"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"ਇਸ ਐਪ ਤੋਂ ਸੂਚਨਾਵਾਂ ਨੂੰ ਬੰਦ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="one">ਇਸ ਐਪ ਤੋਂ <xliff:g id="NUMBER_1">%d</xliff:g> ਸੂਚਨਾ ਸ਼੍ਰੇਣੀ ਵਿੱਚੋਂ 1</item> <item quantity="other">ਇਸ ਐਪ ਤੋਂ <xliff:g id="NUMBER_1">%d</xliff:g> ਸੂਚਨਾ ਸ਼੍ਰੇਣੀਆਂ ਵਿੱਚੋਂ 1</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"ਸੂਚਨਾ ਸਨੂਜ਼ ਵਿਕਲਪ"</string> <string name="snooze_undo" msgid="6074877317002985129">"ਅਣਕੀਤਾ ਕਰੋ"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"<xliff:g id="TIME_AMOUNT">%1$s</xliff:g> ਲਈ ਸਨੂਜ਼ ਕੀਤਾ ਗਿਆ"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="one"> %d ਘੰਟਾ</item> + <item quantity="other">%d ਘੰਟੇ</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="one">%d ਮਿੰਟ</item> + <item quantity="other"> %d ਮਿੰਟ</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"ਬੈਟਰੀ ਵਰਤੋਂ"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"ਬੈਟਰੀ ਸੇਵਰ ਚਾਰਜਿੰਗ ਦੌਰਾਨ ਉਪਲਬਧ ਨਹੀਂ ਹੈ"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"ਬੈਟਰੀ ਸੇਵਰ"</string> diff --git a/packages/SystemUI/res/values-pl/strings.xml b/packages/SystemUI/res/values-pl/strings.xml index 86a6272ec6f8..b52f1b5c0443 100644 --- a/packages/SystemUI/res/values-pl/strings.xml +++ b/packages/SystemUI/res/values-pl/strings.xml @@ -356,7 +356,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Szukaj"</string> <string name="description_direction_up" msgid="7169032478259485180">"Przesuń w górę: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Przesuń w lewo: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Urządzenie nie będzie odtwarzać dźwięków ani włączać wibracji, z wyjątkiem wybranych przez Ciebie alarmów, przypomnień, wydarzeń i kontaktów."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Nie będą Cię niepokoić żadne dźwięki ani wibracje z wyjątkiem alarmów, przypomnień, wydarzeń i połączeń od wybranych osób. Będziesz słyszeć wszystkie odtwarzane treści, takie jak muzyka, filmy czy gry."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Nie będą Cię niepokoić żadne dźwięki ani wibracje z wyjątkiem alarmów. Będziesz słyszeć wszystkie odtwarzane treści, takie jak muzyka, filmy czy gry."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Dostosuj"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"To zablokuje WSZYSTKIE dźwięki i wibracje, w tym alarmy, muzykę, filmy i gry. Nadal będzie można wykonywać połączenia."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"To zablokuje WSZYSTKIE dźwięki i wibracje – w tym alarmy, muzykę, filmy i gry."</string> @@ -478,7 +479,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Nie, dziękuję"</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"Skonfiguruj"</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">"Zakończ teraz"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Wyłącz teraz"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Rozwiń"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Zwiń"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"Ekran jest przypięty"</string> @@ -556,8 +557,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Nie będziesz już otrzymywać tych powiadomień"</string> <string name="notification_num_channels" msgid="2048144408999179471">"Kategorie powiadomień: <xliff:g id="NUMBER">%d</xliff:g>"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Ta aplikacja nie ma kategorii powiadomień"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Powiadomień z tej aplikacji nie można wyłączyć"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="few">1 z <xliff:g id="NUMBER_1">%d</xliff:g> kategorii powiadomień z tej aplikacji</item> <item quantity="many">1 z <xliff:g id="NUMBER_1">%d</xliff:g> kategorii powiadomień z tej aplikacji</item> @@ -583,8 +583,18 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"opcje odkładania powiadomień"</string> <string name="snooze_undo" msgid="6074877317002985129">"COFNIJ"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Odłożono na <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="few">%d godziny</item> + <item quantity="many">%d godzin</item> + <item quantity="other">%d godziny</item> + <item quantity="one">%d godzina</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="few">%d minuty</item> + <item quantity="many">%d minut</item> + <item quantity="other">%d minuty</item> + <item quantity="one">]%d minuta</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Wykorzystanie baterii"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Oszczędzanie baterii nie jest dostępne podczas ładowania"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Oszczędzanie baterii"</string> diff --git a/packages/SystemUI/res/values-pt-rBR/strings.xml b/packages/SystemUI/res/values-pt-rBR/strings.xml index ba62df4cad43..de098f5bf364 100644 --- a/packages/SystemUI/res/values-pt-rBR/strings.xml +++ b/packages/SystemUI/res/values-pt-rBR/strings.xml @@ -354,7 +354,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Pesquisar"</string> <string name="description_direction_up" msgid="7169032478259485180">"Para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>, deslize para cima."</string> <string name="description_direction_left" msgid="7207478719805562165">"Para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>, deslize para a esquerda."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Você não será perturbado por sons e vibrações, com exceção de alarmes, lembretes, eventos e autores de chamadas que você especificar."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Você não será perturbado por sons e vibrações, exceto alarmes, lembretes, eventos e chamadas de pessoas especificadas. No entanto, você ouvirá tudo o que decidir reproduzir, como músicas, vídeos e jogos."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Você não será perturbado por sons e vibrações, exceto alarmes. No entanto, você ouvirá tudo o que decidir reproduzir, como músicas, vídeos e jogos."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Personalizar"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Isso bloqueia TODOS os sons e vibrações, incluindo alarmes, músicas, vídeos e jogos. Você ainda poderá fazer chamadas telefônicas."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Isso bloqueia TODOS os sons e vibrações, incluindo alarmes, músicas, vídeos e jogos."</string> @@ -476,7 +477,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Não, obrigado"</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> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Desligar agora"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Expandir"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Recolher"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"A tela está fixada"</string> @@ -554,8 +555,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Você deixará de receber essas notificações"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> categorias de notificação"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Este app não tem categorias de notificação"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Notificações deste app não podem ser desativadas"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="one">1 de <xliff:g id="NUMBER_1">%d</xliff:g> categoria de notificação deste app</item> <item quantity="other">1 de <xliff:g id="NUMBER_1">%d</xliff:g> categorias de notificação deste app</item> @@ -577,8 +577,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"opções de adiamento de notificação"</string> <string name="snooze_undo" msgid="6074877317002985129">"DESFAZER"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Adiada para <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="one">%d hora</item> + <item quantity="other">%d horas</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="one">%d minuto</item> + <item quantity="other">%d minutos</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Uso da bateria"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"A Economia de bateria não fica disponível durante o carregamento"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Economia de bateria"</string> diff --git a/packages/SystemUI/res/values-pt-rPT/strings.xml b/packages/SystemUI/res/values-pt-rPT/strings.xml index 796e0d310dd3..7fad1db6cc5c 100644 --- a/packages/SystemUI/res/values-pt-rPT/strings.xml +++ b/packages/SystemUI/res/values-pt-rPT/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Pesquisar"</string> <string name="description_direction_up" msgid="7169032478259485180">"Deslize para cima para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ."</string> <string name="description_direction_left" msgid="7207478719805562165">"Deslize para a esquerda para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Não é incomodado por sons e vibrações, exceto de alarmes, lembretes, eventos e autores de chamadas que especificar."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Não é incomodado por sons e vibrações, exceto de alarmes, lembretes, eventos e autores de chamadas que especificar. Continua a ouvir tudo o que optar por reproduzir, incluindo música, vídeos e jogos."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Não é incomodado por sons e vibrações, exceto de alarmes. Continua a ouvir tudo o que optar por reproduzir, incluindo música, vídeos e jogos."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Personalizar"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Esta ação bloqueia TODOS os sons e as vibrações, incluindo de alarmes, de músicas, de vídeos e de jogos. Continua a ser possível telefonar."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Esta ação bloqueia TODOS os sons e as vibrações, incluindo de alarmes, de músicas, de vídeos e de jogos."</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Não, obrigado"</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">"Terminar agora"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Desativar agora"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Expandir"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Reduzir"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"O ecrã está fixado"</string> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Deixará de receber estas notificações"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> categorias de notificação"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Esta aplicação não tem categorias de notificação"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Não é possível desativar as notificações desta aplicação"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="one">1 out of <xliff:g id="NUMBER_1">%d</xliff:g> notification categories from this app</item> <item quantity="other">1 de <xliff:g id="NUMBER_1">%d</xliff:g> categorias de notificação desta aplicação</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"opções de suspensão de notificações"</string> <string name="snooze_undo" msgid="6074877317002985129">"ANULAR"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Suspensa por <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="one">%d horas</item> + <item quantity="other">%d horas</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="one">%d minutos</item> + <item quantity="other">%d minutos</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Utiliz. da bateria"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Poupança de bateria não disponível durante o carregamento"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Poupança de bateria"</string> diff --git a/packages/SystemUI/res/values-pt/strings.xml b/packages/SystemUI/res/values-pt/strings.xml index ba62df4cad43..de098f5bf364 100644 --- a/packages/SystemUI/res/values-pt/strings.xml +++ b/packages/SystemUI/res/values-pt/strings.xml @@ -354,7 +354,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Pesquisar"</string> <string name="description_direction_up" msgid="7169032478259485180">"Para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>, deslize para cima."</string> <string name="description_direction_left" msgid="7207478719805562165">"Para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>, deslize para a esquerda."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Você não será perturbado por sons e vibrações, com exceção de alarmes, lembretes, eventos e autores de chamadas que você especificar."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Você não será perturbado por sons e vibrações, exceto alarmes, lembretes, eventos e chamadas de pessoas especificadas. No entanto, você ouvirá tudo o que decidir reproduzir, como músicas, vídeos e jogos."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Você não será perturbado por sons e vibrações, exceto alarmes. No entanto, você ouvirá tudo o que decidir reproduzir, como músicas, vídeos e jogos."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Personalizar"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Isso bloqueia TODOS os sons e vibrações, incluindo alarmes, músicas, vídeos e jogos. Você ainda poderá fazer chamadas telefônicas."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Isso bloqueia TODOS os sons e vibrações, incluindo alarmes, músicas, vídeos e jogos."</string> @@ -476,7 +477,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Não, obrigado"</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> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Desligar agora"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Expandir"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Recolher"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"A tela está fixada"</string> @@ -554,8 +555,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Você deixará de receber essas notificações"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> categorias de notificação"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Este app não tem categorias de notificação"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Notificações deste app não podem ser desativadas"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="one">1 de <xliff:g id="NUMBER_1">%d</xliff:g> categoria de notificação deste app</item> <item quantity="other">1 de <xliff:g id="NUMBER_1">%d</xliff:g> categorias de notificação deste app</item> @@ -577,8 +577,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"opções de adiamento de notificação"</string> <string name="snooze_undo" msgid="6074877317002985129">"DESFAZER"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Adiada para <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="one">%d hora</item> + <item quantity="other">%d horas</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="one">%d minuto</item> + <item quantity="other">%d minutos</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Uso da bateria"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"A Economia de bateria não fica disponível durante o carregamento"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Economia de bateria"</string> diff --git a/packages/SystemUI/res/values-ro/strings.xml b/packages/SystemUI/res/values-ro/strings.xml index 8c39954f55c9..81d2eb1f2049 100644 --- a/packages/SystemUI/res/values-ro/strings.xml +++ b/packages/SystemUI/res/values-ro/strings.xml @@ -356,7 +356,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Căutați"</string> <string name="description_direction_up" msgid="7169032478259485180">"Glisați în sus pentru <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Glisați spre stânga pentru <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Nu veți fi deranjat(ă) de sunete și vibrații, exceptând alarmele, mementourile, evenimentele și apelanții pe care îi menționați."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Se vor anunța prin sunete și vibrații numai alarmele, mementourile, evenimentele și apelanții specificați de dvs. Totuși, veți auzi tot ce alegeți să redați, inclusiv muzică, videoclipuri și jocuri."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Se vor anunța prin sunete și vibrații numai alarmele. Totuși, veți auzi tot ce alegeți să redați, inclusiv muzică, videoclipuri și jocuri."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Personalizați"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Această opțiune blochează TOATE sunetele și vibrațiile, inclusiv cele ale alarmelor, muzicii, videoclipurilor și jocurilor. Totuși, veți putea iniția apeluri."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Această opțiune blochează TOATE sunetele și vibrațiile, inclusiv cele ale alarmelor, muzicii, videoclipurilor și jocurilor."</string> @@ -478,7 +479,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Nu, mulț."</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"Config."</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">"Opriți acum"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Dezactivați acum"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Extindeți"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Restrângeți"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"Ecranul este fixat"</string> @@ -556,8 +557,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Nu veți mai primi aceste notificări"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> categorii de notificări"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Această aplicație nu are categorii de notificare"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Notificările din această aplicație nu pot fi dezactivate"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="few">1 din <xliff:g id="NUMBER_1">%d</xliff:g> categorii de notificare din această aplicație</item> <item quantity="other">1 din <xliff:g id="NUMBER_1">%d</xliff:g> de categorii de notificare din această aplicație</item> @@ -581,8 +581,16 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"opțiuni de amânare a notificării"</string> <string name="snooze_undo" msgid="6074877317002985129">"ANULAȚI"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Amânată <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="few">%d ore</item> + <item quantity="other">%d de ore</item> + <item quantity="one">%d oră</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="few">%d minute</item> + <item quantity="other">%d de minute</item> + <item quantity="one">%d minut</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Utilizarea bateriei"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Economisirea bateriei nu este disponibilă pe durata încărcării"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Economisirea bateriei"</string> diff --git a/packages/SystemUI/res/values-ru/strings.xml b/packages/SystemUI/res/values-ru/strings.xml index 956179eda8d0..d347736d8e88 100644 --- a/packages/SystemUI/res/values-ru/strings.xml +++ b/packages/SystemUI/res/values-ru/strings.xml @@ -358,7 +358,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Поиск"</string> <string name="description_direction_up" msgid="7169032478259485180">"Проведите вверх, чтобы <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Проведите влево, чтобы <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Вас не будут отвлекать звуки и вибрация, за исключением сигналов будильника, напоминаний, уведомлений о мероприятиях и звонков от помеченных контактов."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Вас не будут отвлекать звуки и вибрация, за исключением сигналов будильника, напоминаний, уведомлений о мероприятиях и звонков от помеченных контактов. Вы по-прежнему будете слышать включенную вами музыку, видео, игры и т. д."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Вас не будут отвлекать звуки и вибрация, за исключением сигналов будильника. Вы по-прежнему будете слышать включенную вами музыку, видео, игры и т. д."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Настроить"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"В этом режиме будут отключены вибросигнал и все звуки (в том числе для будильника, музыкального проигрывателя, игр и видео). При этом вы сможете разговаривать по телефону."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"В этом режиме будут отключены вибросигнал и все звуки (в том числе для будильника, музыкального проигрывателя, игр и видео)."</string> @@ -480,7 +481,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Закрыть"</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="volume_zen_end_now" msgid="6930243045593601084">"Отключить"</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> @@ -558,8 +559,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Вы больше не будете получать эти уведомления"</string> <string name="notification_num_channels" msgid="2048144408999179471">"Категорий оповещений: <xliff:g id="NUMBER">%d</xliff:g>"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"В приложении нет категорий уведомлений"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Уведомления этого приложения нельзя отключить"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="one">1 из <xliff:g id="NUMBER_1">%d</xliff:g> категории уведомлений этого приложения</item> <item quantity="few">1 из <xliff:g id="NUMBER_1">%d</xliff:g> категорий уведомлений этого приложения</item> @@ -585,8 +585,18 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"параметры отсрочки уведомлений"</string> <string name="snooze_undo" msgid="6074877317002985129">"ОТМЕНИТЬ"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Отложено на <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="one">%d час</item> + <item quantity="few">%d часа</item> + <item quantity="many">%d часов</item> + <item quantity="other">%d часа</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="one">%d минута</item> + <item quantity="few">%d минуты</item> + <item quantity="many">%d минут</item> + <item quantity="other">%d минуты</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Уровень заряда"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Режим энергосбережения нельзя включить во время зарядки"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Режим энергосбережения"</string> diff --git a/packages/SystemUI/res/values-si/strings.xml b/packages/SystemUI/res/values-si/strings.xml index b6743e197ebe..57a5b33a4e10 100644 --- a/packages/SystemUI/res/values-si/strings.xml +++ b/packages/SystemUI/res/values-si/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"සෙවීම"</string> <string name="description_direction_up" msgid="7169032478259485180">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> සඳහා උඩට සර්පණය කරන්න."</string> <string name="description_direction_left" msgid="7207478719805562165">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> සඳහා වමට සර්පණය කරන්න."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"එලාම, සිහිකැඳවීම්, සිදුවීම් සහ ඔබ සඳහන් කරන අමතන්නන් වෙතින් හැර, ශබ්ද සහ කම්පනවලින් ඔබට බාධා නොවනු ඇත."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"එලාම සිහිකැඳවීම්, සිදුවීම්, සහ ඔබ සඳහන් කළ අමතන්නන් හැර, ශබ්ද සහ කම්පනවලින් ඔබට බාධා නොවනු ඇත. සංගීතය, වීඩියෝ, සහ ක්රීඩා ඇතුළු ඔබ වාදනය කිරීමට තෝරන ලද සියලු දේ ඔබට තවම ඇසෙනු ඇත."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"එලාම හැර, ශබ්ද සහ කම්පනවලින් ඔබට බාධා නොවනු ඇත. සංගීතය, වීඩියෝ, සහ ක්රීඩා ඇතුළු ඔබ වාදනය කිරීමට තෝරන ලද සියලු දේ ඔබට තවම ඇසෙනු ඇත."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"අභිරුචිකරණය"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"මෙය එලාම්, සංගීතය, වීඩියෝ, සහ ක්රීඩා ඇතුළු, සියලු ශබ්ද සහ කම්පන අවහිර කරයි. ඔබට තවමත් දුරකථන ඇමතුම් ගැනීමට හැකියාව ඇත."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"මෙය එලාම්, සංගීතය, වීඩියෝ, සහ ක්රීඩා ඇතුළු, සියලු ශබ්ද සහ කම්පන අවහිර කරයි."</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"එපා ස්තූතියි"</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="volume_zen_end_now" msgid="6930243045593601084">"දැන් ක්රියාවිරහිත කරන්න"</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> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"ඔබට තවදුරටත් මෙම දැනුම්දීම් නොලැබෙනු ඇත"</string> <string name="notification_num_channels" msgid="2048144408999179471">"දැනුම්දීම් කාණ්ඩ <xliff:g id="NUMBER">%d</xliff:g>ක්"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"මෙම යෙදුම හට දැනුම්දීම් ප්රවර්ග නොමැත"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"මෙම යෙදුම වෙතින් වන දැනුම්දීම් ක්රියාවිරහිත කළ නොහැකිය"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="one">මෙම යෙදුමෙන් දැනුම්දීම් ප්රවර්ග <xliff:g id="NUMBER_1">%d</xliff:g>න් 1ක්</item> <item quantity="other">මෙම යෙදුමෙන් දැනුම්දීම් ප්රවර්ග <xliff:g id="NUMBER_1">%d</xliff:g>න් 1ක්</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"දැනුම්දීම් මදක් නතර කිරීමේ විකල්ප"</string> <string name="snooze_undo" msgid="6074877317002985129">"අස් කරන්න"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"<xliff:g id="TIME_AMOUNT">%1$s</xliff:g>ක් මදක් නතර කරන ලදී"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="one">පැය %d</item> + <item quantity="other">පැය %d</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="one">මිනිත්තු %d</item> + <item quantity="other">මිනිත්තු %d</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"බැටරි භාවිතය"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"ආරෝපණය අතරතුර බැටරි සුරැකුම ලබා ගත නොහැකිය."</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"බැටරි සුරැකුම"</string> diff --git a/packages/SystemUI/res/values-sk/strings.xml b/packages/SystemUI/res/values-sk/strings.xml index d102ddadd276..0d15ce1d18ba 100644 --- a/packages/SystemUI/res/values-sk/strings.xml +++ b/packages/SystemUI/res/values-sk/strings.xml @@ -358,7 +358,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Vyhľadávanie"</string> <string name="description_direction_up" msgid="7169032478259485180">"Prejdite prstom nahor: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Prejdite prstom doľava: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Nebudú vás rušiť zvuky ani vibrácie s výnimkou budíkov, pripomenutí, udalostí a vybraných volajúcich."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Nebudú vás vyrušovať zvuky ani vibrácie, iba budíky, pripomenutia, udalosti a volajúci, ktorých určíte. Budete naďalej počuť všetko, čo sa rozhodnete prehrať, ako napríklad hudbu, videá a hry."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Nebudú vás vyrušovať zvuky ani vibrácie, iba budíky. Budete naďalej počuť všetko, čo sa rozhodnete prehrať, ako napríklad hudbu, videá a hry."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Prispôsobiť"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Budú zablokované všetky zvuky a vibrácie vrátane budíkov, hudby, videí a hier. Stále však budete môcť telefonovať."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Zablokujú sa tým VŠETKY zvuky a vibrácie vrátane zvukov budíkov, hudby, videí a hier."</string> @@ -480,7 +481,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Nie, vďaka"</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"Nastaviť"</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">"Skončiť"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Vypnúť"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Rozbaliť"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Zbaliť"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"Obrazovka je pripnutá"</string> @@ -558,8 +559,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Tieto upozornenia už nebudete dostávať"</string> <string name="notification_num_channels" msgid="2048144408999179471">"Počet kategórií upozornení: <xliff:g id="NUMBER">%d</xliff:g>"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Táto aplikácia nemá kategórie upozornení"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Upozornenia z tejto aplikácie sa nedajú vypnúť"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="few">1 z <xliff:g id="NUMBER_1">%d</xliff:g> kategórií upozornení z tejto aplikácie</item> <item quantity="many">1 z <xliff:g id="NUMBER_1">%d</xliff:g> kategórie upozornení z tejto aplikácie</item> @@ -585,8 +585,18 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"možnosti stlmenia upozornení"</string> <string name="snooze_undo" msgid="6074877317002985129">"SPÄŤ"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Stlmené na <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="few">%d hodiny</item> + <item quantity="many">%d hodiny</item> + <item quantity="other">%d hodín</item> + <item quantity="one">%d hodina</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="few">%d minúty</item> + <item quantity="many">%d minúty</item> + <item quantity="other">%d minút</item> + <item quantity="one">%d minúta</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Využitie batérie"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Počas nabíjania nie je Šetrič batérie k dispozícii"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Šetrič batérie"</string> diff --git a/packages/SystemUI/res/values-sl/strings.xml b/packages/SystemUI/res/values-sl/strings.xml index f61049d34aa3..181c47581231 100644 --- a/packages/SystemUI/res/values-sl/strings.xml +++ b/packages/SystemUI/res/values-sl/strings.xml @@ -358,7 +358,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Iskanje"</string> <string name="description_direction_up" msgid="7169032478259485180">"Povlecite navzgor za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Povlecite v levo za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Ne bodo vas motili zvoki in vibriranje, razen od alarmov, opomnikov, dogodkov in klicateljev, ki jih določite."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Ne bodo vas motili zvoki ali tresenje, razen od alarmov, opomnikov, dogodkov in klicateljev, ki jih določite. Še vedno pa boste slišali vse, kar se boste odločili predvajati, vključno z glasbo, videoposnetki in igrami."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Ne bodo vas motili zvoki ali tresenje, razen alarmov. Še vedno pa boste slišali vse, kar se boste odločili predvajati, vključno z glasbo, videoposnetki in igrami."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Prilagodi"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"S tem so blokirani VSI zvoki in vibriranje – tudi od alarmov, glasbe, videoposnetkov in iger. Še vedno boste lahko opravljali telefonske klice."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"S tem so blokirani VSI zvoki in vibriranje – tudi od alarmov, glasbe, videoposnetkov in iger."</string> @@ -480,7 +481,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Ne, hvala"</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"Nastavitev"</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">"Končaj zdaj"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Izklopi"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Razširi"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Strni"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"Zaslon je pripet"</string> @@ -558,8 +559,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Teh obvestil ne boste več prejemali"</string> <string name="notification_num_channels" msgid="2048144408999179471">"Št. kategorij obvestil: <xliff:g id="NUMBER">%d</xliff:g>"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Ta aplikacija nima kategorij obvestil"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Obvestil te aplikacije ni mogoče izklopiti"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="one">1 od <xliff:g id="NUMBER_1">%d</xliff:g> kategorije obvestil iz te aplikacije</item> <item quantity="two">1 od <xliff:g id="NUMBER_1">%d</xliff:g> kategorij obvestil iz te aplikacije</item> @@ -585,8 +585,18 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"možnosti preložitve obvestil"</string> <string name="snooze_undo" msgid="6074877317002985129">"RAZVELJAVI"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Preloženo za <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="one">%d ura</item> + <item quantity="two">%d uri</item> + <item quantity="few">%d ure</item> + <item quantity="other">%d ur</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="one">%d minuta</item> + <item quantity="two">%d minuti</item> + <item quantity="few">%d minute</item> + <item quantity="other">%d minut</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Poraba akumulatorja"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Varčevanje z energijo akumulatorja med polnjenjem ni na voljo"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Varčevanje z energijo akumulatorja"</string> diff --git a/packages/SystemUI/res/values-sq/strings.xml b/packages/SystemUI/res/values-sq/strings.xml index 1ad24ebb242e..ec1f15579985 100644 --- a/packages/SystemUI/res/values-sq/strings.xml +++ b/packages/SystemUI/res/values-sq/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Kërko"</string> <string name="description_direction_up" msgid="7169032478259485180">"Rrëshqit lart për <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Rrëshqit majtas për <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Nuk do të shqetësohesh nga tingujt dhe dridhjet, përveç atyre nga alarmet, rikujtesat, ngjarjet dhe telefonuesit që specifikon."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Nuk do të shqetësohesh nga tingujt dhe dridhjet, përveç alarmeve, alarmeve rikujtuese, ngjarjeve dhe telefonuesve që specifikon. Do të vazhdosh të dëgjosh gjithçka që zgjedh të luash duke përfshirë muzikën, videot dhe lojërat."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Nuk do të shqetësohesh nga tingujt dhe dridhjet, përveç alarmeve. Do të vazhdosh të dëgjosh gjithçka që zgjedh të luash duke përfshirë muzikën, videot dhe lojërat."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Personalizo"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Kjo bllokon TË GJITHË tingujt dhe dridhjet, duke përfshirë edhe nga alarmet, muzika, videot dhe lojërat. Përsëri do të mund të bësh telefonata."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Kjo bllokon TË GJITHË tingujt dhe dridhjet, duke përfshirë edhe nga alarmet, muzika, videot dhe lojërat."</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Jo, faleminderit!"</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"Konfiguro"</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">"Përfundo tani"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Çaktivizoje tani"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Zgjeroje"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Mbylle"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"Ekrani u gozhdua"</string> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Këto njoftime nuk do t\'i marrësh më"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> kategori njoftimesh"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Ky aplikacion nuk ka kategori njoftimesh"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Njoftimet nga ky aplikacion nuk mund të çaktivizohen"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">1 nga <xliff:g id="NUMBER_1">%d</xliff:g> kategori njoftimi nga ky aplikacion</item> <item quantity="one">1 nga <xliff:g id="NUMBER_0">%d</xliff:g> kategori njoftimi nga ky aplikacion</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"opsionet e shtyrjes së njoftimit"</string> <string name="snooze_undo" msgid="6074877317002985129">"ZHBËJ"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"U shty për <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d orë</item> + <item quantity="one">%d orë</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d minuta</item> + <item quantity="one">%d minutë</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Përdorimi i baterisë"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"\"Kursyesi i baterisë\" nuk është i disponueshëm gjatë karikimit"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Kursyesi i baterisë"</string> diff --git a/packages/SystemUI/res/values-sr/strings.xml b/packages/SystemUI/res/values-sr/strings.xml index 163a09dbd6b8..49c9f4e52d1f 100644 --- a/packages/SystemUI/res/values-sr/strings.xml +++ b/packages/SystemUI/res/values-sr/strings.xml @@ -354,7 +354,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Претрага"</string> <string name="description_direction_up" msgid="7169032478259485180">"Превуците нагоре за <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Превуците улево за <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Неће вас узнемиравати звукови и вибрације, осим за аларме, подсетнике, догађаје и позиваоце које изаберете."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Неће вас узнемиравати звукови и вибрације осим за аларме, подсетнике, догађаје и позиваоце које наведете. И даље ћете чути све што одаберете да пустите, укључујући музику, видео снимке и игре."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Неће вас узнемиравати звукови и вибрације осим за аларме. И даље ћете чути све што одаберете да пустите, укључујући музику, видео снимке и игре."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Прилагоди"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Ово блокира СВЕ звукове и вибрације укључујући аларме, музику, видео снимке и игре. И даље ћете моћи да упућујете позиве."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Ово блокира СВЕ звукове и вибрације укључујући аларме, музику, видео снимке и игре."</string> @@ -476,7 +477,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Не, хвала"</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="volume_zen_end_now" msgid="6930243045593601084">"Искључи одмах"</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> @@ -554,8 +555,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Више нећете добијати ова обавештења"</string> <string name="notification_num_channels" msgid="2048144408999179471">"Категорија обавештења: <xliff:g id="NUMBER">%d</xliff:g>"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Ова апликација нема категорије обавештења"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Обавештења из ове апликације не могу да се искључе"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="one">1 од <xliff:g id="NUMBER_1">%d</xliff:g> категорије обавештења за ову апликацију</item> <item quantity="few">1 од <xliff:g id="NUMBER_1">%d</xliff:g> категорије обавештења за ову апликацију</item> @@ -579,8 +579,16 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"опције за одлагање обавештења"</string> <string name="snooze_undo" msgid="6074877317002985129">"ОПОЗОВИ"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Одложено је за <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="one">%d сат</item> + <item quantity="few">%d сата</item> + <item quantity="other">%d сати</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="one">%d минут</item> + <item quantity="few">%d минута</item> + <item quantity="other">%d минута</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Потрошња батерије"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Уштеда батерије није доступна током пуњења"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Уштеда батерије"</string> diff --git a/packages/SystemUI/res/values-sv/strings.xml b/packages/SystemUI/res/values-sv/strings.xml index b6e54346b0e3..0a83b0060f48 100644 --- a/packages/SystemUI/res/values-sv/strings.xml +++ b/packages/SystemUI/res/values-sv/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Sök"</string> <string name="description_direction_up" msgid="7169032478259485180">"Dra uppåt för <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ."</string> <string name="description_direction_left" msgid="7207478719805562165">"Dra åt vänster för <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Du blir inte störd av ljud och vibrationer, förutom från alarm, påminnelser, event och specifika samtal."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Du blir inte störd av ljud och vibrationer, förutom från alarm, påminnelser, event och specifika samtal. Ljudet är fortfarande på för sådant du väljer att spela upp, till exempel musik, videor och spel."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Du blir inte störd av ljud och vibrationer, förutom från alarm. Ljudet är fortfarande på för sådant du väljer att spela upp, till exempel musik, videor och spel."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Anpassa"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Detta blockerar ALLA ljud och vibrationer, inklusive alarm, musik, videor och spel. Du kan fortfarande ringa."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Detta blockerar ALLA ljud och vibrationer, inklusive alarm, musik, videor och spel."</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Nej tack"</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"Konfig."</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">"Sluta nu"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Inaktivera nu"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Utöka"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Komprimera"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"Skärmen har fästs"</string> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Inga fler aviseringar av det här slaget visas"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> aviseringskategorier"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Det finns inga aviseringskategorier i appen"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Det går inte att inaktivera aviseringar från den här appen"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">1 av <xliff:g id="NUMBER_1">%d</xliff:g> aviseringskategorier från denna app</item> <item quantity="one">1 av <xliff:g id="NUMBER_0">%d</xliff:g> aviseringskategorier från denna app</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"alternativ för att snooza aviseringar"</string> <string name="snooze_undo" msgid="6074877317002985129">"ÅNGRA"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Snoozad i <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d timmar</item> + <item quantity="one">%d timme</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d minuter</item> + <item quantity="one">%d minut</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Batteriförbrukning"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Batterisparläget är inte tillgängligt vid laddning"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Batterisparläge"</string> diff --git a/packages/SystemUI/res/values-sw/strings.xml b/packages/SystemUI/res/values-sw/strings.xml index b51f44245667..1313e6be350a 100644 --- a/packages/SystemUI/res/values-sw/strings.xml +++ b/packages/SystemUI/res/values-sw/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Tafuta"</string> <string name="description_direction_up" msgid="7169032478259485180">"Sogeza juu kwa <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ."</string> <string name="description_direction_left" msgid="7207478719805562165">"Sogeza kushoto kwa <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Hutasumbuliwa na sauti na mitetemo, isipokuwa kengele, vikumbusho, matukio na wapigaji simu utakaobainisha."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Hutasumbuliwa na sauti na mitetemo, isipokuwa kengele, vikumbusho, matukio na watu wanaokupigia simu ambao umechagua. Bado utasikia chochote utakachochagua kucheza, ikiwa ni pamoja na muziki, video na michezo."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Hutasumbuliwa na sauti na mitetemo, isipokuwa kengele. Bado utasikia chochote utakachochagua kucheza, ikiwa ni pamoja na muziki, video na michezo."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Badilisha upendavyo"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Hatua hii huzuia sauti na mitetemo YOTE, ikiwa ni pamoja na ile inayotokana na kengele, muziki, video na michezo. Bado utaweza kupiga simu."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Hatua hii huzuia sauti na mitetemo YOTE, ikiwa ni pamoja na ile inayotokana na kengele, muziki, video na michezo."</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Hapana, asante"</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"Sanidi"</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">"Komesha sasa"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Zima sasa"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Panua"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Kunja"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"Skrini imebandikwa"</string> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Hutapokea arifa hizi tena"</string> <string name="notification_num_channels" msgid="2048144408999179471">"Aina <xliff:g id="NUMBER">%d</xliff:g> za arifa"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Programu hii haina aina za arifa"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Arifa kutoka kwenye programu hii haziwezi kuzimwa"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">Aina 1 ya arifa kati ya <xliff:g id="NUMBER_1">%d</xliff:g> kutoka kwenye kifaa hiki</item> <item quantity="one">Aina 1 ya arifa kati ya <xliff:g id="NUMBER_0">%d</xliff:g> kutoka kwenye kifaa hiki</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"chaguo za kuahirisha arifa"</string> <string name="snooze_undo" msgid="6074877317002985129">"TENDUA"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Imeahirishwa kwa <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">Saa %d</item> + <item quantity="one">Saa %d</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">Dakika %d</item> + <item quantity="one">Dakika %d</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Matumizi ya betri"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Kiokoa Betri hakipatikani unapochaji betri"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Kiokoa Betri"</string> diff --git a/packages/SystemUI/res/values-ta/strings.xml b/packages/SystemUI/res/values-ta/strings.xml index 57aa04a00719..ddc9620afe94 100644 --- a/packages/SystemUI/res/values-ta/strings.xml +++ b/packages/SystemUI/res/values-ta/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"தேடு"</string> <string name="description_direction_up" msgid="7169032478259485180">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> க்கு மேலாக இழுக்கவும்."</string> <string name="description_direction_left" msgid="7207478719805562165">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> க்கு இடதுபக்கமாக இழுக்கவும்."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"அலாரங்கள், நினைவூட்டல்கள், நிகழ்வுகள், குறிப்பிட்ட அழைப்புகள் தவிர, ஒலிகளினாலும் அதிர்வினாலும் தொந்தரவு இருக்காது."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"அலாரங்கள், நினைவூட்டல்கள், நிகழ்வுகள் மற்றும் குறிப்பிட்ட அழைப்பாளர்களைத் தவிர்த்து, பிற ஒலிகள் மற்றும் அதிர்வுகளின் தொந்தரவு இருக்காது. எனினும், நீங்கள் எதையேனும் (இசை, வீடியோக்கள் மற்றும் கேம்கள் உட்பட) ஒலிக்கும்படி தேர்ந்தெடுத்திருந்தால், அவை வழக்கம் போல் ஒலிக்கும்."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"அலாரங்களைத் தவிர்த்து, பிற ஒலிகள் மற்றும் அதிர்வுகளின் தொந்தரவு இருக்காது. எனினும், நீங்கள் எதையேனும் (இசை, வீடியோக்கள் மற்றும் கேம்கள் உட்பட) ஒலிக்கும்படி தேர்ந்தெடுத்திருந்தால், அவை வழக்கம் போல் ஒலிக்கும்."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"தனிப்பயனாக்கு"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"இது அலாரங்கள், இசை, வீடியோக்கள் மற்றும் கேம்கள் உட்பட எல்லா ஒலிகளையும் அதிர்வுகளையும் தடுக்கும். இருப்பினும் நீங்கள் அழைப்புகளைச் செய்யலாம்."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"இது அலாரங்கள், இசை, வீடியோக்கள் மற்றும் கேம்கள் உட்பட எல்லா ஒலிகளையும் அதிர்வுகளையும் தடுக்கும்."</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"வேண்டாம்"</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="volume_zen_end_now" msgid="6930243045593601084">"இப்போதே முடக்கு"</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> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"இந்த அறிவிப்புகளை இனி பெறமாட்டீர்கள்"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> அறிவிப்பு வகைகள்"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"இந்தப் பயன்பாட்டில் அறிவிப்பு வகைகள் இல்லை"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"இந்தப் பயன்பாட்டிலிருந்து அறிவிப்புகளைப் பெறுவதை முடக்க முடியாது"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">இந்தப் பயன்பாடு வழங்கும் <xliff:g id="NUMBER_1">%d</xliff:g> அறிவிப்பு வகைகளில் ஒரு அறிவிப்பு வகை</item> <item quantity="one">இந்தப் பயன்பாடு வழங்கும் <xliff:g id="NUMBER_0">%d</xliff:g> அறிவிப்பு வகையில் ஒரு அறிவிப்பு வகை</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"அறிவிப்பை உறக்கநிலையாக்கும் விருப்பங்கள்"</string> <string name="snooze_undo" msgid="6074877317002985129">"செயல்தவிர்"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"உறக்கநிலையில் வைத்திருந்த நேரம்: <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d மணிநேரம்</item> + <item quantity="one">%d மணிநேரம்</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d நிமிடங்கள்</item> + <item quantity="one">%d நிமிடம்</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"பேட்டரி உபயோகம்"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"சார்ஜ் செய்யும் போது பேட்டரி சேமிப்பானைப் பயன்படுத்த முடியாது"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"பேட்டரி சேமிப்பான்"</string> diff --git a/packages/SystemUI/res/values-te/strings.xml b/packages/SystemUI/res/values-te/strings.xml index 56b271f3f303..a49acf6331f9 100644 --- a/packages/SystemUI/res/values-te/strings.xml +++ b/packages/SystemUI/res/values-te/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"శోధించండి"</string> <string name="description_direction_up" msgid="7169032478259485180">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> కోసం పైకి స్లైడ్ చేయండి."</string> <string name="description_direction_left" msgid="7207478719805562165">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> కోసం ఎడమవైపుకు స్లైడ్ చేయండి."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"మీరు అలారాలు, రిమైండర్లు, ఈవెంట్లు మరియు పేర్కొనే కాలర్ల నుండి మినహా మరే ఇతర ధ్వనులు మరియు వైబ్రేషన్లతో మీకు అంతరాయం కలగదు."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"మీరు పేర్కొనే అలారాలు, రిమైండర్లు, ఈవెంట్లు మరియు కాలర్ల నుండి మినహా మరే ఇతర ధ్వనులు మరియు వైబ్రేషన్లతో మీకు అంతరాయం కలగదు. మీరు ఇప్పటికీ సంగీతం, వీడియోలు మరియు గేమ్లతో సహా మీరు ప్లే చేయడానికి ఎంచుకున్నవి ఏవైనా వింటారు."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"అలారాలు నుండి మినహా మరే ఇతర ధ్వనులు మరియు వైబ్రేషన్లతో మీకు అంతరాయం కలగదు. మీరు ఇప్పటికీ సంగీతం, వీడియోలు మరియు గేమ్లతో సహా మీరు ప్లే చేయడానికి ఎంచుకున్నవి ఏవైనా వింటారు."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"అనుకూలీకరించు"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"ఇది అలారాలు, సంగీతం, వీడియోలు మరియు గేమ్లతో సహా అన్ని ధ్వనులు మరియు వైబ్రేషన్లను బ్లాక్ చేస్తుంది. మీరు ఇప్పటికీ ఫోన్ కాల్లు చేయగలుగుతారు."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"ఇది అలారాలు, సంగీతం, వీడియోలు మరియు గేమ్లతో సహా అన్ని ధ్వనులు మరియు వైబ్రేషన్లను బ్లాక్ చేస్తుంది."</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"వద్దు, ధన్యవాదాలు"</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="volume_zen_end_now" msgid="6930243045593601084">"ఇప్పుడు ఆఫ్ చేయండి"</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> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"మీరు ఇకపై ఈ నోటిఫికేషన్లను పొందరు"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> నోటిఫికేషన్ వర్గాలు"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"ఈ అనువర్తనానికి నోటిఫికేషన్ వర్గాలు లేవు"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"ఈ యాప్ నుండి వచ్చే నోటిఫికేషన్లను ఆఫ్ చేయలేరు"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">ఈ అనువర్తనం నుంచి <xliff:g id="NUMBER_1">%d</xliff:g> నోటిఫికేషన్ వర్గాలలో 1</item> <item quantity="one">ఈ అనువర్తనం నుంచి <xliff:g id="NUMBER_0">%d</xliff:g> నోటిఫికేషన్ వర్గంలో 1</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"నోటిఫికేషన్ తాత్కాలిక ఆపివేత ఎంపికలు"</string> <string name="snooze_undo" msgid="6074877317002985129">"చర్య రద్దు చేయి"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"<xliff:g id="TIME_AMOUNT">%1$s</xliff:g> వరకు తాత్కాలికంగా ఆపివేయబడింది"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d గంటలు</item> + <item quantity="one">%d గంట</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d నిమిషాలు</item> + <item quantity="one">%d నిమిషం</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"బ్యాటరీ వినియోగం"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"ఛార్జ్ అవుతున్న సమయంలో బ్యాటరీ సేవర్ అందుబాటులో ఉండదు"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"బ్యాటరీ సేవర్"</string> diff --git a/packages/SystemUI/res/values-th/strings.xml b/packages/SystemUI/res/values-th/strings.xml index 22596819a67c..f31bfab9d360 100644 --- a/packages/SystemUI/res/values-th/strings.xml +++ b/packages/SystemUI/res/values-th/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"ค้นหา"</string> <string name="description_direction_up" msgid="7169032478259485180">"เลื่อนขึ้นเพื่อ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>"</string> <string name="description_direction_left" msgid="7207478719805562165">"เลื่อนไปทางซ้ายเพื่อ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>"</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"คุณจะไม่ถูกรบกวนจากเสียงและการสั่น ยกเว้นการปลุก การช่วยเตือน กิจกรรม และผู้โทรที่คุณระบุ"</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"คุณจะไม่ถูกรบกวนจากเสียงและการสั่น ยกเว้นเสียงนาฬิกาปลุก การช่วยเตือน กิจกรรม และผู้โทรที่ระบุไว้ คุณจะยังคงได้ยินสิ่งที่คุณเลือกเล่น เช่น เพลง วิดีโอ และเกม"</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"คุณจะไม่ถูกรบกวนจากเสียงและการสั่น ยกเว้นเสียงนาฬิกาปลุก คุณจะยังคงได้ยินสิ่งที่คุณเลือกเล่น เช่น เพลง วิดีโอ และเกม"</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"กำหนดค่า"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"การใช้โหมดนี้จะบล็อกเสียงและการสั่นทั้งหมด ซึ่งรวมถึงเสียงปลุก เพลง วิดีโอ และเกม คุณจะยังโทรออกได้อยู่"</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"การใช้โหมดนี้จะบล็อกเสียงและการสั่นทั้งหมด ซึ่งรวมถึงเสียงปลุก เพลง วิดีโอ และเกม"</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"ไม่เป็นไร"</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="volume_zen_end_now" msgid="6930243045593601084">"ปิดเลย"</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> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"คุณจะไม่ได้รับการแจ้งเตือนเหล่านี้อีก"</string> <string name="notification_num_channels" msgid="2048144408999179471">"หมวดหมู่การแจ้งเตือน <xliff:g id="NUMBER">%d</xliff:g> หมวด"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"แอปนี้ไม่มีหมวดหมู่การแจ้งเตือน"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"ไม่สามารถปิดการแจ้งเตือนจากแอปนี้"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">การแจ้งเตือน 1 ใน <xliff:g id="NUMBER_1">%d</xliff:g> หมวดหมู่จากแอปนี้</item> <item quantity="one">การแจ้งเตือน 1 ใน <xliff:g id="NUMBER_0">%d</xliff:g> หมวดหมู่จากแอปนี้</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"ตัวเลือกการปิดเสียงแจ้งเตือนชั่วคราว"</string> <string name="snooze_undo" msgid="6074877317002985129">"เลิกทำ"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"ปิดเสียงเตือนชั่วคราวไว้เป็นเวลา <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d ชั่วโมง</item> + <item quantity="one">%d ชั่วโมง</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d นาที</item> + <item quantity="one">%d นาที</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"การใช้งานแบตเตอรี่"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"ไม่สามารถใช้โหมดประหยัดแบตเตอรี่ระหว่างการชาร์จ"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"โหมดประหยัดแบตเตอรี่"</string> diff --git a/packages/SystemUI/res/values-tl/strings.xml b/packages/SystemUI/res/values-tl/strings.xml index 7b9135a56a4e..4264e0fe47e7 100644 --- a/packages/SystemUI/res/values-tl/strings.xml +++ b/packages/SystemUI/res/values-tl/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Maghanap"</string> <string name="description_direction_up" msgid="7169032478259485180">"Mag-slide pataas para sa <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Mag-slide pakaliwa para sa <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Hindi ka magagambala ng mga tunog at pag-vibrate, maliban mula sa mga alarm, paalala, kaganapan at mga tinukoy mong tumatawag."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Hindi ka maiistorbo ng mga tunog at pag-vibrate, maliban sa mga alarm, paalala, kaganapan, at tumatawag na tutukuyin mo. Maririnig mo pa rin ang anumang pipiliin mong i-play kabilang ang musika, mga video, at mga laro."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Hindi ka maiistorbo ng mga tunog at pag-vibrate, maliban sa mga alarm. Maririnig mo pa rin ang anumang pipiliin mong i-play kabilang ang musika, mga video, at mga laro."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"I-customize"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Bina-block nito ang LAHAT ng tunog at pag-vibrate, kabilang ang mula sa mga alarm, musika, video at laro. Magagawa mo pa ring tumawag."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Bina-block nito ang LAHAT ng tunog at pag-vibrate, kabilang ang mula sa mga alarm, musika, video at laro."</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Hindi"</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"I-set up"</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">"Tapusin ngayon"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"I-off na ngayon"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Palawakin"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"I-collapse"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"Naka-pin ang screen"</string> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Hindi ka na makakatanggap ng ganitong mga notification"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> (na) kategorya ng notification"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Walang kategorya ng notification ang app na ito"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Hindi maaaring i-off ang mga notification mula sa app na ito"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="one">1 sa <xliff:g id="NUMBER_1">%d</xliff:g> kategorya ng notification mula sa app na ito</item> <item quantity="other">1 sa <xliff:g id="NUMBER_1">%d</xliff:g> na kategorya ng notification mula sa app na ito</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"mga opsyon sa pag-snooze ng notification"</string> <string name="snooze_undo" msgid="6074877317002985129">"I-UNDO"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Na-snooze ng <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="one">%d oras</item> + <item quantity="other">%d na oras</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="one">%d minuto</item> + <item quantity="other">%d na minuto</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Paggamit ng baterya"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Hindi available ang Pangtipid sa Baterya kapag nagcha-charge"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Pangtipid sa Baterya"</string> diff --git a/packages/SystemUI/res/values-tr/strings.xml b/packages/SystemUI/res/values-tr/strings.xml index 2743fccf115d..05efdcfc17fa 100644 --- a/packages/SystemUI/res/values-tr/strings.xml +++ b/packages/SystemUI/res/values-tr/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Ara"</string> <string name="description_direction_up" msgid="7169032478259485180">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> için yukarı kaydırın."</string> <string name="description_direction_left" msgid="7207478719805562165">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> için sola kaydırın."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Belirttiğiniz alarmlar, hatırlatıcılar, etkinlikler ve arayanlar hariç olmak üzere, sesler ve titreşimlerle rahatsız edilmeyeceksiniz."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Alarmlar, hatırlatıcılar, etkinlikler ve sizin seçtiğiniz arayan kişiler dışında hiçbir ses ve titreşimle rahatsız edilmeyeceksiniz. O sırada çaldığınız, seyrettiğiniz ya da oynadığınız müzik, video ve oyunların sesini duymaya devam edeceksiniz"</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Alarmlar dışında hiçbir ses ve titreşimle rahatsız edilmeyeceksiniz. O sırada çaldığınız, seyrettiğiniz ya da oynadığınız müzik, video ve oyunların sesini duymaya devam edeceksiniz."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Özelleştir"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Bu seçenek TÜM sesleri ve titreşimleri engeller. Buna alarmlar, müzik, videolar ve oyunlar dahildir. Telefon aramaları yapmaya devam edebileceksiniz."</string> <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> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Hayır, teşekkürler"</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"Kur"</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">"Şimdi sona erdir"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Şimdi kapat"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Genişlet"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Daralt"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"Ekran sabitlendi"</string> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Bu bildirimleri artık almayacaksınız"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> bildirim kategorisi"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Bu uygulamanın bildirim kategorisi yok"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Bu uygulamanın bildirimleri kapatılamaz"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">Bu uygulamadaki <xliff:g id="NUMBER_1">%d</xliff:g> bildirim kategorisinden 1 tanesi</item> <item quantity="one">Bu uygulamadaki <xliff:g id="NUMBER_0">%d</xliff:g> bildirim kategorisinden 1 tanesi</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"bildirim erteleme seçenekleri"</string> <string name="snooze_undo" msgid="6074877317002985129">"GERİ AL"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"<xliff:g id="TIME_AMOUNT">%1$s</xliff:g> süreyle ertelendi"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d saat</item> + <item quantity="one">%d saat</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d dakika</item> + <item quantity="one">%d dakika</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Pil kullanımı"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Şarj sırasında Pil Tasarrufu özelliği kullanılamaz"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Pil Tasarrufu"</string> diff --git a/packages/SystemUI/res/values-uk/strings.xml b/packages/SystemUI/res/values-uk/strings.xml index a2245459219c..f46e2d99108f 100644 --- a/packages/SystemUI/res/values-uk/strings.xml +++ b/packages/SystemUI/res/values-uk/strings.xml @@ -358,7 +358,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Пошук"</string> <string name="description_direction_up" msgid="7169032478259485180">"Проведіть пальцем угору, щоб <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Проведіть пальцем ліворуч, щоб <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Ви отримуватимете звукові й вібросигнали лише для вибраних сповіщень, нагадувань, повідомлень про події та викликів абонентів."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Ви отримуватиме звукові та вібросигнали лише для вибраних будильників, нагадувань, подій і абонентів. Однак ви чутимете все, що захочете відтворити, зокрема музику, відео й ігри."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Ви отримуватиме звукові та вібросигнали лише для будильників. Однак ви чутимете все, що захочете відтворити, зокрема музику, відео й ігри."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Налаштувати"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Блокуватимуться ВСІ звукові та вібросигнали, зокрема будильники, музика, відео й ігри. Ви зможете телефонувати."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Блокуватимуться ВСІ звукові та вібросигнали, зокрема будильники, музика, відео й ігри."</string> @@ -480,7 +481,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Ні, дякую"</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="volume_zen_end_now" msgid="6930243045593601084">"Вимкнути"</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> @@ -558,8 +559,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Ви більше не отримуватимете ці сповіщення"</string> <string name="notification_num_channels" msgid="2048144408999179471">"Категорії сповіщень (<xliff:g id="NUMBER">%d</xliff:g>)"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"У цьому додатку немає категорій сповіщень"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Сповіщення з цього додатка не можна вимкнути"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="one">1 з <xliff:g id="NUMBER_1">%d</xliff:g> категорії сповіщень із цього додатка</item> <item quantity="few">1 з <xliff:g id="NUMBER_1">%d</xliff:g> категорій сповіщень із цього додатка</item> @@ -585,8 +585,18 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"параметри відкладення сповіщень"</string> <string name="snooze_undo" msgid="6074877317002985129">"ВІДМІНИТИ"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Відкладено на <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="one">%d година</item> + <item quantity="few">%d години</item> + <item quantity="many">%d годин</item> + <item quantity="other">%d години</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="one">%d хвилина</item> + <item quantity="few">%d хвилини</item> + <item quantity="many">%d хвилин</item> + <item quantity="other">%d хвилини</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Використання заряду"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Режим енергозбереження не можна ввімкнути під час заряджання"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Режим енергозбереження"</string> diff --git a/packages/SystemUI/res/values-ur/strings.xml b/packages/SystemUI/res/values-ur/strings.xml index 2ad6bb84bbcb..1eb7e52d5f39 100644 --- a/packages/SystemUI/res/values-ur/strings.xml +++ b/packages/SystemUI/res/values-ur/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"تلاش کریں"</string> <string name="description_direction_up" msgid="7169032478259485180">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> کیلئے اوپر سلائیڈ کریں۔"</string> <string name="description_direction_left" msgid="7207478719805562165">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> کیلئے بائیں سلائیڈ کریں۔"</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"الارمز، یاد دہانیوں، ایونٹس اور آپ کے متعین کردہ کالرز کے علاوہ، آپ آوازوں اور وائبریشنز سے ڈسٹرب نہیں ہوں گے۔"</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"الارمز، یاد دہانیوں، ایونٹس اور آپ کے متعین کردہ کالرز کے علاوہ، آپ آوازوں اور وائبریشنز سے ڈسٹرب نہیں ہوں گے۔ موسیقی، ویڈیوز اور گیمز سمیت آپ ابھی بھی ہر وہ چیز سنیں گے جسے چلانے کا آپ انتخاب کرتے ہیں۔"</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"الارمز کے علاوہ، آپ آوازوں اور وائبریشنز سے ڈسٹرب نہیں ہوں گے۔ موسیقی، ویڈیوز اور گیمز سمیت آپ ہر وہ چیز سنیں گے جسے چلانے کا آپ انتخاب کرتے ہیں۔"</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"حسب ضرورت بنائیں"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"یہ الارمز، موسیقی، ویڈیوز اور گیمز کی آوازوں اور وائبریشنز سمیت سبھی آوازیں اور وائبریشنز مسدود کر دیتا ہے۔ آپ ابھی بھی فون کالز کر سکیں گے۔"</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"یہ الارمز، موسیقی، ویڈیوز اور گیمز کی آوازوں اور وائبریشنز سمیت سبھی آوازیں اور وائبریشنز مسدود کر دیتا ہے۔"</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"نہیں شکریہ"</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="volume_zen_end_now" msgid="6930243045593601084">"ابھی بند کریں"</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> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"آپ کو یہ اطلاعات مزید نہیں ملیں گی"</string> <string name="notification_num_channels" msgid="2048144408999179471">"اطلاع کے <xliff:g id="NUMBER">%d</xliff:g> زمرے"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"اس ایپ میں اطلاعاتی زمرے نہیں ہیں"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"اس ایپ کی اطلاعات کو آف نہیں کیا جا سکتا"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">اس ایپ کے <xliff:g id="NUMBER_1">%d</xliff:g> اطلاعاتی زمروں میں سے 1</item> <item quantity="one">اس ایپ کے <xliff:g id="NUMBER_0">%d</xliff:g> اطلاعاتی زمرے میں سے 1</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"اطلاع اسنوز کرنے کے اختیارات"</string> <string name="snooze_undo" msgid="6074877317002985129">"کالعدم کریں"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"<xliff:g id="TIME_AMOUNT">%1$s</xliff:g> کیلئے اسنوز کیا گیا"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d گھنٹے</item> + <item quantity="one">%d گھنٹہ</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d منٹ</item> + <item quantity="one">%d منٹ</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"بیٹری کا استعمال"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"چارجنگ کے دوران بیٹری سیور دستیاب نہیں ہے"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"بیٹری سیور"</string> diff --git a/packages/SystemUI/res/values-uz/strings.xml b/packages/SystemUI/res/values-uz/strings.xml index 72fca86f7e06..d0af82cdd955 100644 --- a/packages/SystemUI/res/values-uz/strings.xml +++ b/packages/SystemUI/res/values-uz/strings.xml @@ -354,7 +354,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Qidirish"</string> <string name="description_direction_up" msgid="7169032478259485180">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> uchun yuqoriga suring."</string> <string name="description_direction_left" msgid="7207478719805562165">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> uchun chapga suring."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Turli ovoz va tebranishlar endi sizni bezovta qilmaydi. Biroq signallar, eslatmalar, tadbirlar haqidagi bildirishnomalar va siz tanlagan abonentlardan kelgan qo‘ng‘iroqlar bundan mustasno."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Turli ovoz va tebranishlar endi sizni bezovta qilmaydi. Biroq, signallar, eslatmalar, tadbirlar haqidagi bildirishnomalar va siz tanlagan abonentlardan kelgan chaqiruvlar bundan mustasno. Lekin, ijro etiladigan barcha narsalar, jumladan, musiqa, video va o‘yinlar eshitiladi."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Turli ovoz va tebranishlar endi sizni bezovta qilmaydi. Biroq, signallar bundan mustasno. Lekin, ijro etiladigan barcha narsalar, jumladan, musiqa, video va o‘yinlar eshitiladi."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Sozlash"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Bu BARCHA, jumladan signallar, musiqa, videolar va o‘yinlardan keladigan tovush va tebranishlarni to‘sib qo‘yadi. Siz telefon qo‘ng‘iroqlarini bemalol amalga oshirishingiz mumkin."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Bu BARCHA, jumladan, signallar, musiqa, videolar va o‘yinlardan keladigan tovush va tebranishlarni to‘sib qo‘yadi."</string> @@ -476,7 +477,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Yo‘q, kerak emas"</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"Sozlash"</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">"Tugatish"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"O‘chiring"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Yoyish"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Yig‘ish"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"Ekran qadaldi"</string> @@ -554,8 +555,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Ushbu bildirishnomalar endi ko‘rsatilmaydi"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> ta bildirishnoma turkumi"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Bu ilovada bildirishnomalar turkumi yo‘q"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Bu ilova bildirishnomalarini o‘chirib bo‘lmaydi"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">Bu ilovadagi <xliff:g id="NUMBER_1">%d</xliff:g> ta bildirishnomalar turkumidan 1 tasi</item> <item quantity="one">Bu ilovadagi <xliff:g id="NUMBER_0">%d</xliff:g> ta bildirishnomalar turkumidan 1 tasi</item> @@ -577,8 +577,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"bildirishnomalarni kechiktirish parametrlari"</string> <string name="snooze_undo" msgid="6074877317002985129">"BEKOR QILISH"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"<xliff:g id="TIME_AMOUNT">%1$s</xliff:g> muddatga kechiktirildi"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d soat</item> + <item quantity="one">%d soat</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d daqiqa</item> + <item quantity="one">%d daqiqa</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Batareya sarfi"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Quvvat tejash rejimidan quvvatlash vaqtida foydalanib bo‘lmaydi"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Quvvat tejash rejimi"</string> diff --git a/packages/SystemUI/res/values-vi/strings.xml b/packages/SystemUI/res/values-vi/strings.xml index ad6d85ba1e67..f1ac7b515387 100644 --- a/packages/SystemUI/res/values-vi/strings.xml +++ b/packages/SystemUI/res/values-vi/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Tìm kiếm"</string> <string name="description_direction_up" msgid="7169032478259485180">"Trượt lên để <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Trượt sang trái để <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Bạn sẽ không bị làm phiền bởi âm thanh và tiếng rung, ngoại trừ báo thức, nhắc nhở, sự kiện và người gọi mà bạn chỉ định."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Bạn sẽ không bị làm phiền bởi âm thanh và tiếng rung, ngoại trừ báo thức, nhắc nhở, sự kiện và người gọi mà bạn chỉ định. Bạn sẽ vẫn nghe thấy mọi thứ bạn chọn phát, bao gồm nhạc, video và trò chơi."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Bạn sẽ không bị làm phiền bởi âm thanh và tiếng rung, ngoại trừ báo thức. Bạn sẽ vẫn nghe thấy mọi thứ bạn chọn phát, bao gồm nhạc, video và trò chơi."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Tùy chỉnh"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Chế độ này sẽ chặn TẤT CẢ âm thanh và tiếng rung, bao gồm báo thức, âm nhạc, video và trò chơi. Bạn vẫn có thể gọi điện thoại."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Chế độ này sẽ chặn TẤT CẢ âm thanh và tiếng rung, bao gồm báo thức, âm nhạc, video và trò chơi."</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Ko, cảm ơn"</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"Thiết lập"</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">"Kết thúc bây giờ"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Tắt ngay bây giờ"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Mở rộng"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Thu gọn"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"Màn hình được ghim"</string> @@ -554,8 +555,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Bạn sẽ không nhận được những thông báo này nữa"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> danh mục thông báo"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Ứng dụng này không có loại thông báo"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Không thể tắt thông báo từ ứng dụng này"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">1 trên tổng số <xliff:g id="NUMBER_1">%d</xliff:g> loại thông báo từ ứng dụng này</item> <item quantity="one">1 trên tổng số <xliff:g id="NUMBER_0">%d</xliff:g> loại thông báo từ ứng dụng này</item> @@ -577,8 +577,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"Tùy chọn báo lại thông báo"</string> <string name="snooze_undo" msgid="6074877317002985129">"HOÀN TÁC"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Báo lại sau <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d giờ</item> + <item quantity="one">%d giờ</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d phút</item> + <item quantity="one">%d phút</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Mức sử dụng pin"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Trình tiết kiệm pin không khả dụng trong khi sạc"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Trình tiết kiệm pin"</string> diff --git a/packages/SystemUI/res/values-zh-rCN/strings.xml b/packages/SystemUI/res/values-zh-rCN/strings.xml index d41c2512ab73..f21674d821d6 100644 --- a/packages/SystemUI/res/values-zh-rCN/strings.xml +++ b/packages/SystemUI/res/values-zh-rCN/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"搜索"</string> <string name="description_direction_up" msgid="7169032478259485180">"向上滑动以<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>。"</string> <string name="description_direction_left" msgid="7207478719805562165">"向左滑动以<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>。"</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"您将不会受声音和振动的打扰,但闹钟、提醒、活动和您指定的来电者除外。"</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"您将不会受到声音和振动的打扰(闹钟、提醒、活动和所指定来电者的相关提示音除外)。您依然可以听到您选择播放的任何内容(包括音乐、视频和游戏)的相关音效。"</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"您将不会受到声音和振动的打扰(闹钟提示音除外)。您依然可以听到您选择播放的任何内容(包括音乐、视频和游戏)的相关音效。"</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"自定义"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"这会阻止所有声音和振动(包括闹钟、音乐、视频和游戏)打扰您。您仍然可以拨打电话。"</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"这会阻止所有声音和振动(包括闹钟、音乐、视频和游戏)打扰您。"</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"不用了"</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="volume_zen_end_now" msgid="6930243045593601084">"立即关闭"</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> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"您将不会再收到这类通知"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> 个通知类别"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"此应用没有通知类别"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"无法关闭来自此应用的通知"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">此应用指定的 1 个通知类别(共 <xliff:g id="NUMBER_1">%d</xliff:g> 个)</item> <item quantity="one">此应用指定的 1 个通知类别(共 <xliff:g id="NUMBER_0">%d</xliff:g> 个)</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"通知延后选项"</string> <string name="snooze_undo" msgid="6074877317002985129">"撤消"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"已延后 <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d 小时</item> + <item quantity="one">%d 小时</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d 分钟</item> + <item quantity="one">%d 分钟</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"电池使用情况"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"充电过程中无法使用省电模式"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"省电模式"</string> diff --git a/packages/SystemUI/res/values-zh-rHK/strings.xml b/packages/SystemUI/res/values-zh-rHK/strings.xml index fc923bc75077..2ceb85c7f190 100644 --- a/packages/SystemUI/res/values-zh-rHK/strings.xml +++ b/packages/SystemUI/res/values-zh-rHK/strings.xml @@ -354,7 +354,8 @@ <string name="description_target_search" msgid="3091587249776033139">"搜尋"</string> <string name="description_direction_up" msgid="7169032478259485180">"向上滑動即可<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>。"</string> <string name="description_direction_left" msgid="7207478719805562165">"向左滑動即可<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>。"</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"除了指定的鬧鐘、提醒、活動及來電者,您將不會受到其他聲音和震動騷擾。"</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"您不會受音效和震動騷擾 (鬧鐘、提醒、活動,以及您指定的來電者鈴聲除外)。如果您選擇播放特定音樂、影片和遊戲等內容,仍可以聽到相關音訊。"</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"您不會受音效和震動騷擾 (鬧鐘除外)。如果您選擇播放特定音樂、影片和遊戲等內容,仍可以聽到相關音訊。"</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"自訂"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"這會封鎖所有聲音和震動,包括鬧鐘、音樂、影片和遊戲,但您仍可撥打電話。"</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"這會封鎖所有聲音和震動,包括鬧鐘、音樂、影片和遊戲。"</string> @@ -476,7 +477,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"不用了,謝謝"</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="volume_zen_end_now" msgid="6930243045593601084">"立即關閉"</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> @@ -554,8 +555,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"您不會再收到這些通知"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> 個通知類別"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"此應用程式沒有通知類別"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"無法關閉此應用程式的通知"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">此應用程式的 1 個通知類別 (共 <xliff:g id="NUMBER_1">%d</xliff:g> 個)</item> <item quantity="one">此應用程式的 1 個通知類別 (共 <xliff:g id="NUMBER_0">%d</xliff:g> 個)</item> @@ -577,8 +577,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"通知延後選項"</string> <string name="snooze_undo" msgid="6074877317002985129">"復原"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"已延後 <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d 個小時</item> + <item quantity="one">%d 個小時</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d 分鐘</item> + <item quantity="one">%d 分鐘</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"電池用量"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"充電時無法使用「省電模式」"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"省電模式"</string> diff --git a/packages/SystemUI/res/values-zh-rTW/strings.xml b/packages/SystemUI/res/values-zh-rTW/strings.xml index f4d1fbd12325..eb7370130c57 100644 --- a/packages/SystemUI/res/values-zh-rTW/strings.xml +++ b/packages/SystemUI/res/values-zh-rTW/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"搜尋"</string> <string name="description_direction_up" msgid="7169032478259485180">"向上滑動即可<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>。"</string> <string name="description_direction_left" msgid="7207478719805562165">"向左滑動即可<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>。"</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"你不會受到聲音和震動干擾,但鬧鐘、提醒、活動和指定來電者除外。"</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"裝置不會發出音效或震動造成干擾,但會保留鬧鐘、提醒、活動和你指定的來電者響鈴。如果你選擇播放特定音樂、影片和遊戲等內容,還是可以聽見相關音訊。"</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"裝置不會發出音效或震動造成干擾,但會保留鬧鐘響鈴。如果你選擇播放特定音樂、影片和遊戲等內容,還是可以聽見相關音訊。"</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"自訂"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"這會封鎖「所有」聲音和震動干擾,包括鬧鐘、音樂、影片和遊戲在內,但你仍然可以撥打電話。"</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"這會封鎖「所有」聲音和震動干擾,包括鬧鐘、音樂、影片和遊戲在內。"</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"不用了,謝謝"</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="volume_zen_end_now" msgid="6930243045593601084">"立即停用"</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> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"你不會再收到這類通知"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> 個通知類別"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"這個應用程式沒有通知類別"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"無法關閉這個應用程式發出的通知"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="other">在 <xliff:g id="NUMBER_1">%d</xliff:g> 個通知類別中,有 1 個類別是來自這個應用程式</item> <item quantity="one">在 <xliff:g id="NUMBER_0">%d</xliff:g> 個通知類別中,有 1 個類別是來自這個應用程式</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"通知延後選項"</string> <string name="snooze_undo" msgid="6074877317002985129">"復原"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"已延後 <xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="other">%d 小時</item> + <item quantity="one">%d 小時</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="other">%d 分鐘</item> + <item quantity="one">%d 分鐘</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"電池用量"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"充電時無法使用節約耗電量模式"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"節約耗電量"</string> diff --git a/packages/SystemUI/res/values-zu/strings.xml b/packages/SystemUI/res/values-zu/strings.xml index bc82fc0aff9a..c1b374320206 100644 --- a/packages/SystemUI/res/values-zu/strings.xml +++ b/packages/SystemUI/res/values-zu/strings.xml @@ -352,7 +352,8 @@ <string name="description_target_search" msgid="3091587249776033139">"Sesha"</string> <string name="description_direction_up" msgid="7169032478259485180">"Shelelisela ngenhla ku-<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Shelelisela ngakwesokunxele ku-<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="zen_priority_introduction" msgid="3070506961866919502">"Ngeke uze uphazanyiswe yimisindo nokudlidliza, ngaphandle kokuvela kuma-alamu, izikhumbuzi, imicimbi, nabashayi obacacisayo."</string> + <string name="zen_priority_introduction" msgid="7577965386868311310">"Ngeke uphazanyiswe yimisindo nokudlidliza, ngaphandle kwama-alamu, izikhumbuzi, izehlakalo, nabashayi obacacisayo. Usazokuzwa okuthile okhetha ukudlala kufaka phakathi umculo, amavidiyo, namageyimu."</string> + <string name="zen_alarms_introduction" msgid="7034415210361973827">"Ngeke uphazanyiswe yimisindo nokudlidliza, ngaphandle kwama-alamu. Usazokuzwa okuthile okhetha ukudlala kufaka phakathi umculo, amavidiyo, namageyimu."</string> <string name="zen_priority_customize_button" msgid="7948043278226955063">"Enza ngendlela oyifisayo"</string> <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Lokhu kuvimbela YONKE imisindo nokudludliza, kufaka phakathi ama-alamu, umculo, amavidiyo, namageyimu. Usazokwazi ukwenza amkholi wefoni."</string> <string name="zen_silence_introduction" msgid="3137882381093271568">"Lokhu kuvimbela YONKE imisindo nokudlidliza, kufaka phakathi kusuka kuma-alamu, umculo, amavidiyo, namageyimu."</string> @@ -474,7 +475,7 @@ <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Cha ngiyabonga"</string> <string name="hidden_notifications_setup" msgid="41079514801976810">"Lungisa"</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">"Qeda manje"</string> + <string name="volume_zen_end_now" msgid="6930243045593601084">"Vala manje"</string> <string name="accessibility_volume_expand" msgid="5946812790999244205">"Nweba"</string> <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Goqa"</string> <string name="screen_pinning_title" msgid="3273740381976175811">"Isikrini siphiniwe"</string> @@ -552,8 +553,7 @@ <string name="notification_channel_disabled" msgid="2139193533791840539">"Ngeke usathola izaziso"</string> <string name="notification_num_channels" msgid="2048144408999179471">"<xliff:g id="NUMBER">%d</xliff:g> izigaba zesaziso"</string> <string name="notification_default_channel_desc" msgid="2506053815870808359">"Lolu hlelo lokusebenza alunazo izigaba zesaziso"</string> - <!-- no translation found for notification_unblockable_desc (3561016061737896906) --> - <skip /> + <string name="notification_unblockable_desc" msgid="3561016061737896906">"Izaziso kusuka kulolu hlelo lokusebenza azikwazi ukuvalwa"</string> <plurals name="notification_num_channels_desc" formatted="false" msgid="5492793452274077663"> <item quantity="one">1 isigaba kwezingu-<xliff:g id="NUMBER_1">%d</xliff:g> sezaziso kusukela kulolu hlelo lokusebenza</item> <item quantity="other">1 isigaba kwezingu-<xliff:g id="NUMBER_1">%d</xliff:g> sezaziso kusukela kulolu hlelo lokusebenza</item> @@ -575,8 +575,14 @@ <string name="notification_menu_snooze_description" msgid="3653669438131034525">"izinketho zokusnuza zesaziso"</string> <string name="snooze_undo" msgid="6074877317002985129">"HLEHLISA"</string> <string name="snoozed_for_time" msgid="2390718332980204462">"Kusnuzwe u-<xliff:g id="TIME_AMOUNT">%1$s</xliff:g>"</string> - <!-- no translation found for snoozeHourOptions (2124335842674413030) --> - <!-- no translation found for snoozeMinuteOptions (4127251700591510196) --> + <plurals name="snoozeHourOptions" formatted="false" msgid="2124335842674413030"> + <item quantity="one">%d amahora</item> + <item quantity="other">%d amahora</item> + </plurals> + <plurals name="snoozeMinuteOptions" formatted="false" msgid="4127251700591510196"> + <item quantity="one">%d amaminithi</item> + <item quantity="other">%d amaminithi</item> + </plurals> <string name="battery_panel_title" msgid="7944156115535366613">"Ukusetshenziswa kwebhethri"</string> <string name="battery_detail_charging_summary" msgid="1279095653533044008">"Isilondolozi sebhethri asitholakali ngesikhathi sokushaja"</string> <string name="battery_detail_switch_title" msgid="6285872470260795421">"Isilondolozi sebhethri"</string> diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml index d3cbe4aa578f..81ca23082367 100644 --- a/packages/SystemUI/res/values/config.xml +++ b/packages/SystemUI/res/values/config.xml @@ -262,6 +262,9 @@ <!-- Doze: alpha to apply to small icons when dozing --> <integer name="doze_small_icon_alpha">222</integer><!-- 87% of 0xff --> + <!-- Doze: whether the double tap sensor reports 2D touch coordinates --> + <bool name="doze_double_tap_reports_touch_coordinates">false</bool> + <!-- Hotspot tile: number of days to show after feature is used. --> <integer name="days_to_show_hotspot_tile">30</integer> diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml index fe422dbea41f..fc9e585400c6 100644 --- a/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml @@ -805,6 +805,14 @@ <dimen name="global_actions_top_padding">100dp</dimen> + <!-- the maximum offset in either direction that elements are moved horizontally to prevent + burn-in on AOD --> + <dimen name="burn_in_prevention_offset_x">8dp</dimen> + + <!-- the maximum offset in either direction that elements are moved vertically to prevent + burn-in on AOD --> + <dimen name="burn_in_prevention_offset_y">50dp</dimen> + <dimen name="corner_size">16dp</dimen> <dimen name="top_padding">0dp</dimen> <dimen name="bottom_padding">48dp</dimen> diff --git a/packages/SystemUI/src/com/android/systemui/SwipeHelper.java b/packages/SystemUI/src/com/android/systemui/SwipeHelper.java index 93d661da9afd..699fdef3180a 100644 --- a/packages/SystemUI/src/com/android/systemui/SwipeHelper.java +++ b/packages/SystemUI/src/com/android/systemui/SwipeHelper.java @@ -32,6 +32,7 @@ import android.view.View; import android.view.ViewConfiguration; import android.view.accessibility.AccessibilityEvent; import com.android.systemui.classifier.FalsingManager; +import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin; import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin.MenuItem; import com.android.systemui.statusbar.ExpandableNotificationRow; import com.android.systemui.statusbar.FlingAnimationUtils; @@ -81,6 +82,7 @@ public class SwipeHelper implements Gefingerpoken { private float mDensityScale; private float mTranslation = 0; + private boolean mMenuRowIntercepting; private boolean mLongPressSent; private LongPressListener mLongPressListener; private Runnable mWatchLongPress; @@ -265,6 +267,10 @@ public class SwipeHelper implements Gefingerpoken { @Override public boolean onInterceptTouchEvent(final MotionEvent ev) { + if (mCurrView instanceof ExpandableNotificationRow) { + NotificationMenuRowPlugin nmr = ((ExpandableNotificationRow) mCurrView).getProvider(); + mMenuRowIntercepting = nmr.onInterceptTouchEvent(mCurrView, ev); + } final int action = ev.getAction(); switch (action) { @@ -300,7 +306,10 @@ public class SwipeHelper implements Gefingerpoken { menuItem = ((ExpandableNotificationRow) mCurrView) .getProvider().getLongpressMenuItem(mContext); } - mLongPressListener.onLongPress(mCurrView, x, y, menuItem); + if (menuItem != null) { + mLongPressListener.onLongPress(mCurrView, x, y, + menuItem); + } } } }; @@ -330,15 +339,16 @@ public class SwipeHelper implements Gefingerpoken { case MotionEvent.ACTION_UP: case MotionEvent.ACTION_CANCEL: - final boolean captured = (mDragging || mLongPressSent); + final boolean captured = (mDragging || mLongPressSent || mMenuRowIntercepting); mDragging = false; mCurrView = null; mLongPressSent = false; + mMenuRowIntercepting = false; removeLongPressCallback(); if (captured) return true; break; } - return mDragging || mLongPressSent; + return mDragging || mLongPressSent || mMenuRowIntercepting; } /** @@ -557,11 +567,11 @@ public class SwipeHelper implements Gefingerpoken { @Override public boolean onTouchEvent(MotionEvent ev) { - if (mLongPressSent) { + if (mLongPressSent && !mMenuRowIntercepting) { return true; } - if (!mDragging) { + if (!mDragging && !mMenuRowIntercepting) { if (mCallback.getChildAtPosition(ev) != null) { // We are dragging directly over a card, make sure that we also catch the gesture diff --git a/packages/SystemUI/src/com/android/systemui/analytics/DataCollector.java b/packages/SystemUI/src/com/android/systemui/analytics/DataCollector.java index 965ded5beaff..931a99415615 100644 --- a/packages/SystemUI/src/com/android/systemui/analytics/DataCollector.java +++ b/packages/SystemUI/src/com/android/systemui/analytics/DataCollector.java @@ -25,6 +25,7 @@ import android.net.Uri; import android.os.AsyncTask; import android.os.Build; import android.os.Handler; +import android.os.Looper; import android.os.UserHandle; import android.provider.Settings; import android.util.Log; @@ -56,7 +57,7 @@ public class DataCollector implements SensorEventListener { private static final long TIMEOUT_MILLIS = 11000; // 11 seconds. public static final boolean DEBUG = false; - private final Handler mHandler = new Handler(); + private final Handler mHandler = new Handler(Looper.getMainLooper()); private final Context mContext; // Err on the side of caution, so logging is not started after a crash even tough the screen diff --git a/packages/SystemUI/src/com/android/systemui/classifier/FalsingManager.java b/packages/SystemUI/src/com/android/systemui/classifier/FalsingManager.java index a129acea40b0..8506734036dc 100644 --- a/packages/SystemUI/src/com/android/systemui/classifier/FalsingManager.java +++ b/packages/SystemUI/src/com/android/systemui/classifier/FalsingManager.java @@ -24,6 +24,7 @@ import android.hardware.SensorEventListener; import android.hardware.SensorManager; import android.net.Uri; import android.os.Handler; +import android.os.Looper; import android.os.PowerManager; import android.os.UserHandle; import android.provider.Settings; @@ -59,7 +60,7 @@ public class FalsingManager implements SensorEventListener { Sensor.TYPE_ROTATION_VECTOR, }; - private final Handler mHandler = new Handler(); + private final Handler mHandler = new Handler(Looper.getMainLooper()); private final Context mContext; private final SensorManager mSensorManager; diff --git a/packages/SystemUI/src/com/android/systemui/classifier/HumanInteractionClassifier.java b/packages/SystemUI/src/com/android/systemui/classifier/HumanInteractionClassifier.java index 851ab7718820..2e9ba567c74d 100644 --- a/packages/SystemUI/src/com/android/systemui/classifier/HumanInteractionClassifier.java +++ b/packages/SystemUI/src/com/android/systemui/classifier/HumanInteractionClassifier.java @@ -20,6 +20,7 @@ import android.content.Context; import android.database.ContentObserver; import android.hardware.SensorEvent; import android.os.Handler; +import android.os.Looper; import android.os.UserHandle; import android.provider.Settings; import android.util.DisplayMetrics; @@ -41,7 +42,7 @@ public class HumanInteractionClassifier extends Classifier { private static HumanInteractionClassifier sInstance = null; - private final Handler mHandler = new Handler(); + private final Handler mHandler = new Handler(Looper.getMainLooper()); private final Context mContext; private final StrokeClassifier[] mStrokeClassifiers; diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeHost.java b/packages/SystemUI/src/com/android/systemui/doze/DozeHost.java index 3e424d05373a..5aaa6c78f5fd 100644 --- a/packages/SystemUI/src/com/android/systemui/doze/DozeHost.java +++ b/packages/SystemUI/src/com/android/systemui/doze/DozeHost.java @@ -38,6 +38,8 @@ public interface DozeHost { void setAnimateWakeup(boolean animateWakeup); + void onDoubleTap(float x, float y); + interface Callback { default void onNotificationHeadsUp() {} default void onPowerSaveChanged(boolean active) {} diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeSensors.java b/packages/SystemUI/src/com/android/systemui/doze/DozeSensors.java index 73f522244a60..23da716706d3 100644 --- a/packages/SystemUI/src/com/android/systemui/doze/DozeSensors.java +++ b/packages/SystemUI/src/com/android/systemui/doze/DozeSensors.java @@ -81,17 +81,18 @@ public class DozeSensors { mSensorManager.getDefaultSensor(Sensor.TYPE_SIGNIFICANT_MOTION), null /* setting */, dozeParameters.getPulseOnSigMotion(), - DozeLog.PULSE_REASON_SENSOR_SIGMOTION), + DozeLog.PULSE_REASON_SENSOR_SIGMOTION, false /* touchCoords */), mPickupSensor = new TriggerSensor( mSensorManager.getDefaultSensor(Sensor.TYPE_PICK_UP_GESTURE), Settings.Secure.DOZE_PULSE_ON_PICK_UP, config.pulseOnPickupAvailable(), - DozeLog.PULSE_REASON_SENSOR_PICKUP), + DozeLog.PULSE_REASON_SENSOR_PICKUP, false /* touchCoords */), new TriggerSensor( findSensorWithType(config.doubleTapSensorType()), Settings.Secure.DOZE_PULSE_ON_DOUBLE_TAP, true /* configured */, - DozeLog.PULSE_REASON_SENSOR_DOUBLE_TAP) + DozeLog.PULSE_REASON_SENSOR_DOUBLE_TAP, + dozeParameters.doubleTapReportsTouchCoordinates()) }; mProxSensor = new ProxSensor(); @@ -207,16 +208,19 @@ public class DozeSensors { final boolean mConfigured; final int mPulseReason; final String mSetting; + final boolean mReportsTouchCoordinates; private boolean mRequested; private boolean mRegistered; private boolean mDisabled; - public TriggerSensor(Sensor sensor, String setting, boolean configured, int pulseReason) { + public TriggerSensor(Sensor sensor, String setting, boolean configured, int pulseReason, + boolean reportsTouchCoordinates) { mSensor = sensor; mSetting = setting; mConfigured = configured; mPulseReason = pulseReason; + mReportsTouchCoordinates = reportsTouchCoordinates; } public void setListening(boolean listen) { @@ -276,7 +280,13 @@ public class DozeSensors { } mRegistered = false; - mCallback.onSensorPulse(mPulseReason, sensorPerformsProxCheck); + float screenX = -1; + float screenY = -1; + if (mReportsTouchCoordinates && event.values.length >= 2) { + screenX = event.values[0]; + screenY = event.values[1]; + } + mCallback.onSensorPulse(mPulseReason, sensorPerformsProxCheck, screenX, screenY); updateListener(); // reregister, this sensor only fires once })); } @@ -309,7 +319,12 @@ public class DozeSensors { * Called when a sensor requests a pulse * @param pulseReason Requesting sensor, e.g. {@link DozeLog#PULSE_REASON_SENSOR_PICKUP} * @param sensorPerformedProxCheck true if the sensor already checked for FAR proximity. + * @param screenX the location on the screen where the sensor fired or -1 + * if the sensor doesn't support reporting screen locations. + * @param screenY the location on the screen where the sensor fired or -1 + * if the sensor doesn't support reporting screen locations. */ - void onSensorPulse(int pulseReason, boolean sensorPerformedProxCheck); + void onSensorPulse(int pulseReason, boolean sensorPerformedProxCheck, + float screenX, float screenY); } } diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java b/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java index 693a690d7f59..ae936db7b0e2 100644 --- a/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java +++ b/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java @@ -98,12 +98,14 @@ public class DozeTriggers implements DozeMachine.Part { requestPulse(DozeLog.PULSE_REASON_NOTIFICATION, false /* performedProxCheck */); } - private void onSensor(int pulseReason, boolean sensorPerformedProxCheck) { + private void onSensor(int pulseReason, boolean sensorPerformedProxCheck, + float screenX, float screenY) { boolean isDoubleTap = pulseReason == DozeLog.PULSE_REASON_SENSOR_DOUBLE_TAP; boolean isPickup = pulseReason == DozeLog.PULSE_REASON_SENSOR_PICKUP; if (mConfig.alwaysOnEnabled(UserHandle.USER_CURRENT)) { if (isDoubleTap) { + mDozeHost.onDoubleTap(screenX, screenY); mMachine.wakeUp(); } else { mDozeHost.extendPulse(); diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java index b8de9f33f900..6d10d9413e66 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java +++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java @@ -1868,12 +1868,7 @@ public class KeyguardViewMediator extends SystemUI { + " isSecure=" + isSecure() + " --> flags=0x" + Integer.toHexString(flags)); } - if (!(mContext instanceof Activity)) { - final int finalFlags = flags; - mUiOffloadThread.submit(() -> { - mStatusBarManager.disable(finalFlags); - }); - } + mStatusBarManager.disable(flags); } } diff --git a/packages/SystemUI/src/com/android/systemui/pip/phone/InputConsumerController.java b/packages/SystemUI/src/com/android/systemui/pip/phone/InputConsumerController.java index 867c15c4736f..6733421a8d0e 100644 --- a/packages/SystemUI/src/com/android/systemui/pip/phone/InputConsumerController.java +++ b/packages/SystemUI/src/com/android/systemui/pip/phone/InputConsumerController.java @@ -21,12 +21,15 @@ import static android.view.WindowManager.INPUT_CONSUMER_PIP; import android.os.Looper; import android.os.RemoteException; import android.util.Log; +import android.view.BatchedInputEventReceiver; +import android.view.Choreographer; import android.view.InputChannel; import android.view.InputEvent; -import android.view.InputEventReceiver; import android.view.IWindowManager; import android.view.MotionEvent; +import com.android.systemui.recents.misc.Utilities; + import java.io.PrintWriter; /** @@ -52,12 +55,13 @@ public class InputConsumerController { } /** - * Input handler used for the PiP input consumer. + * Input handler used for the PiP input consumer. Input events are batched and consumed with the + * SurfaceFlinger vsync. */ - private final class PipInputEventReceiver extends InputEventReceiver { + private final class PipInputEventReceiver extends BatchedInputEventReceiver { public PipInputEventReceiver(InputChannel inputChannel, Looper looper) { - super(inputChannel, looper); + super(inputChannel, looper, Choreographer.getSfInstance()); } @Override diff --git a/packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivity.java b/packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivity.java index 013b9ac70118..0f69f471bc24 100644 --- a/packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivity.java +++ b/packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivity.java @@ -573,13 +573,11 @@ public class PipMenuActivity extends Activity { } private void cancelDelayedFinish() { - View v = getWindow().getDecorView(); - v.removeCallbacks(mFinishRunnable); + mHandler.removeCallbacks(mFinishRunnable); } private void repostDelayedFinish(long delay) { - View v = getWindow().getDecorView(); - v.removeCallbacks(mFinishRunnable); - v.postDelayed(mFinishRunnable, delay); + mHandler.removeCallbacks(mFinishRunnable); + mHandler.postDelayed(mFinishRunnable, delay); } } diff --git a/packages/SystemUI/src/com/android/systemui/pip/phone/PipMotionHelper.java b/packages/SystemUI/src/com/android/systemui/pip/phone/PipMotionHelper.java index 9fa7ff61a13d..b8771d7e0fb6 100644 --- a/packages/SystemUI/src/com/android/systemui/pip/phone/PipMotionHelper.java +++ b/packages/SystemUI/src/com/android/systemui/pip/phone/PipMotionHelper.java @@ -22,6 +22,7 @@ import static com.android.systemui.Interpolators.FAST_OUT_LINEAR_IN; import static com.android.systemui.Interpolators.FAST_OUT_SLOW_IN; import static com.android.systemui.Interpolators.LINEAR_OUT_SLOW_IN; +import android.animation.AnimationHandler; import android.animation.Animator; import android.animation.Animator.AnimatorListener; import android.animation.AnimatorListenerAdapter; @@ -36,14 +37,15 @@ import android.graphics.PointF; import android.graphics.Rect; import android.os.Debug; import android.os.Handler; +import android.os.Message; import android.os.RemoteException; import android.util.Log; -import android.view.Choreographer; import android.view.animation.Interpolator; -import com.android.internal.os.BackgroundThread; +import com.android.internal.graphics.SfVsyncFrameCallbackProvider; +import com.android.internal.os.SomeArgs; import com.android.internal.policy.PipSnapAlgorithm; -import com.android.internal.view.SurfaceFlingerVsyncChoreographer; +import com.android.systemui.recents.misc.ForegroundThread; import com.android.systemui.recents.misc.SystemServicesProxy; import com.android.systemui.statusbar.FlingAnimationUtils; @@ -52,7 +54,7 @@ import java.io.PrintWriter; /** * A helper to animate and manipulate the PiP. */ -public class PipMotionHelper { +public class PipMotionHelper implements Handler.Callback { private static final String TAG = "PipMotionHelper"; private static final boolean DEBUG = false; @@ -74,38 +76,34 @@ public class PipMotionHelper { // The fraction of the stack height that the user has to drag offscreen to dismiss the PiP private static final float DISMISS_OFFSCREEN_FRACTION = 0.3f; + private static final int MSG_RESIZE_IMMEDIATE = 1; + private static final int MSG_RESIZE_ANIMATE = 2; + private Context mContext; private IActivityManager mActivityManager; - private SurfaceFlingerVsyncChoreographer mVsyncChoreographer; private Handler mHandler; private PipMenuActivityController mMenuController; private PipSnapAlgorithm mSnapAlgorithm; private FlingAnimationUtils mFlingAnimationUtils; + private AnimationHandler mAnimationHandler; private final Rect mBounds = new Rect(); private final Rect mStableInsets = new Rect(); private ValueAnimator mBoundsAnimator = null; - private ValueAnimator.AnimatorUpdateListener mUpdateBoundsListener = - new AnimatorUpdateListener() { - @Override - public void onAnimationUpdate(ValueAnimator animation) { - mBounds.set((Rect) animation.getAnimatedValue()); - } - }; public PipMotionHelper(Context context, IActivityManager activityManager, PipMenuActivityController menuController, PipSnapAlgorithm snapAlgorithm, FlingAnimationUtils flingAnimationUtils) { mContext = context; - mHandler = BackgroundThread.getHandler(); + mHandler = new Handler(ForegroundThread.get().getLooper(), this); mActivityManager = activityManager; mMenuController = menuController; mSnapAlgorithm = snapAlgorithm; mFlingAnimationUtils = flingAnimationUtils; - mVsyncChoreographer = new SurfaceFlingerVsyncChoreographer(mHandler, mContext.getDisplay(), - Choreographer.getInstance()); + mAnimationHandler = new AnimationHandler(); + mAnimationHandler.setProvider(new SfVsyncFrameCallbackProvider()); onConfigurationChanged(); } @@ -252,8 +250,7 @@ public class PipMotionHelper { Rect toBounds = mSnapAlgorithm.findClosestSnapBounds(movementBounds, mBounds, 0 /* velocityX */, velocityY); if (!mBounds.equals(toBounds)) { - mBoundsAnimator = createAnimationToBounds(mBounds, toBounds, 0, FAST_OUT_SLOW_IN, - mUpdateBoundsListener); + mBoundsAnimator = createAnimationToBounds(mBounds, toBounds, 0, FAST_OUT_SLOW_IN); mFlingAnimationUtils.apply(mBoundsAnimator, 0, distanceBetweenRectOffsets(mBounds, toBounds), velocityY); @@ -271,7 +268,7 @@ public class PipMotionHelper { Rect toBounds = getClosestMinimizedBounds(mBounds, movementBounds); if (!mBounds.equals(toBounds)) { mBoundsAnimator = createAnimationToBounds(mBounds, toBounds, - MINIMIZE_STACK_MAX_DURATION, LINEAR_OUT_SLOW_IN, mUpdateBoundsListener); + MINIMIZE_STACK_MAX_DURATION, LINEAR_OUT_SLOW_IN); if (updateListener != null) { mBoundsAnimator.addUpdateListener(updateListener); } @@ -289,8 +286,7 @@ public class PipMotionHelper { Rect toBounds = mSnapAlgorithm.findClosestSnapBounds(movementBounds, mBounds, velocityX, velocityY); if (!mBounds.equals(toBounds)) { - mBoundsAnimator = createAnimationToBounds(mBounds, toBounds, 0, FAST_OUT_SLOW_IN, - mUpdateBoundsListener); + mBoundsAnimator = createAnimationToBounds(mBounds, toBounds, 0, FAST_OUT_SLOW_IN); mFlingAnimationUtils.apply(mBoundsAnimator, 0, distanceBetweenRectOffsets(mBounds, toBounds), velocity); @@ -314,7 +310,7 @@ public class PipMotionHelper { Rect toBounds = mSnapAlgorithm.findClosestSnapBounds(movementBounds, mBounds); if (!mBounds.equals(toBounds)) { mBoundsAnimator = createAnimationToBounds(mBounds, toBounds, SNAP_STACK_DURATION, - FAST_OUT_SLOW_IN, mUpdateBoundsListener); + FAST_OUT_SLOW_IN); if (updateListener != null) { mBoundsAnimator.addUpdateListener(updateListener); } @@ -379,7 +375,7 @@ public class PipMotionHelper { Rect toBounds = new Rect(pipBounds); toBounds.offsetTo(p.x, p.y); mBoundsAnimator = createAnimationToBounds(mBounds, toBounds, DRAG_TO_DISMISS_STACK_DURATION, - FAST_OUT_LINEAR_IN, mUpdateBoundsListener); + FAST_OUT_LINEAR_IN); mBoundsAnimator.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { @@ -411,16 +407,20 @@ public class PipMotionHelper { * Creates an animation to move the PiP to give given {@param toBounds}. */ private ValueAnimator createAnimationToBounds(Rect fromBounds, Rect toBounds, int duration, - Interpolator interpolator, ValueAnimator.AnimatorUpdateListener updateListener) { - ValueAnimator anim = ValueAnimator.ofObject(RECT_EVALUATOR, fromBounds, toBounds); + Interpolator interpolator) { + ValueAnimator anim = new ValueAnimator() { + @Override + public AnimationHandler getAnimationHandler() { + return mAnimationHandler; + } + }; + anim.setObjectValues(fromBounds, toBounds); + anim.setEvaluator(RECT_EVALUATOR); anim.setDuration(duration); anim.setInterpolator(interpolator); anim.addUpdateListener((ValueAnimator animation) -> { resizePipUnchecked((Rect) animation.getAnimatedValue()); }); - if (updateListener != null) { - anim.addUpdateListener(updateListener); - } return anim; } @@ -433,14 +433,9 @@ public class PipMotionHelper { + " callers=\n" + Debug.getCallers(5, " ")); } if (!toBounds.equals(mBounds)) { - mVsyncChoreographer.scheduleAtSfVsync(() -> { - try { - mActivityManager.resizePinnedStack(toBounds, null /* tempPinnedTaskBounds */); - mBounds.set(toBounds); - } catch (RemoteException e) { - Log.e(TAG, "Could not resize pinned stack to bounds: " + toBounds, e); - } - }); + SomeArgs args = SomeArgs.obtain(); + args.arg1 = toBounds; + mHandler.sendMessage(mHandler.obtainMessage(MSG_RESIZE_IMMEDIATE, args)); } } @@ -453,23 +448,10 @@ public class PipMotionHelper { + " duration=" + duration + " callers=\n" + Debug.getCallers(5, " ")); } if (!toBounds.equals(mBounds)) { - mHandler.post(() -> { - try { - StackInfo stackInfo = mActivityManager.getStackInfo(PINNED_STACK_ID); - if (stackInfo == null) { - // In the case where we've already re-expanded or dismissed the PiP, then - // just skip the resize - return; - } - - mActivityManager.resizeStack(PINNED_STACK_ID, toBounds, - false /* allowResizeInDockedMode */, true /* preserveWindows */, - true /* animate */, duration); - mBounds.set(toBounds); - } catch (RemoteException e) { - Log.e(TAG, "Could not animate resize pinned stack to bounds: " + toBounds, e); - } - }); + SomeArgs args = SomeArgs.obtain(); + args.arg1 = toBounds; + args.argi1 = duration; + mHandler.sendMessage(mHandler.obtainMessage(MSG_RESIZE_ANIMATE, args)); } } @@ -524,6 +506,50 @@ public class PipMotionHelper { return PointF.length(r1.left - r2.left, r1.top - r2.top); } + /** + * Handles messages to be processed on the background thread. + */ + public boolean handleMessage(Message msg) { + switch (msg.what) { + case MSG_RESIZE_IMMEDIATE: { + SomeArgs args = (SomeArgs) msg.obj; + Rect toBounds = (Rect) args.arg1; + try { + mActivityManager.resizePinnedStack(toBounds, null /* tempPinnedTaskBounds */); + mBounds.set(toBounds); + } catch (RemoteException e) { + Log.e(TAG, "Could not resize pinned stack to bounds: " + toBounds, e); + } + return true; + } + + case MSG_RESIZE_ANIMATE: { + SomeArgs args = (SomeArgs) msg.obj; + Rect toBounds = (Rect) args.arg1; + int duration = args.argi1; + try { + StackInfo stackInfo = mActivityManager.getStackInfo(PINNED_STACK_ID); + if (stackInfo == null) { + // In the case where we've already re-expanded or dismissed the PiP, then + // just skip the resize + return true; + } + + mActivityManager.resizeStack(PINNED_STACK_ID, toBounds, + false /* allowResizeInDockedMode */, true /* preserveWindows */, + true /* animate */, duration); + mBounds.set(toBounds); + } catch (RemoteException e) { + Log.e(TAG, "Could not animate resize pinned stack to bounds: " + toBounds, e); + } + return true; + } + + default: + return false; + } + } + public void dump(PrintWriter pw, String prefix) { final String innerPrefix = prefix + " "; pw.println(prefix + TAG); diff --git a/packages/SystemUI/src/com/android/systemui/qs/CellTileView.java b/packages/SystemUI/src/com/android/systemui/qs/CellTileView.java index 7fe28c3093a6..eaf715ffc4c9 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/CellTileView.java +++ b/packages/SystemUI/src/com/android/systemui/qs/CellTileView.java @@ -15,39 +15,56 @@ package com.android.systemui.qs; import android.content.Context; -import android.content.res.ColorStateList; -import android.widget.FrameLayout; -import android.widget.FrameLayout.LayoutParams; +import android.graphics.drawable.Drawable; import android.widget.ImageView; import com.android.settingslib.Utils; import com.android.systemui.R; +import com.android.systemui.plugins.qs.QSTile.Icon; import com.android.systemui.plugins.qs.QSTile.State; -import com.android.systemui.qs.tileimpl.QSTileImpl.ResourceIcon; +import com.android.systemui.statusbar.phone.SignalDrawable; + +import java.util.Objects; // Exists to provide easy way to add sim icon to cell tile // TODO Find a better way to handle this and remove it. public class CellTileView extends SignalTileView { - private final ImageView mOverlay; + private final SignalDrawable mSignalDrawable; public CellTileView(Context context) { super(context); - mOverlay = new ImageView(mContext); - mOverlay.setImageTintList(ColorStateList.valueOf(Utils.getColorAttr(context, - android.R.attr.colorPrimary))); - FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT, - LayoutParams.MATCH_PARENT); - int padding = context.getResources().getDimensionPixelOffset(R.dimen.cell_overlay_padding); - params.leftMargin = params.rightMargin = padding; - mIconFrame.addView(mOverlay, params); + mSignalDrawable = new SignalDrawable(mContext); + float dark = Utils.getColorAttr(context, android.R.attr.colorForeground) == 0xff000000 + ? 1 : 0; + mSignalDrawable.setDarkIntensity(dark); + mSignalDrawable.setIntrinsicSize(context.getResources().getDimensionPixelSize( + R.dimen.qs_tile_icon_size)); + } + + protected void updateIcon(ImageView iv, State state) { + if (!Objects.equals(state.icon, iv.getTag(R.id.qs_icon_tag))) { + mSignalDrawable.setLevel(((SignalIcon) state.icon).getState()); + iv.setImageDrawable(mSignalDrawable); + iv.setTag(R.id.qs_icon_tag, state.icon); + } } - @Override - public void setIcon(State state) { - State s = state.copy(); - updateIcon(mOverlay, state); - s.icon = ResourceIcon.get(R.drawable.ic_sim); - super.setIcon(s); + public static class SignalIcon extends Icon { + + private final int mState; + + public SignalIcon(int state) { + mState = state; + } + + public int getState() { + return mState; + } + + @Override + public Drawable getDrawable(Context context) { + return null; + } } } diff --git a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java index abafd64e3707..7ec07604fab5 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java @@ -23,11 +23,13 @@ import android.support.annotation.VisibleForTesting; import android.util.AttributeSet; import android.view.View; import android.widget.RelativeLayout; +import android.widget.TextClock; import com.android.settingslib.Utils; import com.android.systemui.BatteryMeterView; import com.android.systemui.Dependency; import com.android.systemui.R; +import com.android.systemui.R.id; import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.qs.QSDetail.Callback; import com.android.systemui.statusbar.SignalClusterView; @@ -69,15 +71,11 @@ public class QuickStatusBarHeader extends RelativeLayout { float intensity = colorForeground == Color.WHITE ? 0 : 1; Rect tintArea = new Rect(0, 0, 0, 0); - applyDarkness(R.id.signal_cluster, tintArea, intensity, colorForeground); applyDarkness(R.id.battery, tintArea, intensity, colorForeground); applyDarkness(R.id.clock, tintArea, intensity, colorForeground); BatteryMeterView battery = findViewById(R.id.battery); battery.setForceShowPercent(true); - // Don't show the Wi-Fi indicator here, because it is shown just below in the tile. - SignalClusterView signalCluster = findViewById(R.id.signal_cluster); - signalCluster.setQsSignalCluster(); mActivityStarter = Dependency.get(ActivityStarter.class); } diff --git a/packages/SystemUI/src/com/android/systemui/qs/SignalTileView.java b/packages/SystemUI/src/com/android/systemui/qs/SignalTileView.java index d413030ada1d..b300e4a35a5a 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/SignalTileView.java +++ b/packages/SystemUI/src/com/android/systemui/qs/SignalTileView.java @@ -36,6 +36,7 @@ public class SignalTileView extends QSIconViewImpl { protected FrameLayout mIconFrame; protected ImageView mSignal; + private ImageView mOverlay; private ImageView mIn; private ImageView mOut; @@ -64,6 +65,8 @@ public class SignalTileView extends QSIconViewImpl { mIconFrame = new FrameLayout(mContext); mSignal = new SlashImageView(mContext); mIconFrame.addView(mSignal); + mOverlay = new ImageView(mContext); + mIconFrame.addView(mOverlay, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); return mIconFrame; } @@ -109,7 +112,18 @@ public class SignalTileView extends QSIconViewImpl { public void setIcon(QSTile.State state) { final SignalState s = (SignalState) state; setIcon(mSignal, s); - Drawable drawable = mSignal.getDrawable(); + + if (s.overlayIconId > 0) { + mOverlay.setVisibility(VISIBLE); + mOverlay.setImageResource(s.overlayIconId); + } else { + mOverlay.setVisibility(GONE); + } + if (s.overlayIconId > 0 && s.isOverlayIconWide) { + mSignal.setPaddingRelative(mWideOverlayIconStartPadding, 0, 0, 0); + } else { + mSignal.setPaddingRelative(0, 0, 0, 0); + } final boolean shown = isShown(); setVisibility(mIn, shown, s.activityIn); setVisibility(mOut, shown, s.activityOut); diff --git a/packages/SystemUI/src/com/android/systemui/qs/SlashDrawable.java b/packages/SystemUI/src/com/android/systemui/qs/SlashDrawable.java index 06adbbf4b9a4..a10aa5413ca9 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/SlashDrawable.java +++ b/packages/SystemUI/src/com/android/systemui/qs/SlashDrawable.java @@ -14,6 +14,10 @@ package com.android.systemui.qs; +import static com.android.systemui.qs.tileimpl.QSIconViewImpl.QS_ANIM_LENGTH; + +import android.animation.ObjectAnimator; +import android.animation.ValueAnimator; import android.annotation.ColorInt; import android.annotation.IntRange; import android.annotation.NonNull; @@ -24,25 +28,35 @@ import android.graphics.ColorFilter; import android.graphics.Matrix; import android.graphics.Paint; import android.graphics.Path; +import android.graphics.Path.Direction; import android.graphics.PorterDuff.Mode; import android.graphics.Rect; +import android.graphics.RectF; import android.graphics.drawable.Drawable; +import android.util.Log; +import android.util.FloatProperty; public class SlashDrawable extends Drawable { private final Path mPath = new Path(); private final Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG); - private static float[] OFFSET = { - 1.3f / 24f,-1.3f / 24f - }; - private static float[][] PATH = { - {21.9f / 24f, 21.9f / 24f}, - {2.1f / 24f, 2.1f / 24f}, - {0.8f / 24f, 3.4f / 24f}, - {20.6f / 24f, 23.2f / 24f}, - }; + // These values are derived in un-rotated (vertical) orientation + private static final float SLASH_WIDTH = 1.8384776f; + private static final float SLASH_HEIGHT = 28f; + private static final float CENTER_X = 10.65f; + private static final float CENTER_Y = 11.869239f; + private static final float SCALE = 24f; + + // Bottom is derived during animation + private static final float LEFT = (CENTER_X - (SLASH_WIDTH / 2)) / SCALE; + private static final float TOP = (CENTER_Y - (SLASH_HEIGHT / 2)) / SCALE; + private static final float RIGHT = (CENTER_X + (SLASH_WIDTH / 2)) / SCALE; + // Draw the slash washington-monument style; rotate to no-u-turn style + private static final float DEFAULT_ROTATION = -45f; + private Drawable mDrawable; + private final RectF mSlashRect = new RectF(0, 0, 0, 0); private float mRotation; private boolean mSlashed; private Mode mTintMode; @@ -83,47 +97,70 @@ public class SlashDrawable extends Drawable { invalidateSelf(); } + // Animate this value on change + private float mCurrentSlashLength; + private final FloatProperty mSlashLengthProp = new FloatProperty<SlashDrawable>("slashLength") { + @Override + public void setValue(SlashDrawable object, float value) { + object.mCurrentSlashLength = value; + } + + @Override + public Float get(SlashDrawable object) { + return object.mCurrentSlashLength; + } + }; + public void setSlashed(boolean slashed) { if (mSlashed == slashed) return; - // TODO: Animate. + mSlashed = slashed; - invalidateSelf(); + + final float end = mSlashed ? SLASH_HEIGHT / SCALE : 0f; + final float start = mSlashed ? 0f : SLASH_HEIGHT / SCALE; + + ObjectAnimator anim = ObjectAnimator.ofFloat(this, mSlashLengthProp, start, end); + anim.addUpdateListener((ValueAnimator valueAnimator) -> { + invalidateSelf(); + }); + anim.setDuration(QS_ANIM_LENGTH); + anim.start(); } @Override public void draw(@NonNull Canvas canvas) { canvas.save(); - if (mSlashed) { - Matrix m = new Matrix(); - int width = getBounds().width(); - int height = getBounds().height(); - mPath.reset(); - mPath.moveTo(scale(PATH[0][0], width), scale(PATH[0][1], height)); - mPath.lineTo(scale(PATH[1][0], width), scale(PATH[1][1], height)); - mPath.lineTo(scale(PATH[2][0], width), scale(PATH[2][1], height)); - mPath.lineTo(scale(PATH[3][0], width), scale(PATH[3][1], height)); - mPath.close(); - m = new Matrix(); - m.setRotate(mRotation, width / 2, height / 2); - mPath.transform(m); - canvas.drawPath(mPath, mPaint); - m = new Matrix(); - m.setRotate(-mRotation, width / 2, height / 2); - mPath.transform(m); - - m = new Matrix(); - m.setTranslate(scale(OFFSET[0], width), scale(OFFSET[1], height)); - mPath.transform(m); - mPath.moveTo(scale(PATH[0][0], width), scale(PATH[0][1], height)); - mPath.lineTo(scale(PATH[1][0], width), scale(PATH[1][1], height)); - mPath.lineTo(scale(PATH[2][0], width), scale(PATH[2][1], height)); - mPath.lineTo(scale(PATH[3][0], width), scale(PATH[3][1], height)); - mPath.close(); - m = new Matrix(); - m.setRotate(mRotation, width / 2, height / 2); - mPath.transform(m); - canvas.clipOutPath(mPath); - } + Matrix m = new Matrix(); + final int width = getBounds().width(); + final int height = getBounds().height(); + final float radiusX = scale(1f, width); + final float radiusY = scale(1f, height); + updateRect( + scale(LEFT, width), + scale(TOP, height), + scale(RIGHT, width), + scale(TOP + mCurrentSlashLength, height) + ); + + mPath.reset(); + // Draw the slash vertically + mPath.addRoundRect(mSlashRect, radiusX, radiusY, Direction.CW); + // Rotate -45 + desired rotation + m.setRotate(mRotation + DEFAULT_ROTATION, width / 2, height / 2); + mPath.transform(m); + canvas.drawPath(mPath, mPaint); + + // Rotate back to vertical + m.setRotate(-mRotation - DEFAULT_ROTATION, width / 2, height / 2); + mPath.transform(m); + + // Draw another rect right next to the first, for clipping + m.setTranslate(mSlashRect.width(), 0); + mPath.transform(m); + mPath.addRoundRect(mSlashRect, 1.0f * width, 1.0f * height, Direction.CW); + m.setRotate(mRotation + DEFAULT_ROTATION, width / 2, height / 2); + mPath.transform(m); + canvas.clipOutPath(mPath); mDrawable.draw(canvas); canvas.restore(); @@ -133,6 +170,13 @@ public class SlashDrawable extends Drawable { return frac * width; } + private void updateRect(float left, float top, float right, float bottom) { + mSlashRect.left = left; + mSlashRect.top = top; + mSlashRect.right = right; + mSlashRect.bottom = bottom; + } + @Override public void setTint(@ColorInt int tintColor) { super.setTint(tintColor); diff --git a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSIconViewImpl.java b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSIconViewImpl.java index b39fc119aace..cdd0ebc57d5c 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSIconViewImpl.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSIconViewImpl.java @@ -37,6 +37,8 @@ import java.util.Objects; public class QSIconViewImpl extends QSIconView { + public static final long QS_ANIM_LENGTH = 350; + protected final View mIcon; protected final int mIconSizePx; protected final int mTilePaddingBelowIconPx; @@ -148,7 +150,7 @@ public class QSIconViewImpl extends QSIconView { final float toChannel = Color.red(toColor); ValueAnimator anim = ValueAnimator.ofFloat(0, 1); - anim.setDuration(350); + anim.setDuration(QS_ANIM_LENGTH); anim.addUpdateListener(animation -> { float fraction = animation.getAnimatedFraction(); diff --git a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/SlashImageView.java b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/SlashImageView.java index 603f66beca63..315a815af100 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/SlashImageView.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/SlashImageView.java @@ -18,12 +18,14 @@ import android.content.Context; import android.graphics.drawable.Drawable; import android.widget.ImageView; +import com.android.internal.annotations.VisibleForTesting; import com.android.systemui.plugins.qs.QSTile.SlashState; import com.android.systemui.qs.SlashDrawable; public class SlashImageView extends ImageView { - private SlashDrawable mSlash; + @VisibleForTesting + protected SlashDrawable mSlash; public SlashImageView(Context context) { super(context); @@ -38,10 +40,13 @@ public class SlashImageView extends ImageView { @Override public void setImageDrawable(Drawable drawable) { - if (mSlash != null) { - mSlash.setDrawable(drawable); - } else { + if (drawable == null) { + mSlash = null; + super.setImageDrawable(null); + } else if (mSlash == null) { super.setImageDrawable(drawable); + } else { + mSlash.setDrawable(drawable); } } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java index 703be27ad173..36677a46ed9f 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java @@ -183,12 +183,6 @@ public class BluetoothTile extends QSTileImpl<BooleanState> { @Override public void onBluetoothDevicesChanged() { - mUiHandler.post(new Runnable() { - @Override - public void run() { - mDetailAdapter.updateItems(); - } - }); refreshState(); if (isShowingDetail()) { mDetailAdapter.updateItems(); @@ -202,6 +196,9 @@ public class BluetoothTile extends QSTileImpl<BooleanState> { } protected class BluetoothDetailAdapter implements DetailAdapter, QSDetailItems.Callback { + // We probably won't ever have space in the UI for more than 20 devices, so don't + // get info for them. + private static final int MAX_DEVICES = 20; private QSDetailItems mItems; @Override @@ -264,13 +261,14 @@ public class BluetoothTile extends QSTileImpl<BooleanState> { final Collection<CachedBluetoothDevice> devices = mController.getDevices(); if (devices != null) { int connectedDevices = 0; + int count = 0; for (CachedBluetoothDevice device : devices) { - if (device.getBondState() == BluetoothDevice.BOND_NONE) continue; + if (mController.getBondState(device) == BluetoothDevice.BOND_NONE) continue; final Item item = new Item(); item.icon = R.drawable.ic_qs_bluetooth_on; item.line1 = device.getName(); item.tag = device; - int state = device.getMaxConnectionState(); + int state = mController.getMaxConnectionState(device); if (state == BluetoothProfile.STATE_CONNECTED) { item.icon = R.drawable.ic_qs_bluetooth_connected; item.line2 = mContext.getString(R.string.quick_settings_connected); @@ -284,6 +282,9 @@ public class BluetoothTile extends QSTileImpl<BooleanState> { } else { items.add(item); } + if (++count == MAX_DEVICES) { + break; + } } } mItems.setItems(items.toArray(new Item[items.size()])); diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java index a4aa26282c91..e6c3520c4d62 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java @@ -35,6 +35,8 @@ import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.plugins.qs.DetailAdapter; import com.android.systemui.plugins.qs.QSIconView; import com.android.systemui.plugins.qs.QSTile.SignalState; +import com.android.systemui.qs.CellTileView; +import com.android.systemui.qs.CellTileView.SignalIcon; import com.android.systemui.qs.QSHost; import com.android.systemui.qs.SignalTileView; import com.android.systemui.qs.tileimpl.QSTileImpl; @@ -83,7 +85,7 @@ public class CellularTile extends QSTileImpl<SignalState> { @Override public QSIconView createTileView(Context context) { - return new SignalTileView(context); + return new CellTileView(context); } @Override @@ -120,26 +122,26 @@ public class CellularTile extends QSTileImpl<SignalState> { final Resources r = mContext.getResources(); state.activityIn = cb.enabled && cb.activityIn; state.activityOut = cb.enabled && cb.activityOut; + state.isOverlayIconWide = cb.isDataTypeIconWide; + state.overlayIconId = cb.dataTypeIconId; state.label = r.getString(R.string.mobile_data); - state.contentDescription = state.label; + final String signalContentDesc = cb.enabled && (cb.mobileSignalIconId > 0) + ? cb.signalContentDescription + : r.getString(R.string.accessibility_no_signal); + if (cb.noSim) { + state.contentDescription = state.label; + } else { + state.contentDescription = signalContentDesc + ", " + state.label; + } + state.expandedAccessibilityClassName = Switch.class.getName(); state.value = mDataController.isMobileDataSupported() && mDataController.isMobileDataEnabled(); - state.state = cb.airplaneModeEnabled || !cb.enabled ? Tile.STATE_UNAVAILABLE - : state.value ? Tile.STATE_ACTIVE : Tile.STATE_INACTIVE; - if (state.slash == null) { - state.slash = new SlashState(); - } - state.slash.isSlashed = (state.state == Tile.STATE_INACTIVE); - if (state.state == Tile.STATE_ACTIVE) { - state.icon = ResourceIcon.get(R.drawable.ic_data_on); - } else if (state.state == Tile.STATE_INACTIVE) { - state.icon = ResourceIcon.get(R.drawable.ic_data_on); - } else { - state.icon = ResourceIcon.get(R.drawable.ic_data_unavailable); - } + + state.icon = new SignalIcon(cb.mobileSignalIconId); + state.state = Tile.STATE_ACTIVE; } @Override @@ -166,6 +168,7 @@ public class CellularTile extends QSTileImpl<SignalState> { boolean enabled; boolean wifiEnabled; boolean airplaneModeEnabled; + int mobileSignalIconId; String signalContentDescription; int dataTypeIconId; String dataContentDescription; @@ -195,6 +198,7 @@ public class CellularTile extends QSTileImpl<SignalState> { return; } mInfo.enabled = qsIcon.visible; + mInfo.mobileSignalIconId = qsIcon.icon; mInfo.signalContentDescription = qsIcon.contentDescription; mInfo.dataTypeIconId = qsType; mInfo.dataContentDescription = typeContentDescription; @@ -211,6 +215,7 @@ public class CellularTile extends QSTileImpl<SignalState> { mInfo.noSim = show; if (mInfo.noSim) { // Make sure signal gets cleared out when no sims. + mInfo.mobileSignalIconId = 0; mInfo.dataTypeIconId = 0; // Show a No SIMs description to avoid emergency calls message. mInfo.enabled = true; diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/WifiTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/WifiTile.java index 95a9132f2317..cb9093ac4928 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/WifiTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/WifiTile.java @@ -152,7 +152,7 @@ public class WifiTile extends QSTileImpl<SignalState> { } if (state.slash == null) { state.slash = new SlashState(); - state.slash.rotation = 8; + state.slash.rotation = 6; } state.slash.isSlashed = false; state.state = Tile.STATE_ACTIVE; diff --git a/packages/SystemUI/src/com/android/systemui/recents/RecentsImpl.java b/packages/SystemUI/src/com/android/systemui/recents/RecentsImpl.java index 611169f575c1..42e892136954 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/RecentsImpl.java +++ b/packages/SystemUI/src/com/android/systemui/recents/RecentsImpl.java @@ -78,6 +78,7 @@ import com.android.systemui.recents.model.RecentsTaskLoader; import com.android.systemui.recents.model.Task; import com.android.systemui.recents.model.TaskGrouping; import com.android.systemui.recents.model.TaskStack; +import com.android.systemui.recents.model.ThumbnailData; import com.android.systemui.recents.views.RecentsTransitionHelper; import com.android.systemui.recents.views.RecentsTransitionHelper.AppTransitionAnimationSpecsFuture; import com.android.systemui.recents.views.TaskStackLayoutAlgorithm; @@ -199,7 +200,8 @@ public class RecentsImpl implements ActivityOptions.OnAnimationFinishedListener return; } - EventBus.getDefault().send(new TaskSnapshotChangedEvent(taskId, snapshot)); + EventBus.getDefault().send(new TaskSnapshotChangedEvent(taskId, + ThumbnailData.createFromTaskSnapshot(snapshot))); } } diff --git a/packages/SystemUI/src/com/android/systemui/recents/events/ui/TaskSnapshotChangedEvent.java b/packages/SystemUI/src/com/android/systemui/recents/events/ui/TaskSnapshotChangedEvent.java index 07c3b3d7b391..e0ed7a9e7e35 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/events/ui/TaskSnapshotChangedEvent.java +++ b/packages/SystemUI/src/com/android/systemui/recents/events/ui/TaskSnapshotChangedEvent.java @@ -16,9 +16,8 @@ package com.android.systemui.recents.events.ui; -import android.app.ActivityManager.TaskSnapshot; - import com.android.systemui.recents.events.EventBus; +import com.android.systemui.recents.model.ThumbnailData; /** * Sent when a task snapshot has changed. @@ -26,10 +25,10 @@ import com.android.systemui.recents.events.EventBus; public class TaskSnapshotChangedEvent extends EventBus.Event { public final int taskId; - public final TaskSnapshot taskSnapshot; + public final ThumbnailData thumbnailData; - public TaskSnapshotChangedEvent(int taskId, TaskSnapshot taskSnapshot) { + public TaskSnapshotChangedEvent(int taskId, ThumbnailData thumbnailData) { this.taskId = taskId; - this.taskSnapshot = taskSnapshot; + this.thumbnailData = thumbnailData; } } 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 1f13830ec1cc..c66b2dd8eec5 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/misc/SystemServicesProxy.java +++ b/packages/SystemUI/src/com/android/systemui/recents/misc/SystemServicesProxy.java @@ -154,6 +154,13 @@ public class SystemServicesProxy { Canvas mBgProtectionCanvas; private final Handler mHandler = new H(); + private final Runnable mGcRunnable = new Runnable() { + @Override + public void run() { + System.gc(); + System.runFinalization(); + } + }; private final UiOffloadThread mUiOffloadThread = Dependency.get(UiOffloadThread.class); @@ -365,13 +372,7 @@ public class SystemServicesProxy { * Requests a gc() from the background thread. */ public void gc() { - BackgroundThread.getHandler().post(new Runnable() { - @Override - public void run() { - System.gc(); - System.runFinalization(); - } - }); + BackgroundThread.getHandler().post(mGcRunnable); } /** @@ -799,11 +800,8 @@ public class SystemServicesProxy { if (RecentsDebugFlags.Static.EnableMockTasks) return; // Remove the task. - BackgroundThread.getHandler().post(new Runnable() { - @Override - public void run() { - mAm.removeTask(taskId); - } + mUiOffloadThread.submit(() -> { + mAm.removeTask(taskId); }); } diff --git a/packages/SystemUI/src/com/android/systemui/recents/model/RecentsPackageMonitor.java b/packages/SystemUI/src/com/android/systemui/recents/model/RecentsPackageMonitor.java index 1f82c1677029..308cece1dfdd 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/model/RecentsPackageMonitor.java +++ b/packages/SystemUI/src/com/android/systemui/recents/model/RecentsPackageMonitor.java @@ -20,9 +20,9 @@ import android.content.Context; import android.os.UserHandle; import com.android.internal.content.PackageMonitor; -import com.android.internal.os.BackgroundThread; import com.android.systemui.recents.events.EventBus; import com.android.systemui.recents.events.activity.PackagesChangedEvent; +import com.android.systemui.recents.misc.ForegroundThread; /** * The package monitor listens for changes from PackageManager to update the contents of the @@ -36,7 +36,7 @@ public class RecentsPackageMonitor extends PackageMonitor { // We register for events from all users, but will cross-reference them with // packages for the current user and any profiles they have. Ensure that events are // handled in a background thread. - register(context, BackgroundThread.get().getLooper(), UserHandle.ALL, true); + register(context, ForegroundThread.get().getLooper(), UserHandle.ALL, true); } catch (IllegalStateException e) { e.printStackTrace(); } diff --git a/packages/SystemUI/src/com/android/systemui/recents/model/RecentsTaskLoader.java b/packages/SystemUI/src/com/android/systemui/recents/model/RecentsTaskLoader.java index 15e1739f41ce..1da2d746e9c2 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/model/RecentsTaskLoader.java +++ b/packages/SystemUI/src/com/android/systemui/recents/model/RecentsTaskLoader.java @@ -100,7 +100,6 @@ class BackgroundTaskLoader implements Runnable { TaskResourceLoadQueue mLoadQueue; TaskKeyLruCache<Drawable> mIconCache; - Bitmap mDefaultThumbnail; BitmapDrawable mDefaultIcon; boolean mStarted; @@ -111,11 +110,10 @@ class BackgroundTaskLoader implements Runnable { /** Constructor, creates a new loading thread that loads task resources in the background */ public BackgroundTaskLoader(TaskResourceLoadQueue loadQueue, - TaskKeyLruCache<Drawable> iconCache, Bitmap defaultThumbnail, - BitmapDrawable defaultIcon, OnIdleChangedListener onIdleChangedListener) { + TaskKeyLruCache<Drawable> iconCache, BitmapDrawable defaultIcon, + OnIdleChangedListener onIdleChangedListener) { mLoadQueue = loadQueue; mIconCache = iconCache; - mDefaultThumbnail = defaultThumbnail; mDefaultIcon = defaultIcon; mMainThreadHandler = new Handler(); mOnIdleChangedListener = onIdleChangedListener; @@ -230,18 +228,14 @@ class BackgroundTaskLoader implements Runnable { } if (DEBUG) Log.d(TAG, "Loading thumbnail: " + t.key); - final ThumbnailData cachedThumbnailData = ssp.getTaskThumbnail(t.key.id, + final ThumbnailData thumbnailData = ssp.getTaskThumbnail(t.key.id, true /* reducedResolution */); - if (cachedThumbnailData.thumbnail == null) { - cachedThumbnailData.thumbnail = mDefaultThumbnail; - } - if (!mCancelled) { // Notify that the task data has changed final Drawable finalIcon = cachedIcon; mMainThreadHandler.post( - () -> t.notifyTaskDataLoaded(cachedThumbnailData, finalIcon)); + () -> t.notifyTaskDataLoaded(thumbnailData, finalIcon)); } } } @@ -282,7 +276,6 @@ public class RecentsTaskLoader { int mDefaultTaskBarBackgroundColor; int mDefaultTaskViewBackgroundColor; BitmapDrawable mDefaultIcon; - Bitmap mDefaultThumbnail; private TaskKeyLruCache.EvictionCallback mClearActivityInfoOnEviction = new TaskKeyLruCache.EvictionCallback() { @@ -304,15 +297,10 @@ public class RecentsTaskLoader { mMaxIconCacheSize = res.getInteger(R.integer.config_recents_max_icon_count); int iconCacheSize = RecentsDebugFlags.Static.DisableBackgroundCache ? 1 : mMaxIconCacheSize; - int thumbnailCacheSize = RecentsDebugFlags.Static.DisableBackgroundCache ? 1 : - mMaxThumbnailCacheSize; // Create the default assets Bitmap icon = Bitmap.createBitmap(1, 1, Bitmap.Config.ALPHA_8); icon.eraseColor(0); - mDefaultThumbnail = Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888); - mDefaultThumbnail.setHasAlpha(false); - mDefaultThumbnail.eraseColor(0xFFffffff); mDefaultIcon = new BitmapDrawable(context.getResources(), icon); // Initialize the proxy, cache and loaders @@ -325,7 +313,7 @@ public class RecentsTaskLoader { mContentDescriptionCache = new TaskKeyLruCache<>(numRecentTasks, mClearActivityInfoOnEviction); mActivityInfoCache = new LruCache(numRecentTasks); - mLoader = new BackgroundTaskLoader(mLoadQueue, mIconCache, mDefaultThumbnail, mDefaultIcon, + mLoader = new BackgroundTaskLoader(mLoadQueue, mIconCache, mDefaultIcon, mHighResThumbnailLoader::setTaskLoadQueueIdle); } diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/TaskView.java b/packages/SystemUI/src/com/android/systemui/recents/views/TaskView.java index 4b614eda941a..17204a421999 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskView.java +++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskView.java @@ -133,6 +133,7 @@ public class TaskView extends FixedSizeFrameLayout implements Task.TaskCallbacks @ViewDebug.ExportedProperty(deepExport=true, prefix="task_") private Task mTask; + private boolean mTaskBound; @ViewDebug.ExportedProperty(category="recents") private boolean mClipViewInStack = true; @ViewDebug.ExportedProperty(category="recents") @@ -607,6 +608,7 @@ public class TaskView extends FixedSizeFrameLayout implements Task.TaskCallbacks SystemServicesProxy ssp = Recents.getSystemServices(); mTouchExplorationEnabled = touchExplorationEnabled; mTask = t; + mTaskBound = true; mTask.addCallback(this); mIsDisabledInSafeMode = !mTask.isSystemApp && ssp.isInSafeMode(); mThumbnailView.bindToTask(mTask, mIsDisabledInSafeMode, displayOrientation, displayRect); @@ -627,9 +629,11 @@ public class TaskView extends FixedSizeFrameLayout implements Task.TaskCallbacks @Override public void onTaskDataLoaded(Task task, ThumbnailData thumbnailData) { - // Update each of the views to the new task data - mThumbnailView.onTaskDataLoaded(thumbnailData); - mHeaderView.onTaskDataLoaded(); + if (mTaskBound) { + // Update each of the views to the new task data + mThumbnailView.onTaskDataLoaded(thumbnailData); + mHeaderView.onTaskDataLoaded(); + } } @Override @@ -638,6 +642,7 @@ public class TaskView extends FixedSizeFrameLayout implements Task.TaskCallbacks mTask.removeCallback(this); mThumbnailView.unbindFromTask(); mHeaderView.unbindFromTask(mTouchExplorationEnabled); + mTaskBound = false; } @Override diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/TaskViewThumbnail.java b/packages/SystemUI/src/com/android/systemui/recents/views/TaskViewThumbnail.java index 5989b33f3808..a2190b3a3d19 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskViewThumbnail.java +++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskViewThumbnail.java @@ -16,7 +16,6 @@ package com.android.systemui.recents.views; -import android.app.ActivityManager; import android.content.Context; import android.content.res.Configuration; import android.content.res.Resources; @@ -37,7 +36,6 @@ import android.view.ViewDebug; import com.android.systemui.R; import com.android.systemui.recents.events.EventBus; -import com.android.systemui.recents.events.EventBus.Event; import com.android.systemui.recents.events.ui.TaskSnapshotChangedEvent; import com.android.systemui.recents.misc.Utilities; import com.android.systemui.recents.model.Task; @@ -386,15 +384,14 @@ public class TaskViewThumbnail extends View { } public final void onBusEvent(TaskSnapshotChangedEvent event) { - if (mTask == null || event.taskId != mTask.key.id || event.taskSnapshot == null) { + if (mTask == null || event.taskId != mTask.key.id || event.thumbnailData == null + || event.thumbnailData.thumbnail == null) { return; } - setThumbnail(ThumbnailData.createFromTaskSnapshot(event.taskSnapshot)); + setThumbnail(event.thumbnailData); } public void dump(String prefix, PrintWriter writer) { - String innerPrefix = prefix + " "; - writer.print(prefix); writer.print("TaskViewThumbnail"); writer.print(" mTaskViewRect="); writer.print(Utilities.dumpRect(mTaskViewRect)); writer.print(" mThumbnailRect="); writer.print(Utilities.dumpRect(mThumbnailRect)); diff --git a/packages/SystemUI/src/com/android/systemui/stackdivider/Divider.java b/packages/SystemUI/src/com/android/systemui/stackdivider/Divider.java index 4022718865e0..da0a43551f1f 100644 --- a/packages/SystemUI/src/com/android/systemui/stackdivider/Divider.java +++ b/packages/SystemUI/src/com/android/systemui/stackdivider/Divider.java @@ -25,6 +25,8 @@ import android.view.View; import com.android.systemui.R; import com.android.systemui.SystemUI; import com.android.systemui.recents.Recents; +import com.android.systemui.recents.events.EventBus; +import com.android.systemui.recents.events.ui.RecentsDrawnEvent; import com.android.systemui.recents.misc.SystemServicesProxy; import static android.content.res.Configuration.ORIENTATION_LANDSCAPE; @@ -56,6 +58,7 @@ public class Divider extends SystemUI { SystemServicesProxy ssp = Recents.getSystemServices(); ssp.registerDockedStackListener(mDockDividerVisibilityListener); mForcedResizableController = new ForcedResizableInfoActivityController(mContext); + EventBus.getDefault().register(this); } @Override @@ -153,6 +156,18 @@ public class Divider extends SystemUI { mWindowManager.setTouchable((mHomeStackResizable || !mMinimized) && !mAdjustedForIme); } + /** + * Workaround for b/62528361, at the time RecentsDrawnEvent is sent, it may happen before a + * configuration change to the Divider, and internally, the event will be posted to the + * subscriber, or DividerView, which has been removed and prevented from resizing. Instead, + * register the event handler here and proxy the event to the current DividerView. + */ + public final void onBusEvent(RecentsDrawnEvent drawnEvent) { + if (mView != null) { + mView.onRecentsDrawn(); + } + } + @Override public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { pw.print(" mVisible="); pw.println(mVisible); diff --git a/packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java b/packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java index 09f459b0b07b..45835d51ff90 100644 --- a/packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java +++ b/packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java @@ -1224,7 +1224,7 @@ public class DividerView extends FrameLayout implements OnTouchListener, mSnapAlgorithm.getMiddleTarget()); } - public final void onBusEvent(RecentsDrawnEvent drawnEvent) { + public void onRecentsDrawn() { if (mState.animateAfterRecentsDrawn) { mState.animateAfterRecentsDrawn = false; updateDockSide(); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java index c445c0dd7787..6abf35ffc713 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java @@ -63,6 +63,8 @@ import com.android.systemui.plugins.PluginManager; import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin; import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin.MenuItem; import com.android.systemui.statusbar.NotificationGuts.GutsContent; +import com.android.systemui.statusbar.notification.AboveShelfChangedListener; +import com.android.systemui.statusbar.notification.AboveShelfObserver; import com.android.systemui.statusbar.notification.HybridNotificationView; import com.android.systemui.statusbar.notification.NotificationInflater; import com.android.systemui.statusbar.notification.NotificationUtils; @@ -162,6 +164,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView private boolean mIsSystemChildExpanded; private boolean mIsPinned; private FalsingManager mFalsingManager; + private AboveShelfChangedListener mAboveShelfChangedListener; private HeadsUpManager mHeadsUpManager; private boolean mJustClicked; @@ -349,7 +352,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView mShowingPublicInitialized = false; updateNotificationColor(); if (mMenuRow != null) { - mMenuRow.onNotificationUpdated(); + mMenuRow.onNotificationUpdated(mStatusBarNotification); } if (mIsSummaryWithChildren) { mChildrenContainer.recreateNotificationHeader(mExpandClickListener); @@ -388,6 +391,10 @@ public class ExpandableNotificationRow extends ActivatableNotificationView expandedIcon.setStaticDrawableColor(color); } + public void setAboveShelfChangedListener(AboveShelfChangedListener aboveShelfChangedListener) { + mAboveShelfChangedListener = aboveShelfChangedListener; + } + @Override public boolean isDimmable() { if (!getShowingLayout().isDimmable()) { @@ -442,6 +449,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView } public void setHeadsUp(boolean isHeadsUp) { + boolean wasAboveShelf = isAboveShelf(); int intrinsicBefore = getIntrinsicHeight(); mIsHeadsUp = isHeadsUp; mPrivateLayout.setHeadsUp(isHeadsUp); @@ -454,6 +462,8 @@ public class ExpandableNotificationRow extends ActivatableNotificationView } if (isHeadsUp) { setAboveShelf(true); + } else if (isAboveShelf() != wasAboveShelf) { + mAboveShelfChangedListener.onAboveShelfStateChanged(!wasAboveShelf); } } @@ -634,6 +644,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView */ public void setPinned(boolean pinned) { int intrinsicHeight = getIntrinsicHeight(); + boolean wasAboveShelf = isAboveShelf(); mIsPinned = pinned; if (intrinsicHeight != getIntrinsicHeight()) { notifyHeightChanged(false /* needsAnimation */); @@ -645,6 +656,9 @@ public class ExpandableNotificationRow extends ActivatableNotificationView setUserExpanded(true); } setChronometerRunning(mLastChronometerRunning); + if (isAboveShelf() != wasAboveShelf) { + mAboveShelfChangedListener.onAboveShelfStateChanged(!wasAboveShelf); + } } public boolean isPinned() { @@ -817,7 +831,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView public NotificationMenuRowPlugin createMenu() { if (mMenuRow.getMenuView() == null) { - mMenuRow.createMenu(this); + mMenuRow.createMenu(this, mStatusBarNotification); mMenuRow.setAppName(mAppName); FrameLayout.LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); @@ -852,7 +866,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView if (oldMenu != null) { int menuIndex = indexOfChild(oldMenu); removeView(oldMenu); - mMenuRow.createMenu(ExpandableNotificationRow.this); + mMenuRow.createMenu(ExpandableNotificationRow.this, mStatusBarNotification); mMenuRow.setAppName(mAppName); addView(mMenuRow.getMenuView(), menuIndex); } @@ -993,8 +1007,12 @@ public class ExpandableNotificationRow extends ActivatableNotificationView } public void setHeadsUpAnimatingAway(boolean headsUpAnimatingAway) { + boolean wasAboveShelf = isAboveShelf(); mHeadsupDisappearRunning = headsUpAnimatingAway; mPrivateLayout.setHeadsUpAnimatingAway(headsUpAnimatingAway); + if (isAboveShelf() != wasAboveShelf) { + mAboveShelfChangedListener.onAboveShelfStateChanged(!wasAboveShelf); + } } /** @@ -1433,6 +1451,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView if (mIsSummaryWithChildren) { mChildrenContainer.setDark(dark, fade, delay); } + updateShelfIconColor(); } public boolean isExpandable() { @@ -1555,6 +1574,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView */ public void setOnKeyguard(boolean onKeyguard) { if (onKeyguard != mOnKeyguard) { + boolean wasAboveShelf = isAboveShelf(); final boolean wasExpanded = isExpanded(); mOnKeyguard = onKeyguard; onExpansionChanged(false /* userAction */, wasExpanded); @@ -1564,6 +1584,9 @@ public class ExpandableNotificationRow extends ActivatableNotificationView } notifyHeightChanged(false /* needsAnimation */); } + if (isAboveShelf() != wasAboveShelf) { + mAboveShelfChangedListener.onAboveShelfStateChanged(!wasAboveShelf); + } } } @@ -2214,7 +2237,11 @@ public class ExpandableNotificationRow extends ActivatableNotificationView } public void setAboveShelf(boolean aboveShelf) { + boolean wasAboveShelf = isAboveShelf(); mAboveShelf = aboveShelf; + if (isAboveShelf() != wasAboveShelf) { + mAboveShelfChangedListener.onAboveShelfStateChanged(!wasAboveShelf); + } } public static class NotificationViewState extends ExpandableViewState { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java index 15f3908f735b..75704b1612d7 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java @@ -49,11 +49,11 @@ import com.android.systemui.statusbar.policy.RemoteInputView; */ public class NotificationContentView extends FrameLayout { - private static final int VISIBLE_TYPE_CONTRACTED = 0; - private static final int VISIBLE_TYPE_EXPANDED = 1; - private static final int VISIBLE_TYPE_HEADSUP = 2; + public static final int VISIBLE_TYPE_CONTRACTED = 0; + public static final int VISIBLE_TYPE_EXPANDED = 1; + public static final int VISIBLE_TYPE_HEADSUP = 2; private static final int VISIBLE_TYPE_SINGLELINE = 3; - private static final int VISIBLE_TYPE_AMBIENT = 4; + public static final int VISIBLE_TYPE_AMBIENT = 4; private static final int VISIBLE_TYPE_AMBIENT_SINGLELINE = 5; public static final int UNDEFINED = -1; @@ -928,7 +928,7 @@ public class NotificationContentView extends FrameLayout { } } - private NotificationViewWrapper getVisibleWrapper(int visibleType) { + public NotificationViewWrapper getVisibleWrapper(int visibleType) { switch (visibleType) { case VISIBLE_TYPE_EXPANDED: return mExpandedWrapper; @@ -1085,16 +1085,16 @@ public class NotificationContentView extends FrameLayout { mBeforeN = entry.targetSdk < Build.VERSION_CODES.N; updateAllSingleLineViews(); if (mContractedChild != null) { - mContractedWrapper.notifyContentUpdated(entry.row); + mContractedWrapper.onContentUpdated(entry.row); } if (mExpandedChild != null) { - mExpandedWrapper.notifyContentUpdated(entry.row); + mExpandedWrapper.onContentUpdated(entry.row); } if (mHeadsUpChild != null) { - mHeadsUpWrapper.notifyContentUpdated(entry.row); + mHeadsUpWrapper.onContentUpdated(entry.row); } if (mAmbientChild != null) { - mAmbientWrapper.notifyContentUpdated(entry.row); + mAmbientWrapper.onContentUpdated(entry.row); } applyRemoteInput(entry); updateLegacy(); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationData.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationData.java index 58844ad6851a..c0691c11a286 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationData.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationData.java @@ -438,7 +438,7 @@ public class NotificationData { final int N = mEntries.size(); for (int i = 0; i < N; i++) { Entry entry = mEntries.valueAt(i); - final StatusBarNotification oldSbn = entry.notification.clone(); + final StatusBarNotification oldSbn = entry.notification.cloneLight(); final String overrideGroupKey = getOverrideGroupKey(entry.key); if (!Objects.equals(oldSbn.getOverrideGroupKey(), overrideGroupKey)) { entry.notification.setOverrideGroupKey(overrideGroupKey); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationMenuRow.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationMenuRow.java index 570de1815fc4..5a163d4d56c2 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationMenuRow.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationMenuRow.java @@ -67,7 +67,6 @@ public class NotificationMenuRow implements NotificationMenuRowPlugin, View.OnCl private Context mContext; private FrameLayout mMenuContainer; - private MenuItem mSnoozeItem; private MenuItem mInfoItem; private ArrayList<MenuItem> mMenuItems; private OnMenuEventListener mMenuListener; @@ -86,9 +85,9 @@ public class NotificationMenuRow implements NotificationMenuRowPlugin, View.OnCl private int[] mIconLocation = new int[2]; private int[] mParentLocation = new int[2]; - private float mHorizSpaceForIcon; - private int mVertSpaceForIcons; - private int mIconPadding; + private float mHorizSpaceForIcon = -1; + private int mVertSpaceForIcons = -1; + private int mIconPadding = -1; private float mAlpha = 0f; private float mPrevX; @@ -104,17 +103,9 @@ public class NotificationMenuRow implements NotificationMenuRowPlugin, View.OnCl public NotificationMenuRow(Context context) { mContext = context; - final Resources res = context.getResources(); - mShouldShowMenu = res.getBoolean(R.bool.config_showNotificationGear); - mHorizSpaceForIcon = res.getDimensionPixelSize(R.dimen.notification_menu_icon_size); - mVertSpaceForIcons = res.getDimensionPixelSize(R.dimen.notification_min_height); - mIconPadding = res.getDimensionPixelSize(R.dimen.notification_menu_icon_padding); + mShouldShowMenu = context.getResources().getBoolean(R.bool.config_showNotificationGear); mHandler = new Handler(Looper.getMainLooper()); mMenuItems = new ArrayList<>(); - mSnoozeItem = createSnoozeItem(context); - mInfoItem = createInfoItem(context); - mMenuItems.add(mSnoozeItem); - mMenuItems.add(mInfoItem); } @Override @@ -138,7 +129,7 @@ public class NotificationMenuRow implements NotificationMenuRowPlugin, View.OnCl } @Override - public void createMenu(ViewGroup parent) { + public void createMenu(ViewGroup parent, StatusBarNotification sbn) { mParent = (ExpandableNotificationRow) parent; createMenuViews(true /* resetState */); } @@ -159,7 +150,7 @@ public class NotificationMenuRow implements NotificationMenuRowPlugin, View.OnCl } @Override - public void onNotificationUpdated() { + public void onNotificationUpdated(StatusBarNotification sbn) { if (mMenuContainer == null) { // Menu hasn't been created yet, no need to do anything. return; @@ -180,19 +171,24 @@ public class NotificationMenuRow implements NotificationMenuRowPlugin, View.OnCl } private void createMenuViews(boolean resetState) { - // Filter the menu items based on the notification + final Resources res = mContext.getResources(); + mHorizSpaceForIcon = res.getDimensionPixelSize(R.dimen.notification_menu_icon_size); + mVertSpaceForIcons = res.getDimensionPixelSize(R.dimen.notification_min_height); + mIconPadding = res.getDimensionPixelSize(R.dimen.notification_menu_icon_padding); + mMenuItems.clear(); + // Construct the menu items based on the notification if (mParent != null && mParent.getStatusBarNotification() != null) { int flags = mParent.getStatusBarNotification().getNotification().flags; boolean isForeground = (flags & Notification.FLAG_FOREGROUND_SERVICE) != 0; - if (isForeground) { - // Don't show snooze for foreground services - mMenuItems.remove(mSnoozeItem); - } else if (!mMenuItems.contains(mSnoozeItem)) { - // Was a foreground service but is no longer, add snooze back - mMenuItems.add(mSnoozeItem); + if (!isForeground) { + // Only show snooze for non-foreground notifications + mMenuItems.add(createSnoozeItem(mContext)); } } - // Recreate the menu + mInfoItem = createInfoItem(mContext); + mMenuItems.add(mInfoItem); + + // Construct the menu views if (mMenuContainer != null) { mMenuContainer.removeAllViews(); } else { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShelf.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShelf.java index 3f1f82c6cd52..67ea25870a45 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShelf.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShelf.java @@ -179,7 +179,8 @@ public class NotificationShelf extends ActivatableNotificationView implements mShelfState.notGoneIndex = Math.min(mShelfState.notGoneIndex, mNotGoneIndex); } mShelfState.hasItemsInStableShelf = lastViewState.inShelf; - mShelfState.hidden = !mAmbientState.isShadeExpanded(); + mShelfState.hidden = !mAmbientState.isShadeExpanded() + || mAmbientState.isQsCustomizerShowing(); mShelfState.maxShelfEnd = maxShelfEnd; } else { mShelfState.hidden = true; @@ -649,6 +650,10 @@ public class NotificationShelf extends ActivatableNotificationView implements updateRelativeOffset(); } + public void setDarkOffsetX(int offsetX) { + mShelfIcons.setDarkOffsetX(offsetX); + } + private class ShelfState extends ExpandableViewState { private float openedAmount; private boolean hasItemsInStableShelf; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java b/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java index 22192db95c76..169019f2cdb3 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java @@ -122,7 +122,6 @@ public class SignalClusterView extends LinearLayout implements NetworkController private boolean mBlockEthernet; private boolean mActivityEnabled; private boolean mForceBlockWifi; - private boolean mQsSignal; public SignalClusterView(Context context) { this(context, null); @@ -154,10 +153,9 @@ public class SignalClusterView extends LinearLayout implements NetworkController updateActivityEnabled(); } - public void setQsSignalCluster() { + public void setForceBlockWifi() { mForceBlockWifi = true; mBlockWifi = true; - mQsSignal = true; if (isAttachedToWindow()) { // Re-register to get new callbacks. mNetworkController.removeCallback(this); @@ -302,23 +300,19 @@ public class SignalClusterView extends LinearLayout implements NetworkController } @Override - public void setMobileDataIndicators(IconState icon, IconState qsIcon, int type, + public void setMobileDataIndicators(IconState statusIcon, IconState qsIcon, int statusType, int qsType, boolean activityIn, boolean activityOut, String typeContentDescription, String description, boolean isWide, int subId, boolean roaming) { PhoneState state = getState(subId); if (state == null) { return; } - if (mQsSignal && qsIcon != null) { - icon = qsIcon; - type = qsType; - } - state.mMobileVisible = icon.visible && !mBlockMobile; - state.mMobileStrengthId = icon.icon; - state.mMobileTypeId = type; - state.mMobileDescription = icon.contentDescription; + state.mMobileVisible = statusIcon.visible && !mBlockMobile; + state.mMobileStrengthId = statusIcon.icon; + state.mMobileTypeId = statusType; + state.mMobileDescription = statusIcon.contentDescription; state.mMobileTypeDescription = typeContentDescription; - state.mIsMobileTypeIconWide = type != 0 && isWide; + state.mIsMobileTypeIconWide = statusType != 0 && isWide; state.mRoaming = roaming; state.mActivityIn = activityIn && mActivityEnabled; state.mActivityOut = activityOut && mActivityEnabled; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/AboveShelfChangedListener.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/AboveShelfChangedListener.java new file mode 100644 index 000000000000..07baedce0276 --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/AboveShelfChangedListener.java @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License + */ + +package com.android.systemui.statusbar.notification; + +/** + * A listener for when the above shelf state of notification changes + */ +public interface AboveShelfChangedListener { + + /** + * Notifies a listener that the above shelf state changed + */ + void onAboveShelfStateChanged(boolean aboveShelf); +} diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/AboveShelfObserver.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/AboveShelfObserver.java new file mode 100644 index 000000000000..f10d2d7f05c2 --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/AboveShelfObserver.java @@ -0,0 +1,73 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License + */ + +package com.android.systemui.statusbar.notification; + +import android.view.View; +import android.view.ViewGroup; + +import com.android.internal.annotations.VisibleForTesting; +import com.android.systemui.statusbar.ExpandableNotificationRow; + +/** + * An observer that listens to the above shelf state and can notify listeners + */ +public class AboveShelfObserver implements AboveShelfChangedListener { + + private final ViewGroup mHostLayout; + private boolean mHasViewsAboveShelf = false; + private HasViewAboveShelfChangedListener mListener; + + public AboveShelfObserver(ViewGroup hostLayout) { + mHostLayout = hostLayout; + } + + public void setListener(HasViewAboveShelfChangedListener listener) { + mListener = listener; + } + + @Override + public void onAboveShelfStateChanged(boolean aboveShelf) { + boolean hasViewsAboveShelf = aboveShelf; + if (!hasViewsAboveShelf && mHostLayout != null) { + int n = mHostLayout.getChildCount(); + for (int i = 0; i < n; i++) { + View child = mHostLayout.getChildAt(i); + if (child instanceof ExpandableNotificationRow) { + if (((ExpandableNotificationRow) child).isAboveShelf()) { + hasViewsAboveShelf = true; + break; + } + } + } + } + if (mHasViewsAboveShelf != hasViewsAboveShelf) { + mHasViewsAboveShelf = hasViewsAboveShelf; + if (mListener != null) { + mListener.onHasViewsAboveShelfChanged(hasViewsAboveShelf); + } + } + } + + @VisibleForTesting + boolean hasViewsAboveShelf() { + return mHasViewsAboveShelf; + } + + public interface HasViewAboveShelfChangedListener { + void onHasViewsAboveShelfChanged(boolean hasViewsAboveShelf); + } +} diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationBigPictureTemplateViewWrapper.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationBigPictureTemplateViewWrapper.java index 7a34b6e3d2e4..cf12e94dfc5c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationBigPictureTemplateViewWrapper.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationBigPictureTemplateViewWrapper.java @@ -36,8 +36,8 @@ public class NotificationBigPictureTemplateViewWrapper extends NotificationTempl } @Override - public void notifyContentUpdated(ExpandableNotificationRow row) { - super.notifyContentUpdated(row); + public void onContentUpdated(ExpandableNotificationRow row) { + super.onContentUpdated(row); updateImageTag(row.getStatusBarNotification()); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationBigTextTemplateViewWrapper.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationBigTextTemplateViewWrapper.java index 9476eed8f3f2..20a3d8f06e50 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationBigTextTemplateViewWrapper.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationBigTextTemplateViewWrapper.java @@ -41,11 +41,11 @@ public class NotificationBigTextTemplateViewWrapper extends NotificationTemplate } @Override - public void notifyContentUpdated(ExpandableNotificationRow row) { + public void onContentUpdated(ExpandableNotificationRow row) { // Reinspect the notification. Before the super call, because the super call also updates // the transformation types and we need to have our values set by then. resolveViews(row.getStatusBarNotification()); - super.notifyContentUpdated(row); + super.onContentUpdated(row); } @Override diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationHeaderViewWrapper.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationHeaderViewWrapper.java index faab157a73c0..fcc982ea3fb0 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationHeaderViewWrapper.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationHeaderViewWrapper.java @@ -133,8 +133,8 @@ public class NotificationHeaderViewWrapper extends NotificationViewWrapper { } @Override - public void notifyContentUpdated(ExpandableNotificationRow row) { - super.notifyContentUpdated(row); + public void onContentUpdated(ExpandableNotificationRow row) { + super.onContentUpdated(row); mIsLowPriority = row.isLowPriority(); mTransformLowPriorityTitle = !row.isChildInGroup() && !row.isSummaryWithChildren(); ArraySet<View> previousViews = mTransformationHelper.getAllTransformingViews(); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationInflater.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationInflater.java index 4b08f2b5901d..7eaa290c9d23 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationInflater.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationInflater.java @@ -36,7 +36,6 @@ import com.android.systemui.statusbar.phone.StatusBar; import com.android.systemui.util.Assert; import java.util.HashMap; -import java.util.concurrent.BlockingQueue; import java.util.concurrent.Executor; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadFactory; @@ -207,7 +206,8 @@ public class NotificationInflater { }; applyRemoteView(result, reInflateFlags, flag, row, redactAmbient, isNewView, remoteViewClickHandler, callback, entry, privateLayout, - privateLayout.getContractedChild(), + privateLayout.getContractedChild(), privateLayout.getVisibleWrapper( + NotificationContentView.VISIBLE_TYPE_CONTRACTED), runningInflations, applyCallback); } @@ -229,7 +229,9 @@ public class NotificationInflater { }; applyRemoteView(result, reInflateFlags, flag, row, redactAmbient, isNewView, remoteViewClickHandler, callback, entry, - privateLayout, privateLayout.getExpandedChild(), runningInflations, + privateLayout, privateLayout.getExpandedChild(), + privateLayout.getVisibleWrapper( + NotificationContentView.VISIBLE_TYPE_EXPANDED), runningInflations, applyCallback); } } @@ -252,7 +254,9 @@ public class NotificationInflater { }; applyRemoteView(result, reInflateFlags, flag, row, redactAmbient, isNewView, remoteViewClickHandler, callback, entry, - privateLayout, privateLayout.getHeadsUpChild(), runningInflations, + privateLayout, privateLayout.getHeadsUpChild(), + privateLayout.getVisibleWrapper( + NotificationContentView.VISIBLE_TYPE_HEADSUP), runningInflations, applyCallback); } } @@ -274,8 +278,9 @@ public class NotificationInflater { }; applyRemoteView(result, reInflateFlags, flag, row, redactAmbient, isNewView, remoteViewClickHandler, callback, entry, - publicLayout, publicLayout.getContractedChild(), runningInflations, - applyCallback); + publicLayout, publicLayout.getContractedChild(), + publicLayout.getVisibleWrapper(NotificationContentView.VISIBLE_TYPE_CONTRACTED), + runningInflations, applyCallback); } flag = FLAG_REINFLATE_AMBIENT_VIEW; @@ -296,7 +301,8 @@ public class NotificationInflater { }; applyRemoteView(result, reInflateFlags, flag, row, redactAmbient, isNewView, remoteViewClickHandler, callback, entry, - newParent, newParent.getAmbientChild(), runningInflations, + newParent, newParent.getAmbientChild(), newParent.getVisibleWrapper( + NotificationContentView.VISIBLE_TYPE_AMBIENT), runningInflations, applyCallback); } @@ -316,6 +322,7 @@ public class NotificationInflater { RemoteViews.OnClickHandler remoteViewClickHandler, @Nullable final InflationCallback callback, NotificationData.Entry entry, NotificationContentView parentLayout, View existingView, + NotificationViewWrapper existingWrapper, final HashMap<Integer, CancellationSignal> runningInflations, ApplyCallback applyCallback) { RemoteViews.OnViewAppliedListener listener @@ -326,6 +333,8 @@ public class NotificationInflater { if (isNewView) { v.setIsRootNamespace(true); applyCallback.setResultView(v); + } else if (existingWrapper != null) { + existingWrapper.onReinflated(); } runningInflations.remove(inflationId); finishIfDone(result, reInflateFlags, runningInflations, callback, row, diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationMediaTemplateViewWrapper.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationMediaTemplateViewWrapper.java index 7fbee7d66615..eb211a10737b 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationMediaTemplateViewWrapper.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationMediaTemplateViewWrapper.java @@ -39,11 +39,11 @@ public class NotificationMediaTemplateViewWrapper extends NotificationTemplateVi } @Override - public void notifyContentUpdated(ExpandableNotificationRow row) { + public void onContentUpdated(ExpandableNotificationRow row) { // Reinspect the notification. Before the super call, because the super call also updates // the transformation types and we need to have our values set by then. resolveViews(); - super.notifyContentUpdated(row); + super.onContentUpdated(row); } @Override diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationMessagingTemplateViewWrapper.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationMessagingTemplateViewWrapper.java index 9631556e4267..f6ee1cac9c3d 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationMessagingTemplateViewWrapper.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationMessagingTemplateViewWrapper.java @@ -70,11 +70,11 @@ public class NotificationMessagingTemplateViewWrapper extends NotificationTempla } @Override - public void notifyContentUpdated(ExpandableNotificationRow row) { + public void onContentUpdated(ExpandableNotificationRow row) { // Reinspect the notification. Before the super call, because the super call also updates // the transformation types and we need to have our values set by then. resolveViews(); - super.notifyContentUpdated(row); + super.onContentUpdated(row); } @Override diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationTemplateViewWrapper.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationTemplateViewWrapper.java index f5f92c81df54..bb979ebd1288 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationTemplateViewWrapper.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationTemplateViewWrapper.java @@ -159,11 +159,11 @@ public class NotificationTemplateViewWrapper extends NotificationHeaderViewWrapp } @Override - public void notifyContentUpdated(ExpandableNotificationRow row) { + public void onContentUpdated(ExpandableNotificationRow row) { // Reinspect the notification. Before the super call, because the super call also updates // the transformation types and we need to have our values set by then. resolveTemplateViews(row.getStatusBarNotification()); - super.notifyContentUpdated(row); + super.onContentUpdated(row); } @Override diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationViewWrapper.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationViewWrapper.java index 07f50449fd68..5200d6962ed5 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationViewWrapper.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationViewWrapper.java @@ -66,6 +66,7 @@ public abstract class NotificationViewWrapper implements TransformableView { mView = view; mRow = row; mDozer = createDozer(ctx); + onReinflated(); } protected NotificationDozeHelper createDozer(Context ctx) { @@ -92,12 +93,15 @@ public abstract class NotificationViewWrapper implements TransformableView { * Notifies this wrapper that the content of the view might have changed. * @param row the row this wrapper is attached to */ - public void notifyContentUpdated(ExpandableNotificationRow row) { + public void onContentUpdated(ExpandableNotificationRow row) { mDarkInitialized = false; - Drawable background = mView.getBackground(); + } + + public void onReinflated() { if (shouldClearBackgroundOnReapply()) { mBackgroundColor = 0; } + Drawable background = mView.getBackground(); if (background instanceof ColorDrawable) { mBackgroundColor = ((ColorDrawable) background).getColor(); mView.setBackground(null); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeParameters.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeParameters.java index d7e7abe4fd9c..6b7397b3f8ca 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeParameters.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeParameters.java @@ -157,6 +157,10 @@ public class DozeParameters { return 2 * getPulseVisibleDuration(); } + public boolean doubleTapReportsTouchCoordinates() { + return mContext.getResources().getBoolean(R.bool.doze_double_tap_reports_touch_coordinates); + } + /** * Parses a spec of the form `1,2,3,!5,*`. The resulting object will match numbers that are diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardClockPositionAlgorithm.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardClockPositionAlgorithm.java index 7370c03110e6..652288d57fe3 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardClockPositionAlgorithm.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardClockPositionAlgorithm.java @@ -16,13 +16,14 @@ package com.android.systemui.statusbar.phone; +import static com.android.systemui.statusbar.notification.NotificationUtils.interpolate; + import android.content.res.Resources; import android.graphics.Path; import android.view.animation.AccelerateInterpolator; import android.view.animation.PathInterpolator; import com.android.systemui.R; -import com.android.systemui.statusbar.notification.NotificationUtils; /** * Utility class to calculate the clock position and top padding of notifications on Keyguard. @@ -40,6 +41,10 @@ public class KeyguardClockPositionAlgorithm { private static final float CLOCK_ADJ_TOP_PADDING_MULTIPLIER_MIN = 1.4f; private static final float CLOCK_ADJ_TOP_PADDING_MULTIPLIER_MAX = 3.2f; + private static final long MILLIS_PER_MINUTES = 1000 * 60; + private static final float BURN_IN_PREVENTION_PERIOD_Y = 521; + private static final float BURN_IN_PREVENTION_PERIOD_X = 83; + private int mClockNotificationsMarginMin; private int mClockNotificationsMarginMax; private float mClockYFractionMin; @@ -52,6 +57,8 @@ public class KeyguardClockPositionAlgorithm { private int mKeyguardStatusHeight; private float mEmptyDragAmount; private float mDensity; + private int mBurnInPreventionOffsetX; + private int mBurnInPreventionOffsetY; /** * The number (fractional) of notifications the "more" card counts when calculating how many @@ -86,6 +93,10 @@ public class KeyguardClockPositionAlgorithm { (float) res.getDimensionPixelSize(R.dimen.notification_shelf_height) / res.getDimensionPixelSize(R.dimen.notification_min_height); mDensity = res.getDisplayMetrics().density; + mBurnInPreventionOffsetX = res.getDimensionPixelSize( + R.dimen.burn_in_prevention_offset_x); + mBurnInPreventionOffsetY = res.getDimensionPixelSize( + R.dimen.burn_in_prevention_offset_y); } public void setup(int maxKeyguardNotifications, int maxPanelHeight, float expandedHeight, @@ -122,10 +133,12 @@ public class KeyguardClockPositionAlgorithm { y + getClockNotificationsPadding() + mKeyguardStatusHeight); result.clockAlpha = getClockAlpha(result.clockScale); - result.stackScrollerPadding = (int) NotificationUtils.interpolate( + result.stackScrollerPadding = (int) interpolate( result.stackScrollerPadding, mClockBottom + y, mDarkAmount); + + result.clockX = (int) interpolate(0, burnInPreventionOffsetX(), mDarkAmount); } private float getClockScale(int notificationPadding, int clockY, int startPadding) { @@ -154,9 +167,39 @@ public class KeyguardClockPositionAlgorithm { private int getClockY() { // Dark: Align the bottom edge of the clock at one third: // clockBottomEdge = result - mKeyguardStatusHeight / 2 + mClockBottom - float clockYDark = (0.33f * mHeight + (float) mKeyguardStatusHeight / 2 - mClockBottom); + float clockYDark = (0.33f * mHeight + (float) mKeyguardStatusHeight / 2 - mClockBottom) + + burnInPreventionOffsetY(); float clockYRegular = getClockYFraction() * mHeight; - return (int) NotificationUtils.interpolate(clockYRegular, clockYDark, mDarkAmount); + return (int) interpolate(clockYRegular, clockYDark, mDarkAmount); + } + + private float burnInPreventionOffsetY() { + return zigzag(System.currentTimeMillis() / MILLIS_PER_MINUTES, + mBurnInPreventionOffsetY * 2, + BURN_IN_PREVENTION_PERIOD_Y) + - mBurnInPreventionOffsetY; + } + + private float burnInPreventionOffsetX() { + return zigzag(System.currentTimeMillis() / MILLIS_PER_MINUTES, + mBurnInPreventionOffsetX * 2, + BURN_IN_PREVENTION_PERIOD_X) + - mBurnInPreventionOffsetX; + } + + /** + * Implements a continuous, piecewise linear, periodic zig-zag function + * + * Can be thought of as a linear approximation of abs(sin(x))) + * + * @param period period of the function, ie. zigzag(x + period) == zigzag(x) + * @param amplitude maximum value of the function + * @return a value between 0 and amplitude + */ + private float zigzag(float x, float amplitude, float period) { + float xprime = (x % period) / (period / 2); + float interpolationAmount = (xprime <= 1) ? xprime : (2 - xprime); + return interpolate(0, amplitude, interpolationAmount); } private float getClockYExpansionAdjustment() { @@ -230,5 +273,8 @@ public class KeyguardClockPositionAlgorithm { * the padding, but not the overall panel size. */ public int stackScrollerPaddingAdjustment; + + /** The x translation of the clock. */ + public int clockX; } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconContainer.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconContainer.java index a4fadc4317d9..021e11acbcf5 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconContainer.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconContainer.java @@ -123,6 +123,7 @@ public class NotificationIconContainer extends AlphaOptimizedFrameLayout { private boolean mDisallowNextAnimation; private boolean mAnimationsEnabled = true; private ArrayMap<String, ArrayList<StatusBarIcon>> mReplacingIcons; + private int mDarkOffsetX; public NotificationIconContainer(Context context, AttributeSet attrs) { super(context, attrs); @@ -389,6 +390,14 @@ public class NotificationIconContainer extends AlphaOptimizedFrameLayout { iconState.xTranslation = getWidth() - iconState.xTranslation - view.getWidth(); } } + + if (mDark && mDarkOffsetX != 0) { + for (int i = 0; i < childCount; i++) { + View view = getChildAt(i); + IconState iconState = mIconStates.get(view); + iconState.xTranslation += mDarkOffsetX; + } + } } private float getLayoutEnd() { @@ -512,6 +521,10 @@ public class NotificationIconContainer extends AlphaOptimizedFrameLayout { mReplacingIcons = replacingIcons; } + public void setDarkOffsetX(int offsetX) { + mDarkOffsetX = offsetX; + } + public class IconState extends ViewState { public float iconAppearAmount = 1.0f; public float clampedAppearAmount = 1.0f; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationListenerWithPlugins.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationListenerWithPlugins.java new file mode 100644 index 000000000000..9ff907b17564 --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationListenerWithPlugins.java @@ -0,0 +1,152 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the + * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +package com.android.systemui.statusbar.phone; + +import android.content.ComponentName; +import android.content.Context; +import android.os.RemoteException; +import android.service.notification.NotificationListenerService; +import android.service.notification.StatusBarNotification; + +import com.android.systemui.Dependency; +import com.android.systemui.plugins.NotificationListenerController; +import com.android.systemui.plugins.NotificationListenerController.NotificationProvider; +import com.android.systemui.plugins.PluginListener; +import com.android.systemui.plugins.PluginManager; + +import java.util.ArrayList; + +/** + * A version of NotificationListenerService that passes all info to + * any plugins connected. Also allows those plugins the chance to cancel + * any incoming callbacks or to trigger new ones. + */ +public class NotificationListenerWithPlugins extends NotificationListenerService implements + PluginListener<NotificationListenerController> { + + private ArrayList<NotificationListenerController> mPlugins = new ArrayList<>(); + private boolean mConnected; + + @Override + public void registerAsSystemService(Context context, ComponentName componentName, + int currentUser) throws RemoteException { + super.registerAsSystemService(context, componentName, currentUser); + Dependency.get(PluginManager.class).addPluginListener(this, + NotificationListenerController.class); + } + + @Override + public void unregisterAsSystemService() throws RemoteException { + super.unregisterAsSystemService(); + Dependency.get(PluginManager.class).removePluginListener(this); + } + + @Override + public StatusBarNotification[] getActiveNotifications() { + StatusBarNotification[] activeNotifications = super.getActiveNotifications(); + for (NotificationListenerController plugin : mPlugins) { + activeNotifications = plugin.getActiveNotifications(activeNotifications); + } + return activeNotifications; + } + + @Override + public RankingMap getCurrentRanking() { + RankingMap currentRanking = super.getCurrentRanking(); + for (NotificationListenerController plugin : mPlugins) { + currentRanking = plugin.getCurrentRanking(currentRanking); + } + return currentRanking; + } + + public void onPluginConnected() { + mConnected = true; + mPlugins.forEach(p -> p.onListenerConnected(getProvider())); + } + + /** + * Called when listener receives a onNotificationPosted. + * Returns true to indicate this callback should be skipped. + */ + public boolean onPluginNotificationPosted(StatusBarNotification sbn, + final RankingMap rankingMap) { + for (NotificationListenerController plugin : mPlugins) { + if (plugin.onNotificationPosted(sbn, rankingMap)) { + return true; + } + } + return false; + } + + /** + * Called when listener receives a onNotificationRemoved. + * Returns true to indicate this callback should be skipped. + */ + public boolean onPluginNotificationRemoved(StatusBarNotification sbn, + final RankingMap rankingMap) { + for (NotificationListenerController plugin : mPlugins) { + if (plugin.onNotificationRemoved(sbn, rankingMap)) { + return true; + } + } + return false; + } + + public RankingMap onPluginRankingUpdate(RankingMap rankingMap) { + return getCurrentRanking(); + } + + @Override + public void onPluginConnected(NotificationListenerController plugin, Context pluginContext) { + mPlugins.add(plugin); + if (mConnected) { + plugin.onListenerConnected(getProvider()); + } + } + + @Override + public void onPluginDisconnected(NotificationListenerController plugin) { + mPlugins.remove(plugin); + } + + private NotificationProvider getProvider() { + return new NotificationProvider() { + @Override + public StatusBarNotification[] getActiveNotifications() { + return NotificationListenerWithPlugins.super.getActiveNotifications(); + } + + @Override + public RankingMap getRankingMap() { + return NotificationListenerWithPlugins.super.getCurrentRanking(); + } + + @Override + public void addNotification(StatusBarNotification sbn) { + onNotificationPosted(sbn, getRankingMap()); + } + + @Override + public void removeNotification(StatusBarNotification sbn) { + onNotificationRemoved(sbn, getRankingMap()); + } + + @Override + public void updateRanking() { + onNotificationRankingUpdate(getRankingMap()); + } + }; + } +} 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 e2b9da04fed2..4701f85c5ff3 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java @@ -18,6 +18,7 @@ package com.android.systemui.statusbar.phone; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; +import android.animation.AnimatorSet; import android.animation.ObjectAnimator; import android.animation.ValueAnimator; import android.app.ActivityManager; @@ -43,15 +44,13 @@ import android.view.ViewTreeObserver; 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.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.keyguard.KeyguardStatusView; import com.android.systemui.DejankUtils; -import com.android.systemui.Dependency; import com.android.systemui.Interpolators; import com.android.systemui.R; -import com.android.systemui.SystemUIFactory; import com.android.systemui.classifier.FalsingManager; import com.android.systemui.fragments.FragmentHostManager; import com.android.systemui.fragments.FragmentHostManager.FragmentListener; @@ -69,7 +68,6 @@ import com.android.systemui.statusbar.notification.NotificationUtils; import com.android.systemui.statusbar.policy.HeadsUpManager; import com.android.systemui.statusbar.policy.KeyguardUserSwitcher; import com.android.systemui.statusbar.policy.OnHeadsUpChangedListener; -import com.android.systemui.statusbar.policy.UserInfoController; import com.android.systemui.statusbar.stack.NotificationStackScrollLayout; import com.android.systemui.statusbar.stack.StackStateAnimator; @@ -168,8 +166,9 @@ public class NotificationPanelView extends PanelView implements private int mUnlockMoveDistance; private float mEmptyDragAmount; - private ObjectAnimator mClockAnimator; - private int mClockAnimationTarget = -1; + private Animator mClockAnimator; + private int mClockAnimationTargetX = Integer.MIN_VALUE; + private int mClockAnimationTargetY = Integer.MIN_VALUE; private int mTopPaddingAdjustment; private KeyguardClockPositionAlgorithm mClockPositionAlgorithm = new KeyguardClockPositionAlgorithm(); @@ -459,8 +458,9 @@ public class NotificationPanelView extends PanelView implements mDarkAmount); mClockPositionAlgorithm.run(mClockPositionResult); if (animate || mClockAnimator != null) { - startClockAnimation(mClockPositionResult.clockY); + startClockAnimation(mClockPositionResult.clockX, mClockPositionResult.clockY); } else { + mKeyguardStatusView.setX(mClockPositionResult.clockX); mKeyguardStatusView.setY(mClockPositionResult.clockY); } updateClock(mClockPositionResult.clockAlpha, mClockPositionResult.clockScale); @@ -468,6 +468,7 @@ public class NotificationPanelView extends PanelView implements mTopPaddingAdjustment = mClockPositionResult.stackScrollerPaddingAdjustment; } mNotificationStackScroller.setIntrinsicPadding(stackScrollerPadding); + mNotificationStackScroller.setDarkShelfOffsetX(mClockPositionResult.clockX); requestScrollerTopPaddingUpdate(animate); } @@ -523,11 +524,12 @@ public class NotificationPanelView extends PanelView implements return count; } - private void startClockAnimation(int y) { - if (mClockAnimationTarget == y) { + private void startClockAnimation(int x, int y) { + if (mClockAnimationTargetX == x && mClockAnimationTargetY == y) { return; } - mClockAnimationTarget = y; + mClockAnimationTargetX = x; + mClockAnimationTargetY = y; getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { @Override public boolean onPreDraw() { @@ -536,15 +538,20 @@ public class NotificationPanelView extends PanelView implements mClockAnimator.removeAllListeners(); mClockAnimator.cancel(); } - mClockAnimator = ObjectAnimator - .ofFloat(mKeyguardStatusView, View.Y, mClockAnimationTarget); + AnimatorSet set = new AnimatorSet(); + set.play(ObjectAnimator.ofFloat( + mKeyguardStatusView, View.Y, mClockAnimationTargetY)) + .with(ObjectAnimator.ofFloat( + mKeyguardStatusView, View.X, mClockAnimationTargetX)); + mClockAnimator = set; mClockAnimator.setInterpolator(Interpolators.FAST_OUT_SLOW_IN); mClockAnimator.setDuration(StackStateAnimator.ANIMATION_DURATION_STANDARD); mClockAnimator.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { mClockAnimator = null; - mClockAnimationTarget = -1; + mClockAnimationTargetX = Integer.MIN_VALUE; + mClockAnimationTargetY = Integer.MIN_VALUE; } }); mClockAnimator.start(); @@ -2613,6 +2620,9 @@ public class NotificationPanelView extends PanelView implements public void refreshTime() { mKeyguardStatusView.refreshTime(); + if (mDarkAmount > 0) { + positionClockAndNotifications(); + } } public void setStatusAccessibilityImportance(int mode) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationsQuickSettingsContainer.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationsQuickSettingsContainer.java index 1952a21057ca..76cc0ff2a2e1 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationsQuickSettingsContainer.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationsQuickSettingsContainer.java @@ -34,18 +34,19 @@ import com.android.systemui.fragments.FragmentHostManager; import com.android.systemui.fragments.FragmentHostManager.FragmentListener; import com.android.systemui.plugins.qs.QS; import com.android.systemui.statusbar.NotificationData.Entry; -import com.android.systemui.statusbar.policy.HeadsUpManager; -import com.android.systemui.statusbar.policy.OnHeadsUpChangedListener; +import com.android.systemui.statusbar.notification.AboveShelfObserver; +import com.android.systemui.statusbar.stack.NotificationStackScrollLayout; /** * The container with notification stack scroller and quick settings inside. */ public class NotificationsQuickSettingsContainer extends FrameLayout - implements OnInflateListener, FragmentListener, OnHeadsUpChangedListener { + implements OnInflateListener, FragmentListener, + AboveShelfObserver.HasViewAboveShelfChangedListener { private FrameLayout mQsFrame; private View mUserSwitcher; - private View mStackScroller; + private NotificationStackScrollLayout mStackScroller; private View mKeyguardStatusBar; private boolean mInflated; private boolean mQsExpanded; @@ -53,8 +54,7 @@ public class NotificationsQuickSettingsContainer extends FrameLayout private int mBottomPadding; private int mStackScrollerMargin; - private boolean mHeadsUp; - private HeadsUpManager mHeadsUpManager; + private boolean mHasViewsAboveShelf; public NotificationsQuickSettingsContainer(Context context, AttributeSet attrs) { super(context, attrs); @@ -76,16 +76,12 @@ public class NotificationsQuickSettingsContainer extends FrameLayout protected void onAttachedToWindow() { super.onAttachedToWindow(); FragmentHostManager.get(this).addTagListener(QS.TAG, this); - mHeadsUpManager = SysUiServiceProvider.getComponent(getContext(), StatusBar.class) - .mHeadsUpManager; - mHeadsUpManager.addListener(this); } @Override protected void onDetachedFromWindow() { super.onDetachedFromWindow(); FragmentHostManager.get(this).removeTagListener(QS.TAG, this); - mHeadsUpManager.removeListener(this); } @Override @@ -116,7 +112,7 @@ public class NotificationsQuickSettingsContainer extends FrameLayout boolean userSwitcherVisible = mInflated && mUserSwitcher.getVisibility() == View.VISIBLE; boolean statusBarVisible = mKeyguardStatusBar.getVisibility() == View.VISIBLE; - final boolean qsBottom = mHeadsUp; + final boolean qsBottom = mHasViewsAboveShelf; View stackQsTop = qsBottom ? mStackScroller : mQsFrame; View stackQsBottom = !qsBottom ? mStackScroller : mQsFrame; // Invert the order of the scroll view and user switcher such that the notifications receive @@ -183,7 +179,7 @@ public class NotificationsQuickSettingsContainer extends FrameLayout setPadding(0, 0, 0, mBottomPadding); setBottomMargin(mStackScroller, mStackScrollerMargin); } - + mStackScroller.setQsCustomizerShowing(isShowing); } private void setBottomMargin(View v, int bottomMargin) { @@ -193,12 +189,8 @@ public class NotificationsQuickSettingsContainer extends FrameLayout } @Override - public void onHeadsUpStateChanged(Entry entry, boolean isHeadsUp) { - boolean hasHeadsUp = mHeadsUpManager.getAllEntries().size() != 0; - if (mHeadsUp == hasHeadsUp) { - return; - } - mHeadsUp = hasHeadsUp; + public void onHasViewsAboveShelfChanged(boolean hasViewsAboveShelf) { + mHasViewsAboveShelf = hasViewsAboveShelf; invalidate(); } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/SignalDrawable.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/SignalDrawable.java index 7633767c6181..5ebcde789cb1 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/SignalDrawable.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/SignalDrawable.java @@ -106,10 +106,10 @@ public class SignalDrawable extends Drawable { private final Path mFullPath = new Path(); private final Path mForegroundPath = new Path(); private final Path mXPath = new Path(); - private final int mIntrinsicSize; private final Handler mHandler; private float mOldDarkIntensity = -1; private float mNumLevels = 1; + private int mIntrinsicSize; private int mLevel; private int mState; private boolean mVisible; @@ -135,6 +135,10 @@ public class SignalDrawable extends Drawable { mCircleOffsetDiag = (float) Math.sqrt(Math.pow(mCircleOffsetStraight, 2.f) / 2.f); } + public void setIntrinsicSize(int size) { + mIntrinsicSize = size; + } + @Override public int getIntrinsicWidth() { return mIntrinsicSize; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java index ed0ca3053773..f6032d3c9bc7 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java @@ -32,7 +32,6 @@ import static com.android.systemui.statusbar.phone.BarTransitions.MODE_TRANSLUCE import static com.android.systemui.statusbar.phone.BarTransitions.MODE_TRANSPARENT; import static com.android.systemui.statusbar.phone.BarTransitions.MODE_WARNING; -import android.R.style; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.annotation.NonNull; @@ -209,6 +208,7 @@ import com.android.systemui.statusbar.RemoteInputController; import com.android.systemui.statusbar.ScrimView; import com.android.systemui.statusbar.SignalClusterView; import com.android.systemui.statusbar.StatusBarState; +import com.android.systemui.statusbar.notification.AboveShelfObserver; import com.android.systemui.statusbar.notification.InflationException; import com.android.systemui.statusbar.notification.RowInflaterTask; import com.android.systemui.statusbar.notification.VisualStabilityManager; @@ -1000,6 +1000,9 @@ public class StatusBar extends SystemUI implements DemoMode, R.id.notification_stack_scroller); mNotificationPanel.setStatusBar(this); mNotificationPanel.setGroupManager(mGroupManager); + mAboveShelfObserver = new AboveShelfObserver(mStackScroller); + mAboveShelfObserver.setListener(mStatusBarWindow.findViewById( + R.id.notification_container_parent)); mKeyguardStatusBar = (KeyguardStatusBarView) mStatusBarWindow.findViewById(R.id.keyguard_header); mNotificationIconAreaController = SystemUIFactory.getInstance() @@ -4647,6 +4650,11 @@ public class StatusBar extends SystemUI implements DemoMode, @Override public void onActivated(ActivatableNotificationView view) { + onActivated((View)view); + mStackScroller.setActivatedChild(view); + } + + public void onActivated(View view) { mLockscreenGestureLogger.write( MetricsEvent.ACTION_LS_NOTE, 0 /* lengthDp - N/A */, 0 /* velocityDp - N/A */); @@ -4655,7 +4663,6 @@ public class StatusBar extends SystemUI implements DemoMode, if (previousView != null) { previousView.makeInactive(true /* animate */); } - mStackScroller.setActivatedChild(view); } /** @@ -4689,11 +4696,15 @@ public class StatusBar extends SystemUI implements DemoMode, @Override public void onActivationReset(ActivatableNotificationView view) { if (view == mStackScroller.getActivatedChild()) { - mKeyguardIndicationController.hideTransientIndication(); mStackScroller.setActivatedChild(null); + onActivationReset((View)view); } } + public void onActivationReset(View view) { + mKeyguardIndicationController.hideTransientIndication(); + } + public void onTrackingStarted() { runPostCollapseRunnables(); } @@ -4777,7 +4788,8 @@ public class StatusBar extends SystemUI implements DemoMode, /* Only ever called as a consequence of a lockscreen expansion gesture. */ @Override public boolean onDraggedDown(View startingChild, int dragLengthY) { - if (hasActiveNotifications() && (!isDozing() || isPulsing())) { + if (mState == StatusBarState.KEYGUARD + && hasActiveNotifications() && (!isDozing() || isPulsing())) { mLockscreenGestureLogger.write( MetricsEvent.ACTION_LS_SHADE, (int) (dragLengthY / mDisplayMetrics.density), @@ -5312,6 +5324,37 @@ public class StatusBar extends SystemUI implements DemoMode, mAnimateWakeup = animateWakeup; } + @Override + public void onDoubleTap(float screenX, float screenY) { + if (screenX > 0 && screenY > 0 && mAmbientIndicationContainer != null + && mAmbientIndicationContainer.getVisibility() == View.VISIBLE) { + mAmbientIndicationContainer.getLocationOnScreen(mTmpInt2); + float viewX = screenX - mTmpInt2[0]; + float viewY = screenY - mTmpInt2[1]; + if (0 <= viewX && viewX <= mAmbientIndicationContainer.getWidth() + && 0 <= viewY && viewY <= mAmbientIndicationContainer.getHeight()) { + dispatchDoubleTap(viewX, viewY); + } + } + } + + public void dispatchDoubleTap(float viewX, float viewY) { + dispatchTap(mAmbientIndicationContainer, viewX, viewY); + dispatchTap(mAmbientIndicationContainer, viewX, viewY); + } + + private void dispatchTap(View view, float x, float y) { + long now = SystemClock.elapsedRealtime(); + dispatchTouchEvent(view, x, y, now, MotionEvent.ACTION_DOWN); + dispatchTouchEvent(view, x, y, now, MotionEvent.ACTION_UP); + } + + private void dispatchTouchEvent(View view, float x, float y, long now, int action) { + MotionEvent ev = MotionEvent.obtain(now, now, action, x, y, 0 /* meta */); + view.dispatchTouchEvent(ev); + ev.recycle(); + } + private boolean shouldAnimateWakeup() { return mAnimateWakeup; } @@ -5333,6 +5376,8 @@ public class StatusBar extends SystemUI implements DemoMode, // for heads up notifications protected HeadsUpManager mHeadsUpManager; + private AboveShelfObserver mAboveShelfObserver; + // handling reordering protected VisualStabilityManager mVisualStabilityManager = new VisualStabilityManager(); @@ -5754,11 +5799,12 @@ public class StatusBar extends SystemUI implements DemoMode, } }; - private final NotificationListenerService mNotificationListener = - new NotificationListenerService() { + private final NotificationListenerWithPlugins mNotificationListener = + new NotificationListenerWithPlugins() { @Override public void onListenerConnected() { if (DEBUG) Log.d(TAG, "onListenerConnected"); + onPluginConnected(); final StatusBarNotification[] notifications = getActiveNotifications(); if (notifications == null) { Log.w(TAG, "onListenerConnected unable to get active notifications."); @@ -5783,7 +5829,7 @@ public class StatusBar extends SystemUI implements DemoMode, public void onNotificationPosted(final StatusBarNotification sbn, final RankingMap rankingMap) { if (DEBUG) Log.d(TAG, "onNotificationPosted: " + sbn); - if (sbn != null) { + if (sbn != null && !onPluginNotificationPosted(sbn, rankingMap)) { mHandler.post(new Runnable() { @Override public void run() { @@ -5827,14 +5873,9 @@ public class StatusBar extends SystemUI implements DemoMode, public void onNotificationRemoved(StatusBarNotification sbn, final RankingMap rankingMap) { if (DEBUG) Log.d(TAG, "onNotificationRemoved: " + sbn); - if (sbn != null) { + if (sbn != null && !onPluginNotificationRemoved(sbn, rankingMap)) { final String key = sbn.getKey(); - mHandler.post(new Runnable() { - @Override - public void run() { - removeNotification(key, rankingMap); - } - }); + mHandler.post(() -> removeNotification(key, rankingMap)); } } @@ -5842,13 +5883,10 @@ public class StatusBar extends SystemUI implements DemoMode, public void onNotificationRankingUpdate(final RankingMap rankingMap) { if (DEBUG) Log.d(TAG, "onRankingUpdate"); if (rankingMap != null) { - mHandler.post(new Runnable() { - @Override - public void run() { - updateNotificationRanking(rankingMap); - } - }); - } } + RankingMap r = onPluginRankingUpdate(rankingMap); + mHandler.post(() -> updateNotificationRanking(r)); + } + } }; @@ -6408,6 +6446,7 @@ public class StatusBar extends SystemUI implements DemoMode, row.setExpansionLogger(this, entry.notification.getKey()); row.setGroupManager(mGroupManager); row.setHeadsUpManager(mHeadsUpManager); + row.setAboveShelfChangedListener(mAboveShelfObserver); row.setRemoteInputController(mRemoteInputController); row.setOnExpandClickListener(this); row.setRemoteViewClickHandler(mOnClickHandler); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java index 7d69a349f01d..9b0307d6522e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java @@ -94,6 +94,7 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb private boolean mLastBouncerDismissible; protected boolean mLastRemoteInputActive; private boolean mLastDozing; + private boolean mLastDeferScrimFadeOut; private OnDismissAction mAfterKeyguardGoneAction; private final ArrayList<Runnable> mAfterKeyguardGoneRunnables = new ArrayList<>(); @@ -371,7 +372,6 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb mStatusBar.setKeyguardFadingAway(startTime, delay, fadeoutDuration); mFingerprintUnlockController.startKeyguardFadingAway(); mBouncer.hide(true /* destroyView */); - updateStates(); if (wakeUnlockPulsing) { mStatusBarWindowManager.setKeyguardFadingAway(true); mStatusBar.fadeKeyguardWhilePulsing(); @@ -403,6 +403,7 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb mFingerprintUnlockController.finishKeyguardFadingAway(); } } + updateStates(); mStatusBarWindowManager.setKeyguardShowing(false); mViewMediatorCallback.keyguardGone(); } @@ -574,7 +575,7 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb mLastBouncerDismissible = bouncerDismissible; mLastRemoteInputActive = remoteInputActive; mLastDozing = mDozing; - + mLastDeferScrimFadeOut = mDeferScrimFadeOut; mStatusBar.onKeyguardViewManagerStatesUpdated(); } @@ -582,15 +583,16 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb * @return Whether the navigation bar should be made visible based on the current state. */ protected boolean isNavBarVisible() { - return !(mShowing && !mOccluded) && !mDozing || mBouncer.isShowing() || mRemoteInputActive; + return (!(mShowing && !mOccluded) && !mDozing || mBouncer.isShowing() || mRemoteInputActive) + && !mDeferScrimFadeOut; } /** * @return Whether the navigation bar was made visible based on the last known state. */ protected boolean getLastNavBarVisible() { - return !(mLastShowing && !mLastOccluded) && !mLastDozing || mLastBouncerShowing - || mLastRemoteInputActive; + return (!(mLastShowing && !mLastOccluded) && !mLastDozing || mLastBouncerShowing + || mLastRemoteInputActive) && !mLastDeferScrimFadeOut; } public boolean shouldDismissOnMenuPressed() { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowView.java index f58a91b8b369..adc33a144689 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowView.java @@ -53,6 +53,7 @@ import android.view.WindowManager; import android.view.WindowManagerGlobal; import android.widget.FrameLayout; +import com.android.internal.annotations.VisibleForTesting; import com.android.internal.view.FloatingActionMode; import com.android.internal.widget.FloatingToolbar; import com.android.systemui.R; @@ -182,7 +183,12 @@ public class StatusBarWindowView extends FrameLayout { public void setService(StatusBar service) { mService = service; - mDragDownHelper = new DragDownHelper(getContext(), this, mStackScrollLayout, mService); + setDragDownHelper(new DragDownHelper(getContext(), this, mStackScrollLayout, mService)); + } + + @VisibleForTesting + void setDragDownHelper(DragDownHelper dragDownHelper) { + mDragDownHelper = dragDownHelper; } @Override @@ -309,8 +315,8 @@ public class StatusBarWindowView extends FrameLayout { mDoubleTapHelper.onTouchEvent(ev); handled = true; } - if (mService.getBarState() == StatusBarState.KEYGUARD - && (!handled || mDragDownHelper.isDraggingDown())) { + if ((mService.getBarState() == StatusBarState.KEYGUARD && !handled) + || mDragDownHelper.isDraggingDown()) { // we still want to finish our drag down gesture when locking the screen handled = mDragDownHelper.onTouchEvent(ev); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothController.java index df30e20ca582..9daa199ee92a 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothController.java @@ -37,6 +37,9 @@ public interface BluetoothController extends CallbackController<Callback>, Dumpa void disconnect(CachedBluetoothDevice device); boolean canConfigBluetooth(); + int getMaxConnectionState(CachedBluetoothDevice device); + int getBondState(CachedBluetoothDevice device); + public interface Callback { void onBluetoothStateChange(boolean enabled); void onBluetoothDevicesChanged(); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothControllerImpl.java index 36d24b370b00..dc4b1158c1cf 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothControllerImpl.java @@ -18,6 +18,8 @@ package com.android.systemui.statusbar.policy; import android.app.ActivityManager; import android.bluetooth.BluetoothAdapter; +import android.bluetooth.BluetoothDevice; +import android.bluetooth.BluetoothProfile; import android.content.Context; import android.os.Handler; import android.os.Looper; @@ -33,8 +35,10 @@ import com.android.systemui.Dependency; import java.io.FileDescriptor; import java.io.PrintWriter; +import java.lang.ref.WeakReference; import java.util.ArrayList; import java.util.Collection; +import java.util.WeakHashMap; public class BluetoothControllerImpl implements BluetoothController, BluetoothCallback, CachedBluetoothDevice.Callback { @@ -44,18 +48,22 @@ public class BluetoothControllerImpl implements BluetoothController, BluetoothCa private final LocalBluetoothManager mLocalBluetoothManager; private final UserManager mUserManager; private final int mCurrentUser; + private final WeakHashMap<CachedBluetoothDevice, ActuallyCachedState> mCachedState = + new WeakHashMap<>(); + private final Handler mBgHandler; private boolean mEnabled; private int mConnectionState = BluetoothAdapter.STATE_DISCONNECTED; private CachedBluetoothDevice mLastDevice; - private final H mHandler = new H(); + private final H mHandler = new H(Looper.getMainLooper()); private int mState; public BluetoothControllerImpl(Context context, Looper bgLooper) { mLocalBluetoothManager = Dependency.get(LocalBluetoothManager.class); + mBgHandler = new Handler(bgLooper); if (mLocalBluetoothManager != null) { - mLocalBluetoothManager.getEventManager().setReceiverHandler(new Handler(bgLooper)); + mLocalBluetoothManager.getEventManager().setReceiverHandler(mBgHandler); mLocalBluetoothManager.getEventManager().registerCallback(this); onBluetoothStateChanged( mLocalBluetoothManager.getBluetoothAdapter().getBluetoothState()); @@ -106,6 +114,16 @@ public class BluetoothControllerImpl implements BluetoothController, BluetoothCa } @Override + public int getBondState(CachedBluetoothDevice device) { + return getCachedState(device).mBondState; + } + + @Override + public int getMaxConnectionState(CachedBluetoothDevice device) { + return getCachedState(device).mMaxConnectionState; + } + + @Override public void addCallback(Callback cb) { mHandler.obtainMessage(H.MSG_ADD_CALLBACK, cb).sendToTarget(); mHandler.sendEmptyMessage(H.MSG_STATE_CHANGED); @@ -225,12 +243,14 @@ public class BluetoothControllerImpl implements BluetoothController, BluetoothCa @Override public void onDeviceDeleted(CachedBluetoothDevice cachedDevice) { + mCachedState.remove(cachedDevice); updateConnected(); mHandler.sendEmptyMessage(H.MSG_PAIRED_DEVICES_CHANGED); } @Override public void onDeviceBondStateChanged(CachedBluetoothDevice cachedDevice, int bondState) { + mCachedState.remove(cachedDevice); updateConnected(); mHandler.sendEmptyMessage(H.MSG_PAIRED_DEVICES_CHANGED); } @@ -243,11 +263,44 @@ public class BluetoothControllerImpl implements BluetoothController, BluetoothCa @Override public void onConnectionStateChanged(CachedBluetoothDevice cachedDevice, int state) { + mCachedState.remove(cachedDevice); mLastDevice = cachedDevice; updateConnected(); mHandler.sendEmptyMessage(H.MSG_STATE_CHANGED); } + private ActuallyCachedState getCachedState(CachedBluetoothDevice device) { + ActuallyCachedState state = mCachedState.get(device); + if (state == null) { + state = new ActuallyCachedState(device, mHandler); + mBgHandler.post(state); + mCachedState.put(device, state); + return state; + } + return state; + } + + private static class ActuallyCachedState implements Runnable { + + private final WeakReference<CachedBluetoothDevice> mDevice; + private final Handler mUiHandler; + private int mBondState = BluetoothDevice.BOND_NONE; + private int mMaxConnectionState = BluetoothProfile.STATE_DISCONNECTED; + + private ActuallyCachedState(CachedBluetoothDevice device, Handler uiHandler) { + mDevice = new WeakReference<>(device); + mUiHandler = uiHandler; + } + + @Override + public void run() { + mBondState = mDevice.get().getBondState(); + mMaxConnectionState = mDevice.get().getMaxConnectionState(); + mUiHandler.removeMessages(H.MSG_PAIRED_DEVICES_CHANGED); + mUiHandler.sendEmptyMessage(H.MSG_PAIRED_DEVICES_CHANGED); + } + } + private final class H extends Handler { private final ArrayList<BluetoothController.Callback> mCallbacks = new ArrayList<>(); @@ -256,6 +309,10 @@ public class BluetoothControllerImpl implements BluetoothController, BluetoothCa private static final int MSG_ADD_CALLBACK = 3; private static final int MSG_REMOVE_CALLBACK = 4; + public H(Looper looper) { + super(looper); + } + @Override public void handleMessage(Message msg) { switch (msg.what) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManager.java index 70f226028e48..53dfb244c776 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManager.java @@ -20,6 +20,7 @@ import android.content.Context; import android.content.res.Resources; import android.database.ContentObserver; import android.os.Handler; +import android.os.Looper; import android.os.SystemClock; import android.provider.Settings; import android.support.v4.util.ArraySet; @@ -65,7 +66,7 @@ public class HeadsUpManager implements ViewTreeObserver.OnComputeInternalInsetsL private final ArrayMap<String, Long> mSnoozedPackages; private final HashSet<OnHeadsUpChangedListener> mListeners = new HashSet<>(); private final int mDefaultSnoozeLengthMs; - private final Handler mHandler = new Handler(); + private final Handler mHandler = new Handler(Looper.getMainLooper()); private final Pools.Pool<HeadsUpEntry> mEntryPool = new Pools.Pool<HeadsUpEntry>() { private Stack<HeadsUpEntry> mPoolObjects = new Stack<>(); @@ -624,6 +625,7 @@ public class HeadsUpManager implements ViewTreeObserver.OnComputeInternalInsetsL @Override public void onReorderingAllowed() { + mBar.getNotificationScrollLayout().setHeadsUpGoingAwayAnimationsAllowed(false); for (NotificationData.Entry entry : mEntriesToRemoveWhenReorderingAllowed) { if (isHeadsUp(entry.key)) { // Maybe the heads-up was removed already @@ -631,6 +633,7 @@ public class HeadsUpManager implements ViewTreeObserver.OnComputeInternalInsetsL } } mEntriesToRemoveWhenReorderingAllowed.clear(); + mBar.getNotificationScrollLayout().setHeadsUpGoingAwayAnimationsAllowed(true); } public void setVisualStabilityManager(VisualStabilityManager visualStabilityManager) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java index 03a50a209de1..67b5596e34c9 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java @@ -253,6 +253,11 @@ public class MobileSignalController extends SignalController< } @Override + public int getQsCurrentIconId() { + return getCurrentIconId(); + } + + @Override public void notifyListeners(SignalCallback callback) { MobileIconGroup icons = getIcons(); @@ -271,9 +276,9 @@ public class MobileSignalController extends SignalController< String description = null; // Only send data sim callbacks to QS. if (mCurrentState.dataSim) { - qsTypeIcon = showDataIcon ? icons.mDataType : 0; + qsTypeIcon = showDataIcon ? icons.mQsDataType : 0; qsIcon = new IconState(mCurrentState.enabled - && !mCurrentState.isEmergency, getCurrentIconId(), contentDescription); + && !mCurrentState.isEmergency, getQsCurrentIconId(), contentDescription); description = mCurrentState.isEmergency ? null : mCurrentState.networkName; } boolean activityIn = mCurrentState.dataConnected diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/TelephonyIcons.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/TelephonyIcons.java index d91ae39bc920..aaa0568a72cd 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/TelephonyIcons.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/TelephonyIcons.java @@ -22,6 +22,16 @@ import com.android.systemui.statusbar.policy.MobileSignalController.MobileIconGr class TelephonyIcons { //***** Data connection icons + static final int QS_DATA_G = R.drawable.ic_qs_signal_g; + static final int QS_DATA_3G = R.drawable.ic_qs_signal_3g; + static final int QS_DATA_E = R.drawable.ic_qs_signal_e; + static final int QS_DATA_H = R.drawable.ic_qs_signal_h; + static final int QS_DATA_1X = R.drawable.ic_qs_signal_1x; + static final int QS_DATA_4G = R.drawable.ic_qs_signal_4g; + static final int QS_DATA_4G_PLUS = R.drawable.ic_qs_signal_4g_plus; + static final int QS_DATA_LTE = R.drawable.ic_qs_signal_lte; + static final int QS_DATA_LTE_PLUS = R.drawable.ic_qs_signal_lte_plus; + static final int FLIGHT_MODE_ICON = R.drawable.stat_sys_airplane_mode; static final int ICON_LTE = R.drawable.stat_sys_data_fully_connected_lte; @@ -36,6 +46,8 @@ class TelephonyIcons { static final int ICON_DATA_DISABLED = R.drawable.stat_sys_data_disabled; + static final int QS_ICON_DATA_DISABLED = R.drawable.ic_qs_data_disabled; + static final MobileIconGroup CARRIER_NETWORK_CHANGE = new MobileIconGroup( "CARRIER_NETWORK_CHANGE", null, @@ -63,7 +75,7 @@ class TelephonyIcons { R.string.accessibility_data_connection_3g, TelephonyIcons.ICON_3G, true, - TelephonyIcons.ICON_3G + TelephonyIcons.QS_DATA_3G ); static final MobileIconGroup WFC = new MobileIconGroup( @@ -102,7 +114,7 @@ class TelephonyIcons { R.string.accessibility_data_connection_edge, TelephonyIcons.ICON_E, false, - TelephonyIcons.ICON_E + TelephonyIcons.QS_DATA_E ); static final MobileIconGroup ONE_X = new MobileIconGroup( @@ -117,7 +129,7 @@ class TelephonyIcons { R.string.accessibility_data_connection_cdma, TelephonyIcons.ICON_1X, true, - TelephonyIcons.ICON_1X + TelephonyIcons.QS_DATA_1X ); static final MobileIconGroup G = new MobileIconGroup( @@ -132,7 +144,7 @@ class TelephonyIcons { R.string.accessibility_data_connection_gprs, TelephonyIcons.ICON_G, false, - TelephonyIcons.ICON_G + TelephonyIcons.QS_DATA_G ); static final MobileIconGroup H = new MobileIconGroup( @@ -147,7 +159,7 @@ class TelephonyIcons { R.string.accessibility_data_connection_3_5g, TelephonyIcons.ICON_H, false, - TelephonyIcons.ICON_H + TelephonyIcons.QS_DATA_H ); static final MobileIconGroup FOUR_G = new MobileIconGroup( @@ -162,7 +174,7 @@ class TelephonyIcons { R.string.accessibility_data_connection_4g, TelephonyIcons.ICON_4G, true, - TelephonyIcons.ICON_4G + TelephonyIcons.QS_DATA_4G ); static final MobileIconGroup FOUR_G_PLUS = new MobileIconGroup( @@ -177,7 +189,7 @@ class TelephonyIcons { R.string.accessibility_data_connection_4g_plus, TelephonyIcons.ICON_4G_PLUS, true, - TelephonyIcons.ICON_4G_PLUS + TelephonyIcons.QS_DATA_4G_PLUS ); static final MobileIconGroup LTE = new MobileIconGroup( @@ -192,7 +204,7 @@ class TelephonyIcons { R.string.accessibility_data_connection_lte, TelephonyIcons.ICON_LTE, true, - TelephonyIcons.ICON_LTE + TelephonyIcons.QS_DATA_LTE ); static final MobileIconGroup LTE_PLUS = new MobileIconGroup( @@ -207,7 +219,7 @@ class TelephonyIcons { R.string.accessibility_data_connection_lte_plus, TelephonyIcons.ICON_LTE_PLUS, true, - TelephonyIcons.ICON_LTE_PLUS + TelephonyIcons.QS_DATA_LTE_PLUS ); static final MobileIconGroup DATA_DISABLED = new MobileIconGroup( @@ -222,7 +234,7 @@ class TelephonyIcons { R.string.accessibility_cell_data_off, TelephonyIcons.ICON_DATA_DISABLED, false, - TelephonyIcons.ICON_DATA_DISABLED + TelephonyIcons.QS_ICON_DATA_DISABLED ); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/AmbientState.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/AmbientState.java index 41ef78121c12..b7b991e36710 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/AmbientState.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/AmbientState.java @@ -61,6 +61,7 @@ public class AmbientState { private boolean mPanelFullWidth; private boolean mHasPulsingNotifications; private boolean mUnlockHintRunning; + private boolean mQsCustomizerShowing; public AmbientState(Context context) { reload(context); @@ -314,4 +315,12 @@ public class AmbientState { public boolean isUnlockHintRunning() { return mUnlockHintRunning; } + + public boolean isQsCustomizerShowing() { + return mQsCustomizerShowing; + } + + public void setQsCustomizerShowing(boolean qsCustomizerShowing) { + mQsCustomizerShowing = qsCustomizerShowing; + } } 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 2d7d17b8958a..fe53104ff9c2 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationChildrenContainer.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationChildrenContainer.java @@ -313,7 +313,7 @@ public class NotificationChildrenContainer extends ViewGroup { } else { header.reapply(getContext(), mNotificationHeader); } - mNotificationHeaderWrapper.notifyContentUpdated(mContainingNotification); + mNotificationHeaderWrapper.onContentUpdated(mContainingNotification); recreateLowPriorityHeader(builder); recreateAmbientHeader(builder); updateHeaderVisibility(false /* animate */); @@ -332,14 +332,14 @@ public class NotificationChildrenContainer extends ViewGroup { mNotificationHeaderAmbient = (ViewGroup) header.apply(getContext(), this); mNotificationHeaderWrapperAmbient = NotificationViewWrapper.wrap(getContext(), mNotificationHeaderAmbient, mContainingNotification); - mNotificationHeaderWrapperAmbient.notifyContentUpdated(mContainingNotification); + mNotificationHeaderWrapperAmbient.onContentUpdated(mContainingNotification); addView(mNotificationHeaderAmbient, 0); invalidate(); } else { header.reapply(getContext(), mNotificationHeaderAmbient); } resetHeaderVisibilityIfNeeded(mNotificationHeaderAmbient, calculateDesiredHeader()); - mNotificationHeaderWrapperAmbient.notifyContentUpdated(mContainingNotification); + mNotificationHeaderWrapperAmbient.onContentUpdated(mContainingNotification); } /** @@ -370,7 +370,7 @@ public class NotificationChildrenContainer extends ViewGroup { } else { header.reapply(getContext(), mNotificationHeaderLowPriority); } - mNotificationHeaderWrapperLowPriority.notifyContentUpdated(mContainingNotification); + mNotificationHeaderWrapperLowPriority.onContentUpdated(mContainingNotification); resetHeaderVisibilityIfNeeded(mNotificationHeaderLowPriority, calculateDesiredHeader()); } else { removeView(mNotificationHeaderLowPriority); 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 84acaf1e842b..cbd315b940f3 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java @@ -375,6 +375,7 @@ public class NotificationStackScrollLayout extends ViewGroup private boolean mHeadsUpAnimatingAway; private int mStatusBarState; private int mCachedBackgroundColor; + private boolean mHeadsUpGoingAwayAnimationsAllowed = true; private Runnable mAnimateScroll = this::animateScroll; public NotificationStackScrollLayout(Context context) { @@ -4060,7 +4061,7 @@ public class NotificationStackScrollLayout extends ViewGroup } public void generateHeadsUpAnimation(ExpandableNotificationRow row, boolean isHeadsUp) { - if (mAnimationsEnabled) { + if (mAnimationsEnabled && (isHeadsUp || mHeadsUpGoingAwayAnimationsAllowed)) { mHeadsUpChangeAnimations.add(new Pair<>(row, isHeadsUp)); mNeedsAnimation = true; if (!mIsExpanded && !isHeadsUp) { @@ -4242,6 +4243,19 @@ public class NotificationStackScrollLayout extends ViewGroup mAmbientState.setUnlockHintRunning(running); } + public void setQsCustomizerShowing(boolean isShowing) { + mAmbientState.setQsCustomizerShowing(isShowing); + requestChildrenUpdate(); + } + + public void setHeadsUpGoingAwayAnimationsAllowed(boolean headsUpGoingAwayAnimationsAllowed) { + mHeadsUpGoingAwayAnimationsAllowed = headsUpGoingAwayAnimationsAllowed; + } + + public void setDarkShelfOffsetX(int shelfOffsetX) { + mShelf.setDarkOffsetX(shelfOffsetX); + } + /** * A listener that is notified when some child locations might have changed. */ diff --git a/packages/SystemUI/tests/src/com/android/systemui/doze/DozeHostFake.java b/packages/SystemUI/tests/src/com/android/systemui/doze/DozeHostFake.java index 56c07f905446..23451106a20c 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/doze/DozeHostFake.java +++ b/packages/SystemUI/tests/src/com/android/systemui/doze/DozeHostFake.java @@ -28,6 +28,8 @@ class DozeHostFake implements DozeHost { boolean pulseExtended; boolean animateWakeup; boolean dozing; + float doubleTapX; + float doubleTapY; @Override public void addCallback(@NonNull Callback callback) { @@ -88,4 +90,10 @@ class DozeHostFake implements DozeHost { public void setAnimateWakeup(boolean animateWakeup) { this.animateWakeup = animateWakeup; } + + @Override + public void onDoubleTap(float x, float y) { + doubleTapX = y; + doubleTapY = y; + } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/doze/DozeTriggersTest.java b/packages/SystemUI/tests/src/com/android/systemui/doze/DozeTriggersTest.java index 97d9080093f8..2363b2aadc10 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/doze/DozeTriggersTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/doze/DozeTriggersTest.java @@ -24,10 +24,10 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.app.Instrumentation; -import android.content.Context; import android.os.Handler; import android.os.Looper; import android.support.test.InstrumentationRegistry; +import android.support.test.filters.FlakyTest; import android.support.test.filters.SmallTest; import android.support.test.runner.AndroidJUnit4; @@ -40,10 +40,12 @@ import com.android.systemui.utils.hardware.FakeSensorManager; import org.junit.Before; import org.junit.BeforeClass; +import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; @SmallTest +@Ignore("failing") @RunWith(AndroidJUnit4.class) public class DozeTriggersTest extends SysuiTestCase { private DozeTriggers mTriggers; @@ -108,4 +110,4 @@ public class DozeTriggersTest extends SysuiTestCase { verify(mMachine).requestPulse(anyInt()); } -}
\ No newline at end of file +} diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/QSDetailTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/QSDetailTest.java index 4d5416b49d2d..59eca504d7a4 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/qs/QSDetailTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/qs/QSDetailTest.java @@ -47,7 +47,7 @@ import org.junit.runner.RunWith; @RunWith(AndroidTestingRunner.class) @RunWithLooper @SmallTest -@FlakyTest +@Ignore("failing") public class QSDetailTest extends SysuiTestCase { private MetricsLogger mMetricsLogger; diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/QSFooterTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/QSFooterTest.java index e3ecf776f4b9..f4fda065860e 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/qs/QSFooterTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/qs/QSFooterTest.java @@ -42,7 +42,7 @@ import org.junit.runner.RunWith; @RunWith(AndroidTestingRunner.class) @RunWithLooper @SmallTest -@FlakyTest +@Ignore("failing") public class QSFooterTest extends LeakCheckedTest { private QSFooter mFooter; diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/QSFragmentTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/QSFragmentTest.java index f0bac288393b..8cece9262ae8 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/qs/QSFragmentTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/qs/QSFragmentTest.java @@ -52,7 +52,7 @@ import android.widget.FrameLayout; @RunWith(AndroidTestingRunner.class) @RunWithLooper(setAsMainLooper = true) @SmallTest -@FlakyTest +@Ignore("failing") public class QSFragmentTest extends SysuiBaseFragmentTest { private MetricsLogger mMockMetricsLogger; diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/SlashImageViewTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/SlashImageViewTest.java new file mode 100644 index 000000000000..aef584f8d986 --- /dev/null +++ b/packages/SystemUI/tests/src/com/android/systemui/qs/SlashImageViewTest.java @@ -0,0 +1,76 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.systemui.qs; + +import android.content.Context; +import android.graphics.drawable.Drawable; +import android.support.test.filters.SmallTest; +import android.testing.AndroidTestingRunner; +import android.testing.TestableLooper.RunWithLooper; +import com.android.systemui.SysuiTestCase; +import com.android.systemui.plugins.qs.QSTile.SlashState; +import com.android.systemui.qs.tileimpl.SlashImageView; +import org.junit.Test; +import org.junit.runner.RunWith; + +import static org.junit.Assert.assertTrue; +import static org.mockito.Mockito.mock; + + +@SmallTest +@RunWith(AndroidTestingRunner.class) +@RunWithLooper +public class SlashImageViewTest extends SysuiTestCase { + private TestableSlashImageView mSlashView; + + @Test + public void testSetSlashStateCreatesSlashDrawable() { + SlashState mockState = mock(SlashState.class); + Drawable mockDrawable = mock(Drawable.class); + mSlashView = new TestableSlashImageView(mContext); + assertTrue(mSlashView.getSlashDrawable() == null); + + mSlashView.setImageDrawable(mockDrawable); + mSlashView.setState(mockState); + + assertTrue(mSlashView.getSlashDrawable() != null); + } + + @Test + public void testSetNullDrawableRemovesSlashDrawable() { + SlashState mockState = mock(SlashState.class); + Drawable mockDrawable = mock(Drawable.class); + + mSlashView = new TestableSlashImageView(mContext); + mSlashView.setImageDrawable(mockDrawable); + mSlashView.setState(mockState); + mSlashView.setImageDrawable(null); + + assertTrue(mSlashView.getSlashDrawable() == null); + } + + // Expose getSlashDrawable + private static class TestableSlashImageView extends SlashImageView { + TestableSlashImageView(Context c) { + super(c); + } + + private SlashDrawable getSlashDrawable() { + return mSlash; + } + } +} diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/ExpandableNotificationRowTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/ExpandableNotificationRowTest.java index 99b664ad9580..664ea710d61e 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/ExpandableNotificationRowTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/ExpandableNotificationRowTest.java @@ -29,6 +29,7 @@ import android.support.test.filters.SmallTest; import android.support.test.runner.AndroidJUnit4; import android.view.View; +import com.android.systemui.statusbar.notification.AboveShelfChangedListener; import com.android.systemui.statusbar.stack.NotificationChildrenContainer; import com.android.systemui.SysuiTestCase; @@ -96,4 +97,47 @@ public class ExpandableNotificationRowTest extends SysuiTestCase { row.setHideSensitive(true, false, 0, 0); verify(row).updateShelfIconColor(); } + + @Test + public void testIconColorShouldBeUpdatedWhenSettingDark() throws Exception { + ExpandableNotificationRow row = spy(mNotificationTestHelper.createRow()); + row.setDark(true, false, 0); + verify(row).updateShelfIconColor(); + } + + @Test + public void testAboveShelfChangedListenerCalled() throws Exception { + ExpandableNotificationRow row = mNotificationTestHelper.createRow(); + AboveShelfChangedListener listener = mock(AboveShelfChangedListener.class); + row.setAboveShelfChangedListener(listener); + row.setHeadsUp(true); + verify(listener).onAboveShelfStateChanged(true); + } + + @Test + public void testAboveShelfChangedListenerCalledPinned() throws Exception { + ExpandableNotificationRow row = mNotificationTestHelper.createRow(); + AboveShelfChangedListener listener = mock(AboveShelfChangedListener.class); + row.setAboveShelfChangedListener(listener); + row.setPinned(true); + verify(listener).onAboveShelfStateChanged(true); + } + + @Test + public void testAboveShelfChangedListenerCalledHeadsUpGoingAway() throws Exception { + ExpandableNotificationRow row = mNotificationTestHelper.createRow(); + AboveShelfChangedListener listener = mock(AboveShelfChangedListener.class); + row.setAboveShelfChangedListener(listener); + row.setHeadsUpAnimatingAway(true); + verify(listener).onAboveShelfStateChanged(true); + } + @Test + public void testAboveShelfChangedListenerCalledWhenGoingBelow() throws Exception { + ExpandableNotificationRow row = mNotificationTestHelper.createRow(); + row.setHeadsUp(true); + AboveShelfChangedListener listener = mock(AboveShelfChangedListener.class); + row.setAboveShelfChangedListener(listener); + row.setAboveShelf(false); + verify(listener).onAboveShelfStateChanged(false); + } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationCustomViewWrapperTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationCustomViewWrapperTest.java index 6cc836c4aa23..d18e63bcc151 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationCustomViewWrapperTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationCustomViewWrapperTest.java @@ -54,11 +54,14 @@ public class NotificationCustomViewWrapperTest extends SysuiTestCase { RemoteViews views = new RemoteViews(mContext.getPackageName(), R.layout.custom_view_dark); View v = views.apply(mContext, null); NotificationViewWrapper wrap = NotificationCustomViewWrapper.wrap(mContext, v, mRow); - wrap.notifyContentUpdated(mRow); - Assert.assertTrue(wrap.getCustomBackgroundColor() != 0); + wrap.onContentUpdated(mRow); + Assert.assertTrue("No background set, when applying custom background view", + wrap.getCustomBackgroundColor() != 0); views.reapply(mContext, v); - wrap.notifyContentUpdated(mRow); - Assert.assertTrue(wrap.getCustomBackgroundColor() != 0); + wrap.onReinflated(); + wrap.onContentUpdated(mRow); + Assert.assertTrue("Reapplying a custom remote view lost it's background!", + wrap.getCustomBackgroundColor() != 0); } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationMenuRowTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationMenuRowTest.java index e0d8042238d2..630da2e7eabc 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationMenuRowTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationMenuRowTest.java @@ -42,7 +42,7 @@ public class NotificationMenuRowTest extends LeakCheckedTest { @Test public void testAttachDetach() { NotificationMenuRowPlugin row = new NotificationMenuRow(mContext); - row.createMenu(null); + row.createMenu(null, null); ViewUtils.attachView(row.getMenuView()); TestableLooper.get(this).processAllMessages(); ViewUtils.detachView(row.getMenuView()); @@ -52,9 +52,9 @@ public class NotificationMenuRowTest extends LeakCheckedTest { @Test public void testRecreateMenu() { NotificationMenuRowPlugin row = new NotificationMenuRow(mContext); - row.createMenu(null); + row.createMenu(null, null); assertTrue(row.getMenuView() != null); - row.createMenu(null); + row.createMenu(null, null); assertTrue(row.getMenuView() != null); } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationTestHelper.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationTestHelper.java index cb238ddbabaa..6e7477fbac38 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationTestHelper.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationTestHelper.java @@ -24,12 +24,16 @@ import android.os.UserHandle; import android.service.notification.StatusBarNotification; import android.support.test.InstrumentationRegistry; import android.view.LayoutInflater; +import android.widget.FrameLayout; import android.widget.RemoteViews; import com.android.systemui.R; +import com.android.systemui.statusbar.notification.AboveShelfChangedListener; +import com.android.systemui.statusbar.notification.AboveShelfObserver; import com.android.systemui.statusbar.notification.InflationException; import com.android.systemui.statusbar.notification.NotificationInflaterTest; import com.android.systemui.statusbar.phone.NotificationGroupManager; +import com.android.systemui.statusbar.policy.HeadsUpManager; /** * A helper class to create {@link ExpandableNotificationRow} @@ -42,10 +46,12 @@ public class NotificationTestHelper { private final NotificationGroupManager mGroupManager = new NotificationGroupManager(); private ExpandableNotificationRow mRow; private InflationException mException; + private HeadsUpManager mHeadsUpManager; public NotificationTestHelper(Context context) { mContext = context; mInstrumentation = InstrumentationRegistry.getInstrumentation(); + mHeadsUpManager = new HeadsUpManager(mContext, null, mGroupManager); } public ExpandableNotificationRow createRow() throws Exception { @@ -73,6 +79,8 @@ public class NotificationTestHelper { }); ExpandableNotificationRow row = mRow; row.setGroupManager(mGroupManager); + row.setHeadsUpManager(mHeadsUpManager); + row.setAboveShelfChangedListener(aboveShelf -> {}); UserHandle mUser = UserHandle.of(ActivityManager.getCurrentUser()); StatusBarNotification sbn = new StatusBarNotification("com.android.systemui", "com.android.systemui", mId++, null, 1000, diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/SignalClusterViewTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/SignalClusterViewTest.java deleted file mode 100644 index 28a5aa39be80..000000000000 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/SignalClusterViewTest.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright (C) 2017 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the - * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ - -package com.android.systemui.statusbar; - -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; - -import android.support.test.filters.SmallTest; -import android.telephony.SubscriptionInfo; -import android.testing.AndroidTestingRunner; -import android.testing.TestableLooper.RunWithLooper; -import android.view.LayoutInflater; - -import com.android.systemui.R; -import com.android.systemui.SysuiTestCase; -import com.android.systemui.statusbar.policy.NetworkController.IconState; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; - -import java.util.Arrays; - -@RunWith(AndroidTestingRunner.class) -@RunWithLooper -@SmallTest -public class SignalClusterViewTest extends SysuiTestCase { - - private SignalClusterView mSignalCluster; - - @Before - public void setup() { - mSignalCluster = (SignalClusterView) LayoutInflater.from(mContext) - .inflate(R.layout.signal_cluster_view, null); - } - - @Test - public void testNonDefaultSim() { - SubscriptionInfo first = mock(SubscriptionInfo.class); - SubscriptionInfo second = mock(SubscriptionInfo.class); - when(first.getSubscriptionId()).thenReturn(0); - when(second.getSubscriptionId()).thenReturn(1); - mSignalCluster.setSubs(Arrays.asList(first, second)); - mSignalCluster.setQsSignalCluster(); - mSignalCluster.setMobileDataIndicators(new IconState(true, 0, 0, ""), null, 0, 0, - false, false, "", "", false, 1, false); - } - -}
\ No newline at end of file diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/AboveShelfObserverTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/AboveShelfObserverTest.java new file mode 100644 index 000000000000..1ee9b321cf84 --- /dev/null +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/AboveShelfObserverTest.java @@ -0,0 +1,86 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License + */ + +package com.android.systemui.statusbar.notification; + +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verify; + +import android.support.test.runner.AndroidJUnit4; +import android.test.suitebuilder.annotation.SmallTest; +import android.widget.FrameLayout; + +import com.android.systemui.SysuiTestCase; +import com.android.systemui.statusbar.ExpandableNotificationRow; +import com.android.systemui.statusbar.NotificationTestHelper; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; + +@SmallTest +@RunWith(AndroidJUnit4.class) +public class AboveShelfObserverTest extends SysuiTestCase { + + private AboveShelfObserver mObserver; + private FrameLayout mHostLayout; + private NotificationTestHelper mNotificationTestHelper; + private AboveShelfObserver.HasViewAboveShelfChangedListener mListener; + + @Before + public void setUp() throws Exception { + mNotificationTestHelper = new NotificationTestHelper(getContext()); + mHostLayout = new FrameLayout(getContext()); + mObserver = new AboveShelfObserver(mHostLayout); + ExpandableNotificationRow row = mNotificationTestHelper.createRow(); + row.setAboveShelfChangedListener(mObserver); + mHostLayout.addView(row); + row = mNotificationTestHelper.createRow(); + row.setAboveShelfChangedListener(mObserver); + mHostLayout.addView(row); + mListener = mock(AboveShelfObserver.HasViewAboveShelfChangedListener.class); + } + + @Test + public void testObserverChangesWhenGoingAbove() { + ExpandableNotificationRow row = (ExpandableNotificationRow) mHostLayout.getChildAt(0); + mObserver.setListener(mListener); + row.setHeadsUp(true); + verify(mListener).onHasViewsAboveShelfChanged(true); + } + + @Test + public void testObserverChangesWhenGoingBelow() { + ExpandableNotificationRow row = (ExpandableNotificationRow) mHostLayout.getChildAt(0); + row.setHeadsUp(true); + mObserver.setListener(mListener); + row.setHeadsUp(false); + verify(mListener).onHasViewsAboveShelfChanged(false); + } + + @Test + public void testStaysAboveWhenOneGoesAway() { + ExpandableNotificationRow row = (ExpandableNotificationRow) mHostLayout.getChildAt(0); + row.setHeadsUp(true); + row = (ExpandableNotificationRow) mHostLayout.getChildAt(1); + row.setHeadsUp(true); + row.setHeadsUp(false); + Assert.assertTrue("There are still views above the shelf but removing one cleared it", + mObserver.hasViewsAboveShelf()); + } +} + diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/NotificationViewWrapperTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/NotificationViewWrapperTest.java index ebeb24c881a2..9da28a097b2a 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/NotificationViewWrapperTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/NotificationViewWrapperTest.java @@ -24,6 +24,7 @@ import android.view.View; import com.android.systemui.SysuiTestCase; import com.android.systemui.statusbar.ExpandableNotificationRow; +import com.android.systemui.statusbar.NotificationTestHelper; import org.junit.Before; import org.junit.Test; @@ -35,7 +36,9 @@ public class NotificationViewWrapperTest extends SysuiTestCase { @Test public void constructor_doesntUseViewContext() throws Exception { - new TestableNotificationViewWrapper(mContext, null /* view */, null /* row */); + new TestableNotificationViewWrapper(mContext, + new View(mContext), + new NotificationTestHelper(getContext()).createRow()); } static class TestableNotificationViewWrapper extends NotificationViewWrapper { diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarWindowViewTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarWindowViewTest.java new file mode 100644 index 000000000000..a068a5e574eb --- /dev/null +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarWindowViewTest.java @@ -0,0 +1,70 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.systemui.statusbar.phone; + +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +import android.content.Context; +import android.os.SystemClock; +import android.service.notification.StatusBarNotification; +import android.support.test.InstrumentationRegistry; +import android.support.test.filters.SmallTest; +import android.support.test.runner.AndroidJUnit4; +import android.view.MotionEvent; +import android.view.View; + +import com.android.systemui.SysuiTestCase; +import com.android.systemui.statusbar.DragDownHelper; +import com.android.systemui.statusbar.ExpandableNotificationRow; +import com.android.systemui.statusbar.NotificationData; +import com.android.systemui.statusbar.StatusBarState; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; + +@RunWith(AndroidJUnit4.class) +@SmallTest +public class StatusBarWindowViewTest extends SysuiTestCase { + + private StatusBarWindowView mView; + private StatusBar mStatusBar; + private DragDownHelper mDragDownHelper; + + @Before + public void setUp() { + mView = new StatusBarWindowView(getContext(), null); + mStatusBar = mock(StatusBar.class); + mView.setService(mStatusBar); + mDragDownHelper = mock(DragDownHelper.class); + mView.setDragDownHelper(mDragDownHelper); + } + + @Test + public void testDragDownHelperCalledWhenDraggingDown() throws Exception { + when(mStatusBar.getBarState()).thenReturn(StatusBarState.SHADE); + when(mDragDownHelper.isDraggingDown()).thenReturn(true); + long now = SystemClock.elapsedRealtime(); + MotionEvent ev = MotionEvent.obtain(now, now, MotionEvent.ACTION_UP, 0 /* x */, 0 /* y */, + 0 /* meta */); + mView.onTouchEvent(ev); + verify(mDragDownHelper).onTouchEvent(ev); + ev.recycle(); + } +} diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/BluetoothControllerImplTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/BluetoothControllerImplTest.java index 2eb95603cef0..4cc8bcae541a 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/BluetoothControllerImplTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/BluetoothControllerImplTest.java @@ -14,16 +14,21 @@ package com.android.systemui.statusbar.policy; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.bluetooth.BluetoothAdapter; +import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothProfile; +import android.os.Looper; import android.support.test.filters.SmallTest; import android.testing.AndroidTestingRunner; import android.testing.TestableLooper; import android.testing.TestableLooper.RunWithLooper; +import android.util.Log; import com.android.settingslib.bluetooth.BluetoothEventManager; import com.android.settingslib.bluetooth.CachedBluetoothDevice; @@ -80,4 +85,56 @@ public class BluetoothControllerImplTest extends SysuiTestCase { BluetoothAdapter.STATE_DISCONNECTED); assertTrue(mBluetoothControllerImpl.isBluetoothConnected()); } + + @Test + public void testDefaultConnectionState() { + CachedBluetoothDevice device = mock(CachedBluetoothDevice.class); + assertEquals(BluetoothDevice.BOND_NONE, mBluetoothControllerImpl.getBondState(device)); + assertEquals(BluetoothProfile.STATE_DISCONNECTED, + mBluetoothControllerImpl.getMaxConnectionState(device)); + } + + @Test + public void testAsyncBondState() throws Exception { + CachedBluetoothDevice device = mock(CachedBluetoothDevice.class); + when(device.getBondState()).thenReturn(BluetoothDevice.BOND_BONDED); + BluetoothController.Callback callback = mock(BluetoothController.Callback.class); + mBluetoothControllerImpl.addCallback(callback); + + // Grab the main looper, we'll need it later. + TestableLooper mainLooper = new TestableLooper(Looper.getMainLooper()); + + // Trigger the state getting. + assertEquals(BluetoothDevice.BOND_NONE, mBluetoothControllerImpl.getBondState(device)); + + mTestableLooper.processMessages(1); + mainLooper.processAllMessages(); + + assertEquals(BluetoothDevice.BOND_BONDED, mBluetoothControllerImpl.getBondState(device)); + verify(callback).onBluetoothDevicesChanged(); + mainLooper.destroy(); + } + + @Test + public void testAsyncConnectionState() throws Exception { + CachedBluetoothDevice device = mock(CachedBluetoothDevice.class); + when(device.getMaxConnectionState()).thenReturn(BluetoothProfile.STATE_CONNECTED); + BluetoothController.Callback callback = mock(BluetoothController.Callback.class); + mBluetoothControllerImpl.addCallback(callback); + + // Grab the main looper, we'll need it later. + TestableLooper mainLooper = new TestableLooper(Looper.getMainLooper()); + + // Trigger the state getting. + assertEquals(BluetoothProfile.STATE_DISCONNECTED, + mBluetoothControllerImpl.getMaxConnectionState(device)); + + mTestableLooper.processMessages(1); + mainLooper.processAllMessages(); + + assertEquals(BluetoothProfile.STATE_CONNECTED, + mBluetoothControllerImpl.getMaxConnectionState(device)); + verify(callback).onBluetoothDevicesChanged(); + mainLooper.destroy(); + } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/CallbackHandlerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/CallbackHandlerTest.java index 6157d44d1319..cb2063967639 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/CallbackHandlerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/CallbackHandlerTest.java @@ -111,7 +111,7 @@ public class CallbackHandlerTest extends SysuiTestCase { String typeDescription = "Test 1"; String description = "Test 2"; int type = R.drawable.stat_sys_data_fully_connected_1x; - int qsType = type; + int qsType = R.drawable.ic_qs_signal_1x; boolean wide = true; int subId = 5; boolean roaming = true; diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java index c233fea3c495..505e1d8346fd 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java @@ -70,7 +70,7 @@ public class NetworkControllerBaseTest extends SysuiTestCase { protected static final int DEFAULT_SIGNAL_STRENGTH = DEFAULT_LEVEL; protected static final int DEFAULT_QS_SIGNAL_STRENGTH = DEFAULT_LEVEL; protected static final int DEFAULT_ICON = TelephonyIcons.ICON_3G; - protected static final int DEFAULT_QS_ICON = DEFAULT_ICON; + protected static final int DEFAULT_QS_ICON = TelephonyIcons.QS_DATA_3G; protected NetworkControllerImpl mNetworkController; protected MobileSignalController mMobileSignalController; diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerDataTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerDataTest.java index ac64263c3eb9..dfe00f95fe4d 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerDataTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerDataTest.java @@ -25,7 +25,7 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest { setupDefaultSignal(); verifyDataIndicators(TelephonyIcons.ICON_3G, - TelephonyIcons.ICON_3G); + TelephonyIcons.QS_DATA_3G); } @Test @@ -35,7 +35,7 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest { TelephonyManager.NETWORK_TYPE_GSM); verifyDataIndicators(TelephonyIcons.ICON_G, - TelephonyIcons.ICON_G); + TelephonyIcons.QS_DATA_G); } @Test @@ -45,7 +45,7 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest { TelephonyManager.NETWORK_TYPE_CDMA); verifyDataIndicators(TelephonyIcons.ICON_1X, - TelephonyIcons.ICON_1X); + TelephonyIcons.QS_DATA_1X); } @Test @@ -55,7 +55,7 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest { TelephonyManager.NETWORK_TYPE_EDGE); verifyDataIndicators(TelephonyIcons.ICON_E, - TelephonyIcons.ICON_E); + TelephonyIcons.QS_DATA_E); } @Test @@ -65,7 +65,7 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest { TelephonyManager.NETWORK_TYPE_LTE); verifyDataIndicators(TelephonyIcons.ICON_LTE, - TelephonyIcons.ICON_LTE); + TelephonyIcons.QS_DATA_LTE); } @Test @@ -75,7 +75,7 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest { TelephonyManager.NETWORK_TYPE_HSPA); verifyDataIndicators(TelephonyIcons.ICON_H, - TelephonyIcons.ICON_H); + TelephonyIcons.QS_DATA_H); } @Test @@ -104,7 +104,7 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest { TelephonyManager.NETWORK_TYPE_LTE); verifyDataIndicators(TelephonyIcons.ICON_4G, - TelephonyIcons.ICON_4G); + TelephonyIcons.QS_DATA_4G); } @Ignore("Flaky") @@ -117,7 +117,7 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest { setConnectivity(NetworkCapabilities.TRANSPORT_CELLULAR, false, false); verifyDataIndicators(TelephonyIcons.ICON_DATA_DISABLED, - TelephonyIcons.ICON_DATA_DISABLED); + TelephonyIcons.QS_ICON_DATA_DISABLED); } @Test @@ -148,7 +148,7 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest { mNetworkController.handleConfigurationChanged(); verifyDataIndicators(TelephonyIcons.ICON_4G, - TelephonyIcons.ICON_4G); + TelephonyIcons.QS_DATA_4G); } @Test @@ -158,13 +158,13 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest { TelephonyManager.NETWORK_TYPE_LTE); verifyDataIndicators(TelephonyIcons.ICON_LTE, - TelephonyIcons.ICON_LTE); + TelephonyIcons.QS_DATA_LTE); when(mServiceState.getDataNetworkType()) .thenReturn(TelephonyManager.NETWORK_TYPE_HSPA); updateServiceState(); verifyDataIndicators(TelephonyIcons.ICON_H, - TelephonyIcons.ICON_H); + TelephonyIcons.QS_DATA_H); } @Test diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerSignalTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerSignalTest.java index aa62075530eb..1627925ae1bc 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerSignalTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerSignalTest.java @@ -214,7 +214,7 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest { verifyLastQsMobileDataIndicators(true, testStrength, - TelephonyIcons.ICON_1X, false, false); + TelephonyIcons.QS_DATA_1X, false, false); } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/utils/leaks/FakeBluetoothController.java b/packages/SystemUI/tests/src/com/android/systemui/utils/leaks/FakeBluetoothController.java index 0ba031908d90..9ec096ad49e0 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/utils/leaks/FakeBluetoothController.java +++ b/packages/SystemUI/tests/src/com/android/systemui/utils/leaks/FakeBluetoothController.java @@ -83,4 +83,14 @@ public class FakeBluetoothController extends BaseLeakChecker<Callback> implement public boolean canConfigBluetooth() { return false; } + + @Override + public int getMaxConnectionState(CachedBluetoothDevice device) { + return 0; + } + + @Override + public int getBondState(CachedBluetoothDevice device) { + return 0; + } } diff --git a/proto/src/metrics_constants.proto b/proto/src/metrics_constants.proto index e1070561a7df..fa2b1ee83419 100644 --- a/proto/src/metrics_constants.proto +++ b/proto/src/metrics_constants.proto @@ -4085,6 +4085,16 @@ message MetricsEvent { // Open: Settings > Search > No Result View SETTINGS_SEARCH_NO_RESULT = 1011; + // OPEN: Assist Gesture before training + // CATEGORY: SETTINGS + // OS: O DR + SETTINGS_ASSIST_GESTURE_FIRST_TIME = 1012; + + // CaptivePortalLoginActivity displays SSL error page + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: O DR + CAPTIVE_PORTAL_LOGIN_ACTIVITY_SSL_ERROR = 1013; + // Add new aosp constants above this line. // END OF AOSP CONSTANTS } diff --git a/services/autofill/java/com/android/server/autofill/AutofillManagerService.java b/services/autofill/java/com/android/server/autofill/AutofillManagerService.java index 03f25bf065d2..e85f96be3160 100644 --- a/services/autofill/java/com/android/server/autofill/AutofillManagerService.java +++ b/services/autofill/java/com/android/server/autofill/AutofillManagerService.java @@ -19,10 +19,10 @@ package com.android.server.autofill; import static android.Manifest.permission.MANAGE_AUTO_FILL; import static android.content.Context.AUTOFILL_MANAGER_SERVICE; +import static com.android.server.autofill.Helper.bundleToString; import static com.android.server.autofill.Helper.sDebug; import static com.android.server.autofill.Helper.sPartitionMaxCount; import static com.android.server.autofill.Helper.sVerbose; -import static com.android.server.autofill.Helper.bundleToString; import android.annotation.NonNull; import android.annotation.Nullable; @@ -58,6 +58,7 @@ import android.util.SparseArray; import android.util.SparseBooleanArray; import android.view.autofill.AutofillId; import android.view.autofill.AutofillManager; +import android.view.autofill.AutofillManagerInternal; import android.view.autofill.AutofillValue; import android.view.autofill.IAutoFillManager; import android.view.autofill.IAutoFillManagerClient; @@ -251,6 +252,7 @@ public final class AutofillManagerService extends SystemService { @Override public void onStart() { publishBinderService(AUTOFILL_MANAGER_SERVICE, new AutoFillManagerServiceStub()); + publishLocalService(AutofillManagerInternal.class, new LocalService()); } @Override @@ -463,6 +465,15 @@ public final class AutofillManagerService extends SystemService { } } + private final class LocalService extends AutofillManagerInternal { + + @Override + public void onBackKeyPressed() { + if (sDebug) Slog.d(TAG, "onBackKeyPressed()"); + mUi.hideAll(null); + } + } + final class AutoFillManagerServiceStub extends IAutoFillManager.Stub { @Override public int addClient(IAutoFillManagerClient client, int userId) { diff --git a/services/autofill/java/com/android/server/autofill/ui/AutoFillUI.java b/services/autofill/java/com/android/server/autofill/ui/AutoFillUI.java index 8ffe8f547eac..4f90019d32b6 100644 --- a/services/autofill/java/com/android/server/autofill/ui/AutoFillUI.java +++ b/services/autofill/java/com/android/server/autofill/ui/AutoFillUI.java @@ -61,6 +61,8 @@ public final class AutoFillUI { private final MetricsLogger mMetricsLogger = new MetricsLogger(); + private final @NonNull OverlayControl mOverlayControl; + public interface AutoFillUiCallback { void authenticate(int requestId, int datasetIndex, @NonNull IntentSender intent, @Nullable Bundle extras); @@ -75,6 +77,7 @@ public final class AutoFillUI { public AutoFillUI(@NonNull Context context) { mContext = context; + mOverlayControl = new OverlayControl(context); } public void setCallback(@NonNull AutoFillUiCallback callback) { @@ -174,7 +177,7 @@ public final class AutoFillUI { } hideAllUiThread(callback); mFillUi = new FillUi(mContext, response, focusedId, - filterText, new FillUi.Callback() { + filterText, mOverlayControl, new FillUi.Callback() { @Override public void onResponsePicked(FillResponse response) { log.setType(MetricsProto.MetricsEvent.TYPE_DETAIL); @@ -255,7 +258,7 @@ public final class AutoFillUI { } hideAllUiThread(callback); mSaveUi = new SaveUi(mContext, providerLabel, info, - new SaveUi.OnSaveListener() { + mOverlayControl, new SaveUi.OnSaveListener() { @Override public void onSave() { log.setType(MetricsProto.MetricsEvent.TYPE_ACTION); diff --git a/services/autofill/java/com/android/server/autofill/ui/FillUi.java b/services/autofill/java/com/android/server/autofill/ui/FillUi.java index e9c98e94c860..51a239f62be5 100644 --- a/services/autofill/java/com/android/server/autofill/ui/FillUi.java +++ b/services/autofill/java/com/android/server/autofill/ui/FillUi.java @@ -100,7 +100,7 @@ final class FillUi { FillUi(@NonNull Context context, @NonNull FillResponse response, @NonNull AutofillId focusedViewId, @NonNull @Nullable String filterText, - @NonNull Callback callback) { + @NonNull OverlayControl overlayControl, @NonNull Callback callback) { mContext = context; mCallback = callback; @@ -146,7 +146,7 @@ final class FillUi { mContentWidth = content.getMeasuredWidth(); mContentHeight = content.getMeasuredHeight(); - mWindow = new AnchoredWindow(decor); + mWindow = new AnchoredWindow(decor, overlayControl); mCallback.requestShowFillUi(mContentWidth, mContentHeight, mWindowPresenter); } else { final int datasetCount = response.getDatasets().size(); @@ -193,7 +193,7 @@ final class FillUi { } applyNewFilterText(); - mWindow = new AnchoredWindow(decor); + mWindow = new AnchoredWindow(decor, overlayControl); } } @@ -366,6 +366,7 @@ final class FillUi { } final class AnchoredWindow implements View.OnTouchListener { + private final @NonNull OverlayControl mOverlayControl; private final WindowManager mWm; private final View mContentView; private boolean mShowing; @@ -375,9 +376,10 @@ final class FillUi { * * @param contentView content of the window */ - AnchoredWindow(View contentView) { + AnchoredWindow(View contentView, @NonNull OverlayControl overlayControl) { mWm = contentView.getContext().getSystemService(WindowManager.class); mContentView = contentView; + mOverlayControl = overlayControl; } /** @@ -391,6 +393,7 @@ final class FillUi { .getString(R.string.autofill_picker_accessibility_title); mWm.addView(mContentView, params); mContentView.setOnTouchListener(this); + mOverlayControl.hideOverlays(); mShowing = true; } else { mWm.updateViewLayout(mContentView, params); @@ -423,6 +426,8 @@ final class FillUi { // does, it should not crash the system. Slog.e(TAG, "Exception hiding window ", e); mCallback.onDestroy(); + } finally { + mOverlayControl.showOverlays(); } } diff --git a/services/autofill/java/com/android/server/autofill/ui/OverlayControl.java b/services/autofill/java/com/android/server/autofill/ui/OverlayControl.java new file mode 100644 index 000000000000..fe0611eef0a2 --- /dev/null +++ b/services/autofill/java/com/android/server/autofill/ui/OverlayControl.java @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.server.autofill.ui; + +import android.annotation.NonNull; +import android.app.AppOpsManager; +import android.content.Context; +import android.os.Binder; +import android.os.IBinder; + +/** + * This class controls showing/hiding overlays. We don't + * hide all overlays (toast/system alerts) while sensitive + * autofill UI is up. + */ +class OverlayControl { + + private final IBinder mToken = new Binder(); + + private final @NonNull AppOpsManager mAppOpsManager; + + OverlayControl(@NonNull Context context) { + mAppOpsManager = context.getSystemService(AppOpsManager.class); + } + + void hideOverlays() { + setOverlayAllowed(false); + } + + void showOverlays() { + setOverlayAllowed(true); + } + + private void setOverlayAllowed(boolean allowed) { + if (mAppOpsManager != null) { + mAppOpsManager.setUserRestriction( + AppOpsManager.OP_SYSTEM_ALERT_WINDOW, !allowed, mToken); + mAppOpsManager.setUserRestriction( + AppOpsManager.OP_TOAST_WINDOW, !allowed, mToken); + } + } +} diff --git a/services/autofill/java/com/android/server/autofill/ui/SaveUi.java b/services/autofill/java/com/android/server/autofill/ui/SaveUi.java index 491af91cbc36..d1fbbf9ceda1 100644 --- a/services/autofill/java/com/android/server/autofill/ui/SaveUi.java +++ b/services/autofill/java/com/android/server/autofill/ui/SaveUi.java @@ -99,14 +99,17 @@ final class SaveUi { private final @NonNull OneTimeListener mListener; + private final @NonNull OverlayControl mOverlayControl; + private final CharSequence mTitle; private final CharSequence mSubTitle; private boolean mDestroyed; SaveUi(@NonNull Context context, @NonNull CharSequence providerLabel, @NonNull SaveInfo info, - @NonNull OnSaveListener listener) { + @NonNull OverlayControl overlayControl, @NonNull OnSaveListener listener) { mListener = new OneTimeListener(listener); + mOverlayControl = overlayControl; final LayoutInflater inflater = LayoutInflater.from(context); final View view = inflater.inflate(R.layout.autofill_save, null); @@ -197,16 +200,21 @@ final class SaveUi { Slog.i(TAG, "Showing save dialog: " + mTitle); mDialog.show(); + mOverlayControl.hideOverlays(); } void destroy() { - if (sDebug) Slog.d(TAG, "destroy()"); - throwIfDestroyed(); - mListener.onDestroy(); - mHandler.removeCallbacksAndMessages(mListener); - if (sVerbose) Slog.v(TAG, "destroy(): dismissing dialog"); - mDialog.dismiss(); - mDestroyed = true; + try { + if (sDebug) Slog.d(TAG, "destroy()"); + throwIfDestroyed(); + mListener.onDestroy(); + mHandler.removeCallbacksAndMessages(mListener); + if (sVerbose) Slog.v(TAG, "destroy(): dismissing dialog"); + mDialog.dismiss(); + mDestroyed = true; + } finally { + mOverlayControl.showOverlays(); + } } private void throwIfDestroyed() { diff --git a/services/core/java/com/android/server/AppOpsService.java b/services/core/java/com/android/server/AppOpsService.java index 1a5ec61a1510..c8e6e2efb240 100644 --- a/services/core/java/com/android/server/AppOpsService.java +++ b/services/core/java/com/android/server/AppOpsService.java @@ -2445,6 +2445,28 @@ public class AppOpsService extends IAppOpsService.Stub { } } + @Override + public boolean isOperationActive(int code, int uid, String packageName) { + verifyIncomingUid(uid); + verifyIncomingOp(code); + String resolvedPackageName = resolvePackageName(uid, packageName); + if (resolvedPackageName == null) { + return false; + } + synchronized (this) { + for (int i = mClients.size() - 1; i >= 0; i--) { + final ClientState client = mClients.valueAt(i); + if (client.mStartedOps == null) continue; + + for (int j = client.mStartedOps.size() - 1; j >= 0; j--) { + final Op op = client.mStartedOps.get(j); + if (op.op == code && op.uid == uid) return true; + } + } + } + return false; + } + private void removeUidsForUserLocked(int userHandle) { for (int i = mUidStates.size() - 1; i >= 0; --i) { final int uid = mUidStates.keyAt(i); diff --git a/services/core/java/com/android/server/StorageManagerService.java b/services/core/java/com/android/server/StorageManagerService.java index 35b452a12e64..f718e803a973 100644 --- a/services/core/java/com/android/server/StorageManagerService.java +++ b/services/core/java/com/android/server/StorageManagerService.java @@ -90,14 +90,12 @@ import android.util.AtomicFile; import android.util.Log; import android.util.Pair; import android.util.Slog; -import android.util.SparseArray; import android.util.TimeUtils; import android.util.Xml; import com.android.internal.annotations.GuardedBy; import com.android.internal.app.IMediaContainerService; import com.android.internal.os.AppFuseMount; -import com.android.internal.os.FuseAppLoop; import com.android.internal.os.FuseUnavailableMountException; import com.android.internal.os.SomeArgs; import com.android.internal.os.Zygote; @@ -143,7 +141,6 @@ import java.util.Locale; import java.util.Map; import java.util.Map.Entry; import java.util.Objects; -import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; @@ -3291,20 +3288,41 @@ class StorageManagerService extends IStorageManager.Stub } } - @Override - public long getAllocatableBytes(String volumeUuid, int flags) { - final StorageManager storage = mContext.getSystemService(StorageManager.class); - final StorageStatsManager stats = mContext.getSystemService(StorageStatsManager.class); - - // Apps can't defy reserved space - flags &= ~StorageManager.FLAG_ALLOCATE_DEFY_RESERVED; - - final boolean aggressive = (flags & StorageManager.FLAG_ALLOCATE_AGGRESSIVE) != 0; - if (aggressive) { + private int adjustAllocateFlags(int flags, int callingUid, String callingPackage) { + // Require permission to allocate aggressively + if ((flags & StorageManager.FLAG_ALLOCATE_AGGRESSIVE) != 0) { mContext.enforceCallingOrSelfPermission( android.Manifest.permission.ALLOCATE_AGGRESSIVE, TAG); } + // Apps normally can't directly defy reserved space + flags &= ~StorageManager.FLAG_ALLOCATE_DEFY_ALL_RESERVED; + flags &= ~StorageManager.FLAG_ALLOCATE_DEFY_HALF_RESERVED; + + // However, if app is actively using the camera, then we're willing to + // clear up to half of the reserved cache space, since the user might be + // trying to capture an important memory. + final AppOpsManager appOps = mContext.getSystemService(AppOpsManager.class); + final long token = Binder.clearCallingIdentity(); + try { + if (appOps.isOperationActive(AppOpsManager.OP_CAMERA, callingUid, callingPackage)) { + Slog.d(TAG, "UID " + callingUid + " is actively using camera;" + + " letting them defy reserved cached data"); + flags |= StorageManager.FLAG_ALLOCATE_DEFY_HALF_RESERVED; + } + } finally { + Binder.restoreCallingIdentity(token); + } + + return flags; + } + + @Override + public long getAllocatableBytes(String volumeUuid, int flags, String callingPackage) { + flags = adjustAllocateFlags(flags, Binder.getCallingUid(), callingPackage); + + final StorageManager storage = mContext.getSystemService(StorageManager.class); + final StorageStatsManager stats = mContext.getSystemService(StorageStatsManager.class); final long token = Binder.clearCallingIdentity(); try { // In general, apps can allocate as much space as they want, except @@ -3319,18 +3337,18 @@ class StorageManagerService extends IStorageManager.Stub if (stats.isQuotaSupported(volumeUuid)) { final long cacheTotal = stats.getCacheBytes(volumeUuid); - final long cacheReserved = storage.getStorageCacheBytes(path); + final long cacheReserved = storage.getStorageCacheBytes(path, flags); final long cacheClearable = Math.max(0, cacheTotal - cacheReserved); - if (aggressive) { - return Math.max(0, (usable + cacheTotal) - fullReserved); + if ((flags & StorageManager.FLAG_ALLOCATE_AGGRESSIVE) != 0) { + return Math.max(0, (usable + cacheClearable) - fullReserved); } else { return Math.max(0, (usable + cacheClearable) - lowReserved); } } else { // When we don't have fast quota information, we ignore cached // data and only consider unused bytes. - if (aggressive) { + if ((flags & StorageManager.FLAG_ALLOCATE_AGGRESSIVE) != 0) { return Math.max(0, usable - fullReserved); } else { return Math.max(0, usable - lowReserved); @@ -3344,20 +3362,16 @@ class StorageManagerService extends IStorageManager.Stub } @Override - public void allocateBytes(String volumeUuid, long bytes, int flags) { - final StorageManager storage = mContext.getSystemService(StorageManager.class); + public void allocateBytes(String volumeUuid, long bytes, int flags, String callingPackage) { + flags = adjustAllocateFlags(flags, Binder.getCallingUid(), callingPackage); - // Apps can't defy reserved space - flags &= ~StorageManager.FLAG_ALLOCATE_DEFY_RESERVED; - - // This method call will enforce FLAG_ALLOCATE_AGGRESSIVE permissions so - // we don't have to enforce them locally - final long allocatableBytes = getAllocatableBytes(volumeUuid, flags); + final long allocatableBytes = getAllocatableBytes(volumeUuid, flags, callingPackage); if (bytes > allocatableBytes) { throw new ParcelableException(new IOException("Failed to allocate " + bytes + " because only " + allocatableBytes + " allocatable")); } + final StorageManager storage = mContext.getSystemService(StorageManager.class); final long token = Binder.clearCallingIdentity(); try { // Free up enough disk space to satisfy both the requested allocation diff --git a/services/core/java/com/android/server/ThreadPriorityBooster.java b/services/core/java/com/android/server/ThreadPriorityBooster.java index 31726ad85a30..cc9ac0dfd11e 100644 --- a/services/core/java/com/android/server/ThreadPriorityBooster.java +++ b/services/core/java/com/android/server/ThreadPriorityBooster.java @@ -16,14 +16,16 @@ package com.android.server; -import android.os.Process; +import static android.os.Process.getThreadPriority; +import static android.os.Process.myTid; +import static android.os.Process.setThreadPriority; /** * Utility class to boost threads in sections where important locks are held. */ public class ThreadPriorityBooster { - private final int mBoostToPriority; + private volatile int mBoostToPriority; private final int mLockGuardIndex; private final ThreadLocal<PriorityState> mThreadState = new ThreadLocal<PriorityState>() { @@ -38,12 +40,14 @@ public class ThreadPriorityBooster { } public void boost() { - final int tid = Process.myTid(); - final int prevPriority = Process.getThreadPriority(tid); - PriorityState state = mThreadState.get(); - state.prevPriority = prevPriority; - if (state.regionCounter == 0 && prevPriority > mBoostToPriority) { - Process.setThreadPriority(tid, mBoostToPriority); + final int tid = myTid(); + final int prevPriority = getThreadPriority(tid); + final PriorityState state = mThreadState.get(); + if (state.regionCounter == 0) { + state.prevPriority = prevPriority; + if (prevPriority > mBoostToPriority) { + setThreadPriority(tid, mBoostToPriority); + } } state.regionCounter++; if (LockGuard.ENABLED) { @@ -52,10 +56,28 @@ public class ThreadPriorityBooster { } public void reset() { - PriorityState state = mThreadState.get(); + final PriorityState state = mThreadState.get(); state.regionCounter--; - if (state.regionCounter == 0 && state.prevPriority > mBoostToPriority) { - Process.setThreadPriority(Process.myTid(), state.prevPriority); + final int currentPriority = getThreadPriority(myTid()); + if (state.regionCounter == 0 && state.prevPriority != currentPriority) { + setThreadPriority(myTid(), state.prevPriority); + } + } + + /** + * Updates the priority we boost the threads to, and updates the current thread's priority if + * necessary. + */ + protected void setBoostToPriority(int priority) { + + // We don't care about the other threads here, as long as they see the update of this + // variable immediately. + mBoostToPriority = priority; + final PriorityState state = mThreadState.get(); + final int tid = myTid(); + final int prevPriority = getThreadPriority(tid); + if (state.regionCounter != 0 && prevPriority != priority) { + setThreadPriority(tid, priority); } } diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index 51ad15e743ef..ad442c714926 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -430,10 +430,12 @@ import java.io.StringWriter; import java.io.UnsupportedEncodingException; import java.lang.ref.WeakReference; import java.nio.charset.StandardCharsets; +import java.text.DateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; +import java.util.Date; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; @@ -453,6 +455,11 @@ import libcore.util.EmptyArray; public class ActivityManagerService extends IActivityManager.Stub implements Watchdog.Monitor, BatteryStatsImpl.BatteryCallback { + /** + * Priority we boost main thread and RT of top app to. + */ + public static final int TOP_APP_PRIORITY_BOOST = -10; + private static final String TAG = TAG_WITH_CLASS_NAME ? "ActivityManagerService" : TAG_AM; private static final String TAG_BACKUP = TAG + POSTFIX_BACKUP; private static final String TAG_BROADCAST = TAG + POSTFIX_BROADCAST; @@ -698,6 +705,12 @@ public class ActivityManagerService extends IActivityManager.Stub final AppErrors mAppErrors; /** + * Dump of the activity state at the time of the last ANR. Cleared after + * {@link WindowManagerService#LAST_ANR_LIFETIME_DURATION_MSECS} + */ + String mLastANRState; + + /** * Indicates the maximum time spent waiting for the network rules to get updated. */ @VisibleForTesting @@ -1791,7 +1804,7 @@ public class ActivityManagerService extends IActivityManager.Stub } AppErrorResult res = (AppErrorResult) data.get("result"); if (mShowDialogs && !mSleeping && !mShuttingDown) { - Dialog d = new StrictModeViolationDialog(mContext, + Dialog d = new StrictModeViolationDialog(mUiContext, ActivityManagerService.this, res, proc); d.show(); proc.crashDialog = d; @@ -13489,7 +13502,7 @@ public class ActivityManagerService extends IActivityManager.Stub setThreadScheduler(proc.renderThreadTid, SCHED_FIFO | SCHED_RESET_ON_FORK, 1); } else { - setThreadPriority(proc.renderThreadTid, -10); + setThreadPriority(proc.renderThreadTid, TOP_APP_PRIORITY_BOOST); } } } else { @@ -14987,6 +15000,10 @@ public class ActivityManagerService extends IActivityManager.Stub synchronized (this) { dumpActivitiesLocked(fd, pw, args, opti, true, dumpClient, dumpPackage); } + } else if ("lastanr".equals(cmd)) { + synchronized (this) { + dumpLastANRLocked(pw); + } } else if ("recents".equals(cmd) || "r".equals(cmd)) { synchronized (this) { dumpRecentsLocked(fd, pw, args, opti, true, dumpPackage); @@ -15215,6 +15232,11 @@ public class ActivityManagerService extends IActivityManager.Stub if (dumpAll) { pw.println("-------------------------------------------------------------------------------"); } + dumpLastANRLocked(pw); + pw.println(); + if (dumpAll) { + pw.println("-------------------------------------------------------------------------------"); + } dumpActivitiesLocked(fd, pw, args, opti, dumpAll, dumpClient, dumpPackage); if (mAssociations.size() > 0) { pw.println(); @@ -15275,6 +15297,11 @@ public class ActivityManagerService extends IActivityManager.Stub if (dumpAll) { pw.println("-------------------------------------------------------------------------------"); } + dumpLastANRLocked(pw); + pw.println(); + if (dumpAll) { + pw.println("-------------------------------------------------------------------------------"); + } dumpActivitiesLocked(fd, pw, args, opti, dumpAll, dumpClient, dumpPackage); if (mAssociations.size() > 0) { pw.println(); @@ -15293,9 +15320,24 @@ public class ActivityManagerService extends IActivityManager.Stub Binder.restoreCallingIdentity(origId); } + private void dumpLastANRLocked(PrintWriter pw) { + if (mLastANRState == null) { + pw.println("ACTIVITY MANAGER ACTIVITIES (dumpsys activity lastanr)"); + pw.println(" <no ANR has occurred since boot>"); + } else { + pw.println(mLastANRState); + } + } + void dumpActivitiesLocked(FileDescriptor fd, PrintWriter pw, String[] args, int opti, boolean dumpAll, boolean dumpClient, String dumpPackage) { - pw.println("ACTIVITY MANAGER ACTIVITIES (dumpsys activity activities)"); + dumpActivitiesLocked(fd, pw, args, opti, dumpAll, dumpClient, dumpPackage, + "ACTIVITY MANAGER ACTIVITIES (dumpsys activity activities)"); + } + + void dumpActivitiesLocked(FileDescriptor fd, PrintWriter pw, String[] args, + int opti, boolean dumpAll, boolean dumpClient, String dumpPackage, String header) { + pw.println(header); boolean printedAnything = mStackSupervisor.dumpActivitiesLocked(fd, pw, dumpAll, dumpClient, dumpPackage); @@ -19221,10 +19263,11 @@ public class ActivityManagerService extends IActivityManager.Stub final Uri data = intent.getData(); final String ssp; if (data != null && (ssp = data.getSchemeSpecificPart()) != null) { - final ApplicationInfo aInfo = - getPackageManagerInternalLocked().getApplicationInfo( - ssp, - userId); + ApplicationInfo aInfo = null; + try { + aInfo = AppGlobals.getPackageManager() + .getApplicationInfo(ssp, 0 /*flags*/, userId); + } catch (RemoteException ignore) {} if (aInfo == null) { Slog.w(TAG, "Dropping ACTION_PACKAGE_REPLACED for non-existent pkg:" + " ssp=" + ssp + " data=" + data); @@ -21948,10 +21991,11 @@ public class ActivityManagerService extends IActivityManager.Stub } } else { // Boost priority for top app UI and render threads - setThreadPriority(app.pid, -10); + setThreadPriority(app.pid, TOP_APP_PRIORITY_BOOST); if (app.renderThreadTid != 0) { try { - setThreadPriority(app.renderThreadTid, -10); + setThreadPriority(app.renderThreadTid, + TOP_APP_PRIORITY_BOOST); } catch (IllegalArgumentException e) { // thread died, ignore } @@ -24023,10 +24067,37 @@ public class ActivityManagerService extends IActivityManager.Stub mVr2dDisplayId = vr2dDisplayId; } } + + @Override + public void saveANRState(String reason) { + synchronized (ActivityManagerService.this) { + final StringWriter sw = new StringWriter(); + final PrintWriter pw = new FastPrintWriter(sw, false, 1024); + pw.println(" ANR time: " + DateFormat.getDateTimeInstance().format(new Date())); + if (reason != null) { + pw.println(" Reason: " + reason); + } + pw.println(); + dumpActivitiesLocked(null /* fd */, pw, null /* args */, 0 /* opti */, + true /* dumpAll */, false /* dumpClient */, null /* dumpPackage */, + "ACTIVITY MANAGER ACTIVITIES (dumpsys activity lastanr)"); + pw.println(); + pw.close(); + + mLastANRState = sw.toString(); + } + } + + @Override + public void clearSavedANRState() { + synchronized (ActivityManagerService.this) { + mLastANRState = null; + } + } } /** - * Called by app main thread to wait for the network policy rules to get udpated. + * Called by app main thread to wait for the network policy rules to get updated. * * @param procStateSeq The sequence number indicating the process state change that the main * thread is interested in. @@ -24344,7 +24415,6 @@ public class ActivityManagerService extends IActivityManager.Stub } void updateApplicationInfoLocked(@NonNull List<String> packagesToUpdate, int userId) { - final PackageManagerInternal packageManager = getPackageManagerInternalLocked(); final boolean updateFrameworkRes = packagesToUpdate.contains("android"); for (int i = mLruProcesses.size() - 1; i >= 0; i--) { final ProcessRecord app = mLruProcesses.get(i); @@ -24361,8 +24431,8 @@ public class ActivityManagerService extends IActivityManager.Stub final String packageName = app.pkgList.keyAt(j); if (updateFrameworkRes || packagesToUpdate.contains(packageName)) { try { - final ApplicationInfo ai = packageManager.getApplicationInfo( - packageName, app.userId); + final ApplicationInfo ai = AppGlobals.getPackageManager() + .getApplicationInfo(packageName, 0 /*flags*/, app.userId); if (ai != null) { app.thread.scheduleApplicationInfoChanged(ai); } diff --git a/services/core/java/com/android/server/am/ActivityStackSupervisor.java b/services/core/java/com/android/server/am/ActivityStackSupervisor.java index 074506e7f4a2..25dc354ca3a7 100644 --- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java +++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java @@ -2380,7 +2380,7 @@ public class ActivityStackSupervisor extends ConfigurationContainer implements D } void notifyAppTransitionDone() { - continueUpdateBounds(HOME_STACK_ID); + continueUpdateBounds(RECENTS_STACK_ID); for (int i = mResizingTasksDuringAnimation.size() - 1; i >= 0; i--) { final int taskId = mResizingTasksDuringAnimation.valueAt(i); final TaskRecord task = @@ -5094,73 +5094,79 @@ public class ActivityStackSupervisor extends ConfigurationContainer implements D + taskId + " can't be launch in the home/recents stack."); } - if (launchStackId == DOCKED_STACK_ID) { - mWindowManager.setDockedStackCreateState( - activityOptions.getDockCreateMode(), null /* initialBounds */); - - // Defer updating the stack in which recents is until the app transition is done, to - // not run into issues where we still need to draw the task in recents but the - // docked stack is already created. - deferUpdateBounds(HOME_STACK_ID); - mWindowManager.prepareAppTransition(TRANSIT_DOCK_TASK_FROM_RECENTS, false); - } - - task = anyTaskForIdLocked(taskId, MATCH_TASK_IN_STACKS_OR_RECENT_TASKS_AND_RESTORE, - launchStackId); - if (task == null) { - continueUpdateBounds(HOME_STACK_ID); - mWindowManager.executeAppTransition(); - throw new IllegalArgumentException( - "startActivityFromRecentsInner: Task " + taskId + " not found."); - } - - // Since we don't have an actual source record here, we assume that the currently focused - // activity was the source. - final ActivityStack focusedStack = getFocusedStack(); - final ActivityRecord sourceRecord = - focusedStack != null ? focusedStack.topActivity() : null; - - if (launchStackId != INVALID_STACK_ID) { - if (task.getStackId() != launchStackId) { - task.reparent(launchStackId, ON_TOP, REPARENT_MOVE_STACK_TO_FRONT, ANIMATE, - DEFER_RESUME, "startActivityFromRecents"); + mWindowManager.deferSurfaceLayout(); + try { + if (launchStackId == DOCKED_STACK_ID) { + mWindowManager.setDockedStackCreateState( + activityOptions.getDockCreateMode(), null /* initialBounds */); + + // Defer updating the stack in which recents is until the app transition is done, to + // not run into issues where we still need to draw the task in recents but the + // docked stack is already created. + deferUpdateBounds(RECENTS_STACK_ID); + mWindowManager.prepareAppTransition(TRANSIT_DOCK_TASK_FROM_RECENTS, false); + } + + task = anyTaskForIdLocked(taskId, MATCH_TASK_IN_STACKS_OR_RECENT_TASKS_AND_RESTORE, + launchStackId); + if (task == null) { + continueUpdateBounds(RECENTS_STACK_ID); + mWindowManager.executeAppTransition(); + throw new IllegalArgumentException( + "startActivityFromRecentsInner: Task " + taskId + " not found."); + } + + // Since we don't have an actual source record here, we assume that the currently + // focused activity was the source. + final ActivityStack focusedStack = getFocusedStack(); + final ActivityRecord sourceRecord = + focusedStack != null ? focusedStack.topActivity() : null; + + if (launchStackId != INVALID_STACK_ID) { + if (task.getStackId() != launchStackId) { + task.reparent(launchStackId, ON_TOP, REPARENT_MOVE_STACK_TO_FRONT, ANIMATE, + DEFER_RESUME, "startActivityFromRecents"); + } } - } - // If the user must confirm credentials (e.g. when first launching a work app and the - // Work Challenge is present) let startActivityInPackage handle the intercepting. - if (!mService.mUserController.shouldConfirmCredentials(task.userId) - && task.getRootActivity() != null) { - mService.mActivityStarter.sendPowerHintForLaunchStartIfNeeded(true /* forceSend */); - mActivityMetricsLogger.notifyActivityLaunching(); - mService.moveTaskToFrontLocked(task.taskId, 0, bOptions); - mActivityMetricsLogger.notifyActivityLaunched(ActivityManager.START_TASK_TO_FRONT, - task.getTopActivity()); + // If the user must confirm credentials (e.g. when first launching a work app and the + // Work Challenge is present) let startActivityInPackage handle the intercepting. + if (!mService.mUserController.shouldConfirmCredentials(task.userId) + && task.getRootActivity() != null) { + mService.mActivityStarter.sendPowerHintForLaunchStartIfNeeded(true /* forceSend */); + mActivityMetricsLogger.notifyActivityLaunching(); + mService.moveTaskToFrontLocked(task.taskId, 0, bOptions); + mActivityMetricsLogger.notifyActivityLaunched(ActivityManager.START_TASK_TO_FRONT, + task.getTopActivity()); + + // If we are launching the task in the docked stack, put it into resizing mode so + // the window renders full-screen with the background filling the void. Also only + // call this at the end to make sure that tasks exists on the window manager side. + if (launchStackId == DOCKED_STACK_ID) { + setResizingDuringAnimation(task); + } - // If we are launching the task in the docked stack, put it into resizing mode so - // the window renders full-screen with the background filling the void. Also only - // call this at the end to make sure that tasks exists on the window manager side. + mService.mActivityStarter.postStartActivityProcessing(task.getTopActivity(), + ActivityManager.START_TASK_TO_FRONT, + sourceRecord != null + ? sourceRecord.getTask().getStackId() : INVALID_STACK_ID, + sourceRecord, task.getStack()); + return ActivityManager.START_TASK_TO_FRONT; + } + callingUid = task.mCallingUid; + callingPackage = task.mCallingPackage; + intent = task.intent; + intent.addFlags(Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY); + userId = task.userId; + int result = mService.startActivityInPackage(callingUid, callingPackage, intent, null, + null, null, 0, 0, bOptions, userId, null, task); if (launchStackId == DOCKED_STACK_ID) { setResizingDuringAnimation(task); } - - mService.mActivityStarter.postStartActivityProcessing(task.getTopActivity(), - ActivityManager.START_TASK_TO_FRONT, - sourceRecord != null ? sourceRecord.getTask().getStackId() : INVALID_STACK_ID, - sourceRecord, task.getStack()); - return ActivityManager.START_TASK_TO_FRONT; - } - callingUid = task.mCallingUid; - callingPackage = task.mCallingPackage; - intent = task.intent; - intent.addFlags(Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY); - userId = task.userId; - int result = mService.startActivityInPackage(callingUid, callingPackage, intent, null, - null, null, 0, 0, bOptions, userId, null, task); - if (launchStackId == DOCKED_STACK_ID) { - setResizingDuringAnimation(task); + return result; + } finally { + mWindowManager.continueSurfaceLayout(); } - return result; } /** diff --git a/services/core/java/com/android/server/am/ActivityStarter.java b/services/core/java/com/android/server/am/ActivityStarter.java index 07caf9e5611a..1ed2ac19ea9d 100644 --- a/services/core/java/com/android/server/am/ActivityStarter.java +++ b/services/core/java/com/android/server/am/ActivityStarter.java @@ -2083,6 +2083,10 @@ class ActivityStarter { private ActivityStack getLaunchStack(ActivityRecord r, int launchFlags, TaskRecord task, ActivityOptions aOptions) { + // We are reusing a task, keep the stack! + if (mReuseTask != null) { + return mReuseTask.getStack(); + } // If the activity is of a specific type, return the associated stack, creating it if // necessary @@ -2096,11 +2100,6 @@ class ActivityStarter { return mSupervisor.getStack(ASSISTANT_STACK_ID, CREATE_IF_NEEDED, ON_TOP); } - // We are reusing a task, keep the stack! - if (mReuseTask != null) { - return mReuseTask.getStack(); - } - final int launchDisplayId = (aOptions != null) ? aOptions.getLaunchDisplayId() : INVALID_DISPLAY; diff --git a/services/core/java/com/android/server/am/UserController.java b/services/core/java/com/android/server/am/UserController.java index ba8fa31dc46c..f720cd51cd86 100644 --- a/services/core/java/com/android/server/am/UserController.java +++ b/services/core/java/com/android/server/am/UserController.java @@ -600,6 +600,7 @@ final class UserController { void finishUserStopping(final int userId, final UserState uss) { // On to the next. final Intent shutdownIntent = new Intent(Intent.ACTION_SHUTDOWN); + shutdownIntent.addFlags(Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND); // This is the result receiver for the final shutdown broadcast. final IIntentReceiver shutdownReceiver = new IIntentReceiver.Stub() { @Override diff --git a/services/core/java/com/android/server/connectivity/NetworkNotificationManager.java b/services/core/java/com/android/server/connectivity/NetworkNotificationManager.java index 4315aaaa443a..703e50a08855 100644 --- a/services/core/java/com/android/server/connectivity/NetworkNotificationManager.java +++ b/services/core/java/com/android/server/connectivity/NetworkNotificationManager.java @@ -210,6 +210,10 @@ public class NetworkNotificationManager { builder.setContentText(details); } + if (notifyType == NotificationType.SIGN_IN) { + builder.extend(new Notification.TvExtender().setChannelId(channelId)); + } + Notification notification = builder.build(); mNotificationTypeMap.put(id, eventId); diff --git a/services/core/java/com/android/server/connectivity/Tethering.java b/services/core/java/com/android/server/connectivity/Tethering.java index 5cc5994e407e..e6923d52664d 100644 --- a/services/core/java/com/android/server/connectivity/Tethering.java +++ b/services/core/java/com/android/server/connectivity/Tethering.java @@ -117,7 +117,7 @@ import java.util.concurrent.atomic.AtomicInteger; * This class holds much of the business logic to allow Android devices * to act as IP gateways via USB, BT, and WiFi interfaces. */ -public class Tethering extends BaseNetworkObserver implements IControlsTethering { +public class Tethering extends BaseNetworkObserver { private final static String TAG = Tethering.class.getSimpleName(); private final static boolean DBG = false; @@ -173,6 +173,8 @@ public class Tethering extends BaseNetworkObserver implements IControlsTethering private final StateMachine mTetherMasterSM; private final OffloadController mOffloadController; private final UpstreamNetworkMonitor mUpstreamNetworkMonitor; + // TODO: Figure out how to merge this and other downstream-tracking objects + // into a single coherent structure. private final HashSet<TetherInterfaceStateMachine> mForwardedDownstreams; private final SimChangeListener mSimChange; @@ -184,7 +186,7 @@ public class Tethering extends BaseNetworkObserver implements IControlsTethering private boolean mRndisEnabled; // track the RNDIS function enabled state private boolean mUsbTetherRequested; // true if USB tethering should be started // when RNDIS is enabled - // True iff WiFi tethering should be started when soft AP is ready. + // True iff. WiFi tethering should be started when soft AP is ready. private boolean mWifiTetherRequested; public Tethering(Context context, INetworkManagementService nmService, @@ -868,23 +870,16 @@ public class Tethering extends BaseNetworkObserver implements IControlsTethering ipServingMode = IControlsTethering.STATE_LOCAL_ONLY; break; default: - // Resort to legacy "guessing" behaviour. - // - // When the AP comes up and we've been requested to tether it, - // do so. Otherwise, assume it's a local-only hotspot request. - // - // TODO: Once all AP broadcasts are known to include ifname and - // mode information delete this code path and log an error. - ipServingMode = mWifiTetherRequested - ? IControlsTethering.STATE_TETHERED - : IControlsTethering.STATE_LOCAL_ONLY; - break; + mLog.e("Cannot enable IP serving in unknown WiFi mode: " + wifiIpMode); + return; } if (!TextUtils.isEmpty(ifname)) { changeInterfaceState(ifname, ipServingMode); } else { - tetherMatchingInterfaces(ipServingMode, ConnectivityManager.TETHERING_WIFI); + mLog.e(String.format( + "Cannot enable IP serving in mode %s on missing interface name", + ipServingMode)); } } @@ -1119,6 +1114,7 @@ public class Tethering extends BaseNetworkObserver implements IControlsTethering static final int EVENT_UPSTREAM_CALLBACK = BASE_MASTER + 5; // we treated the error and want now to clear it static final int CMD_CLEAR_ERROR = BASE_MASTER + 6; + static final int EVENT_IFACE_UPDATE_LINKPROPERTIES = BASE_MASTER + 7; private State mInitialState; private State mTetherModeAliveState; @@ -1186,6 +1182,9 @@ public class Tethering extends BaseNetworkObserver implements IControlsTethering if (VDBG) Log.d(TAG, "Tether Mode unrequested by " + who); handleInterfaceServingStateInactive(who); break; + case EVENT_IFACE_UPDATE_LINKPROPERTIES: + // Silently ignore these for now. + break; default: return NOT_HANDLED; } @@ -1404,6 +1403,7 @@ public class Tethering extends BaseNetworkObserver implements IControlsTethering if (mode == IControlsTethering.STATE_TETHERED) { mForwardedDownstreams.add(who); } else { + mOffloadController.removeDownstreamInterface(who.interfaceName()); mForwardedDownstreams.remove(who); } @@ -1428,6 +1428,7 @@ public class Tethering extends BaseNetworkObserver implements IControlsTethering private void handleInterfaceServingStateInactive(TetherInterfaceStateMachine who) { mNotifyList.remove(who); mIPv6TetheringCoordinator.removeActiveDownstream(who); + mOffloadController.removeDownstreamInterface(who.interfaceName()); mForwardedDownstreams.remove(who); // If this is a Wi-Fi interface, tell WifiManager of any errors. @@ -1531,6 +1532,15 @@ public class Tethering extends BaseNetworkObserver implements IControlsTethering } break; } + case EVENT_IFACE_UPDATE_LINKPROPERTIES: { + final LinkProperties newLp = (LinkProperties) message.obj; + if (message.arg1 == IControlsTethering.STATE_TETHERED) { + mOffloadController.notifyDownstreamLinkProperties(newLp); + } else { + mOffloadController.removeDownstreamInterface(newLp.getInterfaceName()); + } + break; + } case CMD_UPSTREAM_CHANGED: updateUpstreamWanted(); if (!mUpstreamWanted) break; @@ -1755,9 +1765,25 @@ public class Tethering extends BaseNetworkObserver implements IControlsTethering return false; } - @Override - public void notifyInterfaceStateChange(String iface, TetherInterfaceStateMachine who, - int state, int error) { + private IControlsTethering makeControlCallback(String ifname) { + return new IControlsTethering() { + @Override + public void updateInterfaceState( + TetherInterfaceStateMachine who, int state, int lastError) { + notifyInterfaceStateChange(ifname, who, state, lastError); + } + + @Override + public void updateLinkProperties( + TetherInterfaceStateMachine who, LinkProperties newLp) { + notifyLinkPropertiesChanged(ifname, who, newLp); + } + }; + } + + // TODO: Move into TetherMasterSM. + private void notifyInterfaceStateChange( + String iface, TetherInterfaceStateMachine who, int state, int error) { synchronized (mPublicSync) { final TetherState tetherState = mTetherStates.get(iface); if (tetherState != null && tetherState.stateMachine.equals(who)) { @@ -1803,6 +1829,24 @@ public class Tethering extends BaseNetworkObserver implements IControlsTethering sendTetherStateChangedBroadcast(); } + private void notifyLinkPropertiesChanged(String iface, TetherInterfaceStateMachine who, + LinkProperties newLp) { + final int state; + synchronized (mPublicSync) { + final TetherState tetherState = mTetherStates.get(iface); + if (tetherState != null && tetherState.stateMachine.equals(who)) { + state = tetherState.lastState; + } else { + mLog.log("got notification from stale iface " + iface); + return; + } + } + + mLog.log(String.format("OBSERVED LinkProperties update iface=%s state=%s", iface, state)); + final int which = TetherMasterSM.EVENT_IFACE_UPDATE_LINKPROPERTIES; + mTetherMasterSM.sendMessage(which, state, 0, newLp); + } + private void maybeTrackNewInterfaceLocked(final String iface) { // If we don't care about this type of interface, ignore. final int interfaceType = ifaceNameToType(iface); @@ -1820,7 +1864,8 @@ public class Tethering extends BaseNetworkObserver implements IControlsTethering mLog.log("adding TetheringInterfaceStateMachine for: " + iface); final TetherState tetherState = new TetherState( new TetherInterfaceStateMachine( - iface, mLooper, interfaceType, mLog, mNMService, mStatsService, this, + iface, mLooper, interfaceType, mLog, mNMService, mStatsService, + makeControlCallback(iface), new IPv6TetheringInterfaceServices(iface, mNMService, mLog))); mTetherStates.put(iface, tetherState); tetherState.stateMachine.start(); @@ -1832,7 +1877,7 @@ public class Tethering extends BaseNetworkObserver implements IControlsTethering mLog.log("attempting to remove unknown iface (" + iface + "), ignoring"); return; } - tetherState.stateMachine.sendMessage(TetherInterfaceStateMachine.CMD_INTERFACE_DOWN); + tetherState.stateMachine.stop(); mLog.log("removing TetheringInterfaceStateMachine for: " + iface); mTetherStates.remove(iface); } diff --git a/services/core/java/com/android/server/connectivity/tethering/IControlsTethering.java b/services/core/java/com/android/server/connectivity/tethering/IControlsTethering.java index c5c86bd1c3bb..aaa63b1613df 100644 --- a/services/core/java/com/android/server/connectivity/tethering/IControlsTethering.java +++ b/services/core/java/com/android/server/connectivity/tethering/IControlsTethering.java @@ -16,25 +16,41 @@ package com.android.server.connectivity.tethering; +import android.net.LinkProperties; + /** * @hide * * Interface with methods necessary to notify that a given interface is ready for tethering. + * + * Rename to something more representative, e.g. IpServingControlCallback. + * + * All methods MUST be called on the TetherMasterSM main Looper's thread. */ -public interface IControlsTethering { - public final int STATE_UNAVAILABLE = 0; - public final int STATE_AVAILABLE = 1; - public final int STATE_TETHERED = 2; - public final int STATE_LOCAL_ONLY = 3; +public class IControlsTethering { + public static final int STATE_UNAVAILABLE = 0; + public static final int STATE_AVAILABLE = 1; + public static final int STATE_TETHERED = 2; + public static final int STATE_LOCAL_ONLY = 3; /** - * Notify that |who| has changed its tethering state. This may be called from any thread. + * Notify that |who| has changed its tethering state. + * + * TODO: Remove the need for the |who| argument. * - * @param iface a network interface (e.g. "wlan0") * @param who corresponding instance of a TetherInterfaceStateMachine * @param state one of IControlsTethering.STATE_* * @param lastError one of ConnectivityManager.TETHER_ERROR_* */ - void notifyInterfaceStateChange(String iface, TetherInterfaceStateMachine who, - int state, int lastError); + public void updateInterfaceState(TetherInterfaceStateMachine who, int state, int lastError) {} + + /** + * Notify that |who| has new LinkProperties. + * + * TODO: Remove the need for the |who| argument. + * + * @param who corresponding instance of a TetherInterfaceStateMachine + * @param newLp the new LinkProperties to report + */ + public void updateLinkProperties(TetherInterfaceStateMachine who, LinkProperties newLp) {} } diff --git a/services/core/java/com/android/server/connectivity/tethering/OffloadController.java b/services/core/java/com/android/server/connectivity/tethering/OffloadController.java index cb50e9fdbfed..3aca45f8bd9a 100644 --- a/services/core/java/com/android/server/connectivity/tethering/OffloadController.java +++ b/services/core/java/com/android/server/connectivity/tethering/OffloadController.java @@ -105,7 +105,19 @@ public class OffloadController { pushUpstreamParameters(); } - // TODO: public void addDownStream(...) + public void notifyDownstreamLinkProperties(LinkProperties lp) { + if (!started()) return; + + // TODO: Cache LinkProperties on a per-ifname basis and compute the + // deltas, calling addDownstream()/removeDownstream() accordingly. + } + + public void removeDownstreamInterface(String ifname) { + if (!started()) return; + + // TODO: Check cache for LinkProperties of ifname and, if present, + // call removeDownstream() accordingly. + } private boolean isOffloadDisabled() { // Defaults to |false| if not present. diff --git a/services/core/java/com/android/server/connectivity/tethering/TetherInterfaceStateMachine.java b/services/core/java/com/android/server/connectivity/tethering/TetherInterfaceStateMachine.java index 4a1d40590078..82b9ca07bbc0 100644 --- a/services/core/java/com/android/server/connectivity/tethering/TetherInterfaceStateMachine.java +++ b/services/core/java/com/android/server/connectivity/tethering/TetherInterfaceStateMachine.java @@ -90,6 +90,7 @@ public class TetherInterfaceStateMachine extends StateMachine { private final String mIfaceName; private final int mInterfaceType; + private final LinkProperties mLinkProperties; private final IPv6TetheringInterfaceServices mIPv6TetherSvc; private int mLastError; @@ -106,6 +107,8 @@ public class TetherInterfaceStateMachine extends StateMachine { mTetherController = tetherController; mIfaceName = ifaceName; mInterfaceType = interfaceType; + mLinkProperties = new LinkProperties(); + mLinkProperties.setInterfaceName(mIfaceName); mIPv6TetherSvc = ipv6Svc; mLastError = ConnectivityManager.TETHER_ERROR_NO_ERROR; @@ -127,6 +130,8 @@ public class TetherInterfaceStateMachine extends StateMachine { public int lastError() { return mLastError; } + public void stop() { sendMessage(CMD_INTERFACE_DOWN); } + // configured when we start tethering and unconfig'd on error or conclusion private boolean configureIfaceIp(boolean enabled) { if (VDBG) Log.d(TAG, "configureIfaceIp(" + enabled + ")"); @@ -182,8 +187,12 @@ public class TetherInterfaceStateMachine extends StateMachine { } private void sendInterfaceState(int newInterfaceState) { - mTetherController.notifyInterfaceStateChange( - mIfaceName, TetherInterfaceStateMachine.this, newInterfaceState, mLastError); + mTetherController.updateInterfaceState( + TetherInterfaceStateMachine.this, newInterfaceState, mLastError); + // TODO: Populate mLinkProperties correctly, and send more sensible + // updates more frequently (not just here). + mTetherController.updateLinkProperties( + TetherInterfaceStateMachine.this, new LinkProperties(mLinkProperties)); } class InitialState extends State { @@ -195,7 +204,6 @@ public class TetherInterfaceStateMachine extends StateMachine { @Override public boolean processMessage(Message message) { maybeLogMessage(this, message.what); - boolean retValue = true; switch (message.what) { case CMD_TETHER_REQUESTED: mLastError = ConnectivityManager.TETHER_ERROR_NO_ERROR; @@ -218,10 +226,9 @@ public class TetherInterfaceStateMachine extends StateMachine { (LinkProperties) message.obj); break; default: - retValue = false; - break; + return NOT_HANDLED; } - return retValue; + return HANDLED; } } diff --git a/services/core/java/com/android/server/connectivity/tethering/TetheringConfiguration.java b/services/core/java/com/android/server/connectivity/tethering/TetheringConfiguration.java index 651de8910925..b7fbfb756b1d 100644 --- a/services/core/java/com/android/server/connectivity/tethering/TetheringConfiguration.java +++ b/services/core/java/com/android/server/connectivity/tethering/TetheringConfiguration.java @@ -79,6 +79,9 @@ public class TetheringConfiguration { tetherableUsbRegexs = ctx.getResources().getStringArray( com.android.internal.R.array.config_tether_usb_regexs); + // TODO: Evaluate deleting this altogether now that Wi-Fi always passes + // us an interface name. Careful consideration needs to be given to + // implications for Settings and for provisioning checks. tetherableWifiRegexs = ctx.getResources().getStringArray( com.android.internal.R.array.config_tether_wifi_regexs); tetherableBluetoothRegexs = ctx.getResources().getStringArray( diff --git a/services/core/java/com/android/server/display/LocalDisplayAdapter.java b/services/core/java/com/android/server/display/LocalDisplayAdapter.java index 841a951923a3..cdc973b079ea 100644 --- a/services/core/java/com/android/server/display/LocalDisplayAdapter.java +++ b/services/core/java/com/android/server/display/LocalDisplayAdapter.java @@ -668,7 +668,7 @@ final class LocalDisplayAdapter extends DisplayAdapter { private final class HotplugDisplayEventReceiver extends DisplayEventReceiver { public HotplugDisplayEventReceiver(Looper looper) { - super(looper); + super(looper, VSYNC_SOURCE_APP); } @Override diff --git a/services/core/java/com/android/server/job/GrantedUriPermissions.java b/services/core/java/com/android/server/job/GrantedUriPermissions.java index e413d8d1d8c0..c23b109bb9de 100644 --- a/services/core/java/com/android/server/job/GrantedUriPermissions.java +++ b/services/core/java/com/android/server/job/GrantedUriPermissions.java @@ -29,7 +29,7 @@ import android.util.Slog; import java.io.PrintWriter; import java.util.ArrayList; -public class GrantedUriPermissions { +public final class GrantedUriPermissions { private final int mGrantFlags; private final int mSourceUserId; private final String mTag; diff --git a/services/core/java/com/android/server/job/JobSchedulerService.java b/services/core/java/com/android/server/job/JobSchedulerService.java index b0d76e854af2..b8fe88439c2d 100644 --- a/services/core/java/com/android/server/job/JobSchedulerService.java +++ b/services/core/java/com/android/server/job/JobSchedulerService.java @@ -524,7 +524,7 @@ public final class JobSchedulerService extends com.android.server.SystemService Slog.d(TAG, "Removing jobs for package " + pkgName + " in user " + userId); } - cancelJobsForUid(pkgUid); + cancelJobsForUid(pkgUid, "app package state changed"); } } catch (RemoteException|IllegalArgumentException e) { /* @@ -553,7 +553,7 @@ public final class JobSchedulerService extends com.android.server.SystemService if (DEBUG) { Slog.d(TAG, "Removing jobs for uid: " + uidRemoved); } - cancelJobsForUid(uidRemoved); + cancelJobsForUid(uidRemoved, "app uninstalled"); } } else if (Intent.ACTION_USER_REMOVED.equals(action)) { final int userId = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, 0); @@ -611,7 +611,7 @@ public final class JobSchedulerService extends com.android.server.SystemService @Override public void onUidGone(int uid, boolean disabled) throws RemoteException { updateUidState(uid, ActivityManager.PROCESS_STATE_CACHED_EMPTY); if (disabled) { - cancelJobsForUid(uid); + cancelJobsForUid(uid, "uid gone"); } } @@ -620,7 +620,7 @@ public final class JobSchedulerService extends com.android.server.SystemService @Override public void onUidIdle(int uid, boolean disabled) throws RemoteException { if (disabled) { - cancelJobsForUid(uid); + cancelJobsForUid(uid, "app uid idle"); } } }; @@ -689,7 +689,7 @@ public final class JobSchedulerService extends com.android.server.SystemService jobStatus.prepareLocked(ActivityManager.getService()); if (toCancel != null) { - cancelJobImplLocked(toCancel, jobStatus); + cancelJobImplLocked(toCancel, jobStatus, "job rescheduled by app"); } if (work != null) { // If work has been supplied, enqueue it into the new job. @@ -747,7 +747,7 @@ public final class JobSchedulerService extends com.android.server.SystemService final List<JobStatus> jobsForUser = mJobs.getJobsByUser(userHandle); for (int i=0; i<jobsForUser.size(); i++) { JobStatus toRemove = jobsForUser.get(i); - cancelJobImplLocked(toRemove, null); + cancelJobImplLocked(toRemove, null, "user removed"); } } } @@ -765,7 +765,7 @@ public final class JobSchedulerService extends com.android.server.SystemService for (int i = jobsForUid.size() - 1; i >= 0; i--) { final JobStatus job = jobsForUid.get(i); if (job.getSourcePackageName().equals(pkgName)) { - cancelJobImplLocked(job, null); + cancelJobImplLocked(job, null, "app force stopped"); } } } @@ -778,12 +778,12 @@ public final class JobSchedulerService extends com.android.server.SystemService * @param uid Uid to check against for removal of a job. * */ - public void cancelJobsForUid(int uid) { + public void cancelJobsForUid(int uid, String reason) { synchronized (mLock) { final List<JobStatus> jobsForUid = mJobs.getJobsByUid(uid); for (int i=0; i<jobsForUid.size(); i++) { JobStatus toRemove = jobsForUid.get(i); - cancelJobImplLocked(toRemove, null); + cancelJobImplLocked(toRemove, null, reason); } } } @@ -800,12 +800,12 @@ public final class JobSchedulerService extends com.android.server.SystemService synchronized (mLock) { toCancel = mJobs.getJobByUidAndJobId(uid, jobId); if (toCancel != null) { - cancelJobImplLocked(toCancel, null); + cancelJobImplLocked(toCancel, null, "cancel() called by app"); } } } - private void cancelJobImplLocked(JobStatus cancelled, JobStatus incomingJob) { + private void cancelJobImplLocked(JobStatus cancelled, JobStatus incomingJob, String reason) { if (DEBUG) Slog.d(TAG, "CANCEL: " + cancelled.toShortString()); cancelled.unprepareLocked(ActivityManager.getService()); stopTrackingJobLocked(cancelled, incomingJob, true /* writeBack */); @@ -814,7 +814,7 @@ public final class JobSchedulerService extends com.android.server.SystemService mJobPackageTracker.noteNonpending(cancelled); } // Cancel if running. - stopJobOnServiceContextLocked(cancelled, JobParameters.REASON_CANCELED); + stopJobOnServiceContextLocked(cancelled, JobParameters.REASON_CANCELED, reason); reportActiveLocked(); } @@ -844,7 +844,8 @@ public final class JobSchedulerService extends com.android.server.SystemService final JobStatus executing = jsc.getRunningJobLocked(); if (executing != null && (executing.getFlags() & JobInfo.FLAG_WILL_BE_FOREGROUND) == 0) { - jsc.cancelExecutingJobLocked(JobParameters.REASON_DEVICE_IDLE); + jsc.cancelExecutingJobLocked(JobParameters.REASON_DEVICE_IDLE, + "cancelled due to doze"); } } } else { @@ -1023,12 +1024,12 @@ public final class JobSchedulerService extends com.android.server.SystemService return removed; } - private boolean stopJobOnServiceContextLocked(JobStatus job, int reason) { + private boolean stopJobOnServiceContextLocked(JobStatus job, int reason, String debugReason) { for (int i=0; i<mActiveServices.size(); i++) { JobServiceContext jsc = mActiveServices.get(i); final JobStatus executing = jsc.getRunningJobLocked(); if (executing != null && executing.matches(job.getUid(), job.getJobId())) { - jsc.cancelExecutingJobLocked(reason); + jsc.cancelExecutingJobLocked(reason, debugReason); return true; } } @@ -1270,7 +1271,8 @@ public final class JobSchedulerService extends com.android.server.SystemService queueReadyJobsForExecutionLocked(); break; case MSG_STOP_JOB: - cancelJobImplLocked((JobStatus) message.obj, null); + cancelJobImplLocked((JobStatus) message.obj, null, + "app no longer allowed to run"); break; } maybeRunPendingJobsLocked(); @@ -1286,7 +1288,8 @@ public final class JobSchedulerService extends com.android.server.SystemService final JobStatus running = serviceContext.getRunningJobLocked(); if (running != null && !running.isReady()) { serviceContext.cancelExecutingJobLocked( - JobParameters.REASON_CONSTRAINTS_NOT_SATISFIED); + JobParameters.REASON_CONSTRAINTS_NOT_SATISFIED, + "cancelled due to unsatisfied constraints"); } } } @@ -1960,7 +1963,7 @@ public final class JobSchedulerService extends com.android.server.SystemService long ident = Binder.clearCallingIdentity(); try { - JobSchedulerService.this.cancelJobsForUid(uid); + JobSchedulerService.this.cancelJobsForUid(uid, "cancelAll() called by app"); } finally { Binder.restoreCallingIdentity(ident); } @@ -2357,7 +2360,14 @@ public final class JobSchedulerService extends com.android.server.SystemService pw.print(" Slot #"); pw.print(i); pw.print(": "); final JobStatus job = jsc.getRunningJobLocked(); if (job == null) { - pw.println("inactive"); + if (jsc.mStoppedReason != null) { + pw.print("inactive since "); + TimeUtils.formatDuration(jsc.mStoppedTime, nowElapsed, pw); + pw.print(", stopped because: "); + pw.println(jsc.mStoppedReason); + } else { + pw.println("inactive"); + } continue; } else { pw.println(job.toShortString()); diff --git a/services/core/java/com/android/server/job/JobSchedulerShellCommand.java b/services/core/java/com/android/server/job/JobSchedulerShellCommand.java index 2d2f61f0288d..a53c0885f334 100644 --- a/services/core/java/com/android/server/job/JobSchedulerShellCommand.java +++ b/services/core/java/com/android/server/job/JobSchedulerShellCommand.java @@ -26,7 +26,7 @@ import android.os.UserHandle; import java.io.PrintWriter; -public class JobSchedulerShellCommand extends ShellCommand { +public final class JobSchedulerShellCommand extends ShellCommand { public static final int CMD_ERR_NO_PACKAGE = -1000; public static final int CMD_ERR_NO_JOB = -1001; public static final int CMD_ERR_CONSTRAINTS = -1002; diff --git a/services/core/java/com/android/server/job/JobServiceContext.java b/services/core/java/com/android/server/job/JobServiceContext.java index ff39baf36c2e..5d3f6f7b804b 100644 --- a/services/core/java/com/android/server/job/JobServiceContext.java +++ b/services/core/java/com/android/server/job/JobServiceContext.java @@ -38,6 +38,7 @@ import android.os.SystemClock; import android.os.UserHandle; import android.os.WorkSource; import android.util.Slog; +import android.util.TimeUtils; import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.VisibleForTesting; @@ -54,13 +55,13 @@ import com.android.server.job.controllers.JobStatus; * job lands, and again when it is complete. * - Cancelling is trickier, because there are also interactions from the client. It's possible * the {@link com.android.server.job.JobServiceContext.JobServiceHandler} tries to process a - * {@link #doCancelLocked(int)} after the client has already finished. This is handled by having + * {@link #doCancelLocked} after the client has already finished. This is handled by having * {@link com.android.server.job.JobServiceContext.JobServiceHandler#handleCancelLocked} check whether * the context is still valid. * To mitigate this, we avoid sending duplicate onStopJob() * calls to the client after they've specified jobFinished(). */ -public class JobServiceContext extends IJobCallback.Stub implements ServiceConnection { +public final class JobServiceContext implements ServiceConnection { private static final boolean DEBUG = JobSchedulerService.DEBUG; private static final String TAG = "JobServiceContext"; /** Amount of time a job is allowed to execute for before being considered timed-out. */ @@ -111,6 +112,7 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne * Writes can only be done from the handler thread, or {@link #executeRunnableJob(JobStatus)}. */ private JobStatus mRunningJob; + private JobCallback mRunningCallback; /** Used to store next job to run when current job is to be preempted. */ private int mPreferredUid; IJobService service; @@ -126,6 +128,42 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne /** Track when job will timeout. */ private long mTimeoutElapsed; + // Debugging: reason this job was last stopped. + public String mStoppedReason; + + // Debugging: time this job was last stopped. + public long mStoppedTime; + + final class JobCallback extends IJobCallback.Stub { + public String mStoppedReason; + public long mStoppedTime; + + @Override + public void acknowledgeStartMessage(int jobId, boolean ongoing) { + doAcknowledgeStartMessage(this, jobId, ongoing); + } + + @Override + public void acknowledgeStopMessage(int jobId, boolean reschedule) { + doAcknowledgeStopMessage(this, jobId, reschedule); + } + + @Override + public JobWorkItem dequeueWork(int jobId) { + return doDequeueWork(this, jobId); + } + + @Override + public boolean completeWork(int jobId, int workId) { + return doCompleteWork(this, jobId, workId); + } + + @Override + public void jobFinished(int jobId, boolean reschedule) { + doJobFinished(this, jobId, reschedule); + } + } + JobServiceContext(JobSchedulerService service, IBatteryStats batteryStats, JobPackageTracker tracker, Looper looper) { this(service.getContext(), service.getLock(), batteryStats, tracker, service, looper); @@ -161,6 +199,7 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne mPreferredUid = NO_PREFERRED_UID; mRunningJob = job; + mRunningCallback = new JobCallback(); final boolean isDeadlineExpired = job.hasDeadlineConstraint() && (job.getLatestRunTimeElapsed() < SystemClock.elapsedRealtime()); @@ -175,7 +214,7 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne job.changedAuthorities.toArray(triggeredAuthorities); } final JobInfo ji = job.getJob(); - mParams = new JobParameters(this, job.getJobId(), ji.getExtras(), + mParams = new JobParameters(mRunningCallback, job.getJobId(), ji.getExtras(), ji.getTransientExtras(), ji.getClipData(), ji.getClipGrantFlags(), isDeadlineExpired, triggeredUris, triggeredAuthorities); mExecutionStartTimeElapsed = SystemClock.elapsedRealtime(); @@ -191,6 +230,7 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne Slog.d(TAG, job.getServiceComponent().getShortClassName() + " unavailable."); } mRunningJob = null; + mRunningCallback = null; mParams = null; mExecutionStartTimeElapsed = 0L; mVerb = VERB_FINISHED; @@ -204,6 +244,8 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne } mJobPackageTracker.noteActive(job); mAvailable = false; + mStoppedReason = null; + mStoppedTime = 0; return true; } } @@ -216,12 +258,12 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne } /** Called externally when a job that was scheduled for execution should be cancelled. */ - void cancelExecutingJobLocked(int reason) { - doCancelLocked(reason); + void cancelExecutingJobLocked(int reason, String debugReason) { + doCancelLocked(reason, debugReason); } void preemptExecutingJobLocked() { - doCancelLocked(JobParameters.REASON_PREEMPT); + doCancelLocked(JobParameters.REASON_PREEMPT, "cancelled due to preemption"); } int getPreferredUid() { @@ -247,42 +289,40 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne && (!matchJobId || jobId == executing.getJobId())) { if (mVerb == VERB_EXECUTING) { mParams.setStopReason(JobParameters.REASON_TIMEOUT); - sendStopMessageLocked(); + sendStopMessageLocked("force timeout from shell"); return true; } } return false; } - @Override - public void jobFinished(int jobId, boolean reschedule) { - doCallback(reschedule); + void doJobFinished(JobCallback cb, int jobId, boolean reschedule) { + doCallback(cb, reschedule, "app called jobFinished"); } - @Override - public void acknowledgeStopMessage(int jobId, boolean reschedule) { - doCallback(reschedule); + void doAcknowledgeStopMessage(JobCallback cb, int jobId, boolean reschedule) { + doCallback(cb, reschedule, null); } - @Override - public void acknowledgeStartMessage(int jobId, boolean ongoing) { - doCallback(ongoing); + void doAcknowledgeStartMessage(JobCallback cb, int jobId, boolean ongoing) { + doCallback(cb, ongoing, "finished start"); } - @Override - public JobWorkItem dequeueWork(int jobId) { - final int callingUid = Binder.getCallingUid(); + JobWorkItem doDequeueWork(JobCallback cb, int jobId) { final long ident = Binder.clearCallingIdentity(); try { synchronized (mLock) { - if (!verifyCallingUidLocked(callingUid)) { - throw new SecurityException("Bad calling uid: " + callingUid); + assertCallerLocked(cb); + if (mVerb == VERB_STOPPING || mVerb == VERB_FINISHED) { + // This job is either all done, or on its way out. Either way, it + // should not dispatch any more work. We will pick up any remaining + // work the next time we start the job again. + return null; } - final JobWorkItem work = mRunningJob.dequeueWorkLocked(); if (work == null && !mRunningJob.hasExecutingWorkLocked()) { // This will finish the job. - doCallbackLocked(false); + doCallbackLocked(false, "last work dequeued"); } return work; } @@ -291,15 +331,11 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne } } - @Override - public boolean completeWork(int jobId, int workId) { - final int callingUid = Binder.getCallingUid(); + boolean doCompleteWork(JobCallback cb, int jobId, int workId) { final long ident = Binder.clearCallingIdentity(); try { synchronized (mLock) { - if (!verifyCallingUidLocked(callingUid)) { - throw new SecurityException("Bad calling uid: " + callingUid); - } + assertCallerLocked(cb); return mRunningJob.completeWorkLocked(ActivityManager.getService(), workId); } } finally { @@ -324,7 +360,8 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne runningJob = mRunningJob; if (runningJob == null || !name.equals(runningJob.getServiceComponent())) { - closeAndCleanupJobLocked(true /* needsReschedule */); + closeAndCleanupJobLocked(true /* needsReschedule */, + "connected for different component"); return; } this.service = IJobService.Stub.asInterface(service); @@ -355,7 +392,7 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne @Override public void onServiceDisconnected(ComponentName name) { synchronized (mLock) { - closeAndCleanupJobLocked(true /* needsReschedule */); + closeAndCleanupJobLocked(true /* needsReschedule */, "unexpectedly disconnected"); } } @@ -364,8 +401,8 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne * whether the client exercising the callback is the client we expect. * @return True if the binder calling is coming from the client we expect. */ - private boolean verifyCallingUidLocked(final int callingUid) { - if (mRunningJob == null || callingUid != mRunningJob.getUid()) { + private boolean verifyCallerLocked(JobCallback cb) { + if (mRunningCallback != cb) { if (DEBUG) { Slog.d(TAG, "Stale callback received, ignoring."); } @@ -374,6 +411,20 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne return true; } + private void assertCallerLocked(JobCallback cb) { + if (!verifyCallerLocked(cb)) { + StringBuilder sb = new StringBuilder(128); + sb.append("Caller no longer running"); + if (cb.mStoppedReason != null) { + sb.append(", last stopped "); + TimeUtils.formatDuration(SystemClock.elapsedRealtime() - cb.mStoppedTime, sb); + sb.append(" because: "); + sb.append(cb.mStoppedReason); + } + throw new SecurityException(sb.toString()); + } + } + /** * Scheduling of async messages (basically timeouts at this point). */ @@ -401,22 +452,21 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne handleServiceBoundLocked(); } - void doCallback(boolean reschedule) { - final int callingUid = Binder.getCallingUid(); + void doCallback(JobCallback cb, boolean reschedule, String reason) { final long ident = Binder.clearCallingIdentity(); try { synchronized (mLock) { - if (!verifyCallingUidLocked(callingUid)) { + if (!verifyCallerLocked(cb)) { return; } - doCallbackLocked(reschedule); + doCallbackLocked(reschedule, reason); } } finally { Binder.restoreCallingIdentity(ident); } } - void doCallbackLocked(boolean reschedule) { + void doCallbackLocked(boolean reschedule, String reason) { if (DEBUG) { Slog.d(TAG, "doCallback of : " + mRunningJob + " v:" + VERB_STRINGS[mVerb]); @@ -427,7 +477,7 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne handleStartedLocked(reschedule); } else if (mVerb == VERB_EXECUTING || mVerb == VERB_STOPPING) { - handleFinishedLocked(reschedule); + handleFinishedLocked(reschedule, reason); } else { if (DEBUG) { Slog.d(TAG, "Unrecognised callback: " + mRunningJob); @@ -435,7 +485,7 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne } } - void doCancelLocked(int arg1) { + void doCancelLocked(int arg1, String debugReason) { if (mVerb == VERB_FINISHED) { if (DEBUG) { Slog.d(TAG, @@ -448,7 +498,7 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne mPreferredUid = mRunningJob != null ? mRunningJob.getUid() : NO_PREFERRED_UID; } - handleCancelLocked(); + handleCancelLocked(debugReason); } /** Start the job on the service. */ @@ -459,7 +509,7 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne if (mVerb != VERB_BINDING) { Slog.e(TAG, "Sending onStartJob for a job that isn't pending. " + VERB_STRINGS[mVerb]); - closeAndCleanupJobLocked(false /* reschedule */); + closeAndCleanupJobLocked(false /* reschedule */, "started job not pending"); return; } if (mCancelled) { @@ -467,7 +517,7 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne Slog.d(TAG, "Job cancelled while waiting for bind to complete. " + mRunningJob); } - closeAndCleanupJobLocked(true /* reschedule */); + closeAndCleanupJobLocked(true /* reschedule */, "cancelled while waiting for bind"); return; } try { @@ -496,7 +546,7 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne mVerb = VERB_EXECUTING; if (!workOngoing) { // Job is finished already so fast-forward to handleFinished. - handleFinishedLocked(false); + handleFinishedLocked(false, "onStartJob returned false"); return; } if (mCancelled) { @@ -504,7 +554,7 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne Slog.d(TAG, "Job cancelled while waiting for onStartJob to complete."); } // Cancelled *while* waiting for acknowledgeStartMessage from client. - handleCancelLocked(); + handleCancelLocked(null); return; } scheduleOpTimeOutLocked(); @@ -522,11 +572,11 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne * _STARTING -> Error * _PENDING -> Error */ - private void handleFinishedLocked(boolean reschedule) { + private void handleFinishedLocked(boolean reschedule, String reason) { switch (mVerb) { case VERB_EXECUTING: case VERB_STOPPING: - closeAndCleanupJobLocked(reschedule); + closeAndCleanupJobLocked(reschedule, reason); break; default: Slog.e(TAG, "Got an execution complete message for a job that wasn't being" + @@ -539,12 +589,12 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne * VERB_BINDING -> Cancelled before bind completed. Mark as cancelled and wait for * {@link #onServiceConnected(android.content.ComponentName, android.os.IBinder)} * _STARTING -> Mark as cancelled and wait for - * {@link JobServiceContext#acknowledgeStartMessage(int, boolean)} + * {@link JobServiceContext#doAcknowledgeStartMessage} * _EXECUTING -> call {@link #sendStopMessageLocked}}, but only if there are no callbacks * in the message queue. * _ENDING -> No point in doing anything here, so we ignore. */ - private void handleCancelLocked() { + private void handleCancelLocked(String reason) { if (JobSchedulerService.DEBUG) { Slog.d(TAG, "Handling cancel for: " + mRunningJob.getJobId() + " " + VERB_STRINGS[mVerb]); @@ -553,9 +603,10 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne case VERB_BINDING: case VERB_STARTING: mCancelled = true; + applyStoppedReasonLocked(reason); break; case VERB_EXECUTING: - sendStopMessageLocked(); + sendStopMessageLocked(reason); break; case VERB_STOPPING: // Nada. @@ -572,7 +623,7 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne case VERB_BINDING: Slog.e(TAG, "Time-out while trying to bind " + mRunningJob.toShortString() + ", dropping."); - closeAndCleanupJobLocked(false /* needsReschedule */); + closeAndCleanupJobLocked(false /* needsReschedule */, "timed out while binding"); break; case VERB_STARTING: // Client unresponsive - wedged or failed to respond in time. We don't really @@ -580,25 +631,25 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne // FINISHED/NO-RETRY. Slog.e(TAG, "No response from client for onStartJob '" + mRunningJob.toShortString()); - closeAndCleanupJobLocked(false /* needsReschedule */); + closeAndCleanupJobLocked(false /* needsReschedule */, "timed out while starting"); break; case VERB_STOPPING: // At least we got somewhere, so fail but ask the JobScheduler to reschedule. Slog.e(TAG, "No response from client for onStopJob, '" + mRunningJob.toShortString()); - closeAndCleanupJobLocked(true /* needsReschedule */); + closeAndCleanupJobLocked(true /* needsReschedule */, "timed out while stopping"); break; case VERB_EXECUTING: // Not an error - client ran out of time. Slog.i(TAG, "Client timed out while executing (no jobFinished received)." + " sending onStop. " + mRunningJob.toShortString()); mParams.setStopReason(JobParameters.REASON_TIMEOUT); - sendStopMessageLocked(); + sendStopMessageLocked("timeout while executing"); break; default: Slog.e(TAG, "Handling timeout for an invalid job state: " + mRunningJob.toShortString() + ", dropping."); - closeAndCleanupJobLocked(false /* needsReschedule */); + closeAndCleanupJobLocked(false /* needsReschedule */, "invalid timeout"); } } @@ -606,11 +657,11 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne * Already running, need to stop. Will switch {@link #mVerb} from VERB_EXECUTING -> * VERB_STOPPING. */ - private void sendStopMessageLocked() { + private void sendStopMessageLocked(String reason) { removeOpTimeOutLocked(); if (mVerb != VERB_EXECUTING) { Slog.e(TAG, "Sending onStopJob for a job that isn't started. " + mRunningJob); - closeAndCleanupJobLocked(false /* reschedule */); + closeAndCleanupJobLocked(false /* reschedule */, reason); return; } try { @@ -620,7 +671,7 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne } catch (RemoteException e) { Slog.e(TAG, "Error sending onStopJob to client.", e); // The job's host app apparently crashed during the job, so we should reschedule. - closeAndCleanupJobLocked(true /* reschedule */); + closeAndCleanupJobLocked(true /* reschedule */, "host crashed when trying to stop"); } } @@ -630,11 +681,12 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne * or from acknowledging the stop message we sent. Either way, we're done tracking it and * we want to clean up internally. */ - private void closeAndCleanupJobLocked(boolean reschedule) { + private void closeAndCleanupJobLocked(boolean reschedule, String reason) { final JobStatus completedJob; if (mVerb == VERB_FINISHED) { return; } + applyStoppedReasonLocked(reason); completedJob = mRunningJob; mJobPackageTracker.noteInactive(completedJob); try { @@ -649,6 +701,7 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne mContext.unbindService(JobServiceContext.this); mWakeLock = null; mRunningJob = null; + mRunningCallback = null; mParams = null; mVerb = VERB_FINISHED; mCancelled = false; @@ -658,6 +711,17 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne mCompletedListener.onJobCompletedLocked(completedJob, reschedule); } + private void applyStoppedReasonLocked(String reason) { + if (reason != null && mStoppedReason == null) { + mStoppedReason = reason; + mStoppedTime = SystemClock.elapsedRealtime(); + if (mRunningCallback != null) { + mRunningCallback.mStoppedReason = mStoppedReason; + mRunningCallback.mStoppedTime = mStoppedTime; + } + } + } + /** * Called when sending a message to the client, over whose execution we have no control. If * we haven't received a response in a certain amount of time, we want to give up and carry diff --git a/services/core/java/com/android/server/job/JobStore.java b/services/core/java/com/android/server/job/JobStore.java index 22eed3b04250..f0cd8a8569e0 100644 --- a/services/core/java/com/android/server/job/JobStore.java +++ b/services/core/java/com/android/server/job/JobStore.java @@ -66,7 +66,7 @@ import org.xmlpull.v1.XmlSerializer; * and {@link com.android.server.job.JobStore.ReadJobMapFromDiskRunnable} lock on that * object. */ -public class JobStore { +public final class JobStore { private static final String TAG = "JobStore"; private static final boolean DEBUG = JobSchedulerService.DEBUG; @@ -263,7 +263,7 @@ public class JobStore { * Runnable that writes {@link #mJobSet} out to xml. * NOTE: This Runnable locks on mLock */ - private class WriteJobsMapToDiskRunnable implements Runnable { + private final class WriteJobsMapToDiskRunnable implements Runnable { @Override public void run() { final long startElapsed = SystemClock.elapsedRealtime(); @@ -444,7 +444,7 @@ public class JobStore { * Runnable that reads list of persisted job from xml. This is run once at start up, so doesn't * need to go through {@link JobStore#add(com.android.server.job.controllers.JobStatus)}. */ - private class ReadJobMapFromDiskRunnable implements Runnable { + private final class ReadJobMapFromDiskRunnable implements Runnable { private final JobSet jobSet; /** @@ -796,7 +796,7 @@ public class JobStore { } } - static class JobSet { + static final class JobSet { // Key is the getUid() originator of the jobs in each sheaf private SparseArray<ArraySet<JobStatus>> mJobs; diff --git a/services/core/java/com/android/server/job/controllers/AppIdleController.java b/services/core/java/com/android/server/job/controllers/AppIdleController.java index 68dd00ff00c1..39f2a96b30e3 100644 --- a/services/core/java/com/android/server/job/controllers/AppIdleController.java +++ b/services/core/java/com/android/server/job/controllers/AppIdleController.java @@ -33,7 +33,7 @@ import java.io.PrintWriter; * for a certain amount of time (maybe hours or days) are considered idle. When the app comes * out of idle state, it will be allowed to run scheduled jobs. */ -public class AppIdleController extends StateController { +public final class AppIdleController extends StateController { private static final String LOG_TAG = "AppIdleController"; private static final boolean DEBUG = false; @@ -171,7 +171,7 @@ public class AppIdleController extends StateController { } } - private class AppIdleStateChangeListener + private final class AppIdleStateChangeListener extends UsageStatsManagerInternal.AppIdleStateChangeListener { @Override public void onAppIdleStateChanged(String packageName, int userId, boolean idle) { diff --git a/services/core/java/com/android/server/job/controllers/BatteryController.java b/services/core/java/com/android/server/job/controllers/BatteryController.java index d275bd94a6f4..91119690617a 100644 --- a/services/core/java/com/android/server/job/controllers/BatteryController.java +++ b/services/core/java/com/android/server/job/controllers/BatteryController.java @@ -39,7 +39,7 @@ import java.io.PrintWriter; * be charging when it's been plugged in for more than two minutes, and the system has broadcast * ACTION_BATTERY_OK. */ -public class BatteryController extends StateController { +public final class BatteryController extends StateController { private static final String TAG = "JobScheduler.Batt"; private static final Object sCreationLock = new Object(); @@ -121,7 +121,7 @@ public class BatteryController extends StateController { } } - public class ChargingTracker extends BroadcastReceiver { + public final class ChargingTracker extends BroadcastReceiver { /** * Track whether we're "charging", where charging means that we're ready to commit to * doing work. diff --git a/services/core/java/com/android/server/job/controllers/ConnectivityController.java b/services/core/java/com/android/server/job/controllers/ConnectivityController.java index f4268185aa40..17c89282f280 100644 --- a/services/core/java/com/android/server/job/controllers/ConnectivityController.java +++ b/services/core/java/com/android/server/job/controllers/ConnectivityController.java @@ -43,7 +43,7 @@ import java.io.PrintWriter; * status due to user-requested network policies, so we need to check * constraints on a per-UID basis. */ -public class ConnectivityController extends StateController implements +public final class ConnectivityController extends StateController implements ConnectivityManager.OnNetworkActiveListener { private static final String TAG = "JobScheduler.Conn"; private static final boolean DEBUG = false; diff --git a/services/core/java/com/android/server/job/controllers/ContentObserverController.java b/services/core/java/com/android/server/job/controllers/ContentObserverController.java index cfafc38428f3..ff807eccee7b 100644 --- a/services/core/java/com/android/server/job/controllers/ContentObserverController.java +++ b/services/core/java/com/android/server/job/controllers/ContentObserverController.java @@ -39,7 +39,7 @@ import java.util.ArrayList; /** * Controller for monitoring changes to content URIs through a ContentObserver. */ -public class ContentObserverController extends StateController { +public final class ContentObserverController extends StateController { private static final String TAG = "JobScheduler.Content"; private static final boolean DEBUG = false; diff --git a/services/core/java/com/android/server/job/controllers/DeviceIdleJobsController.java b/services/core/java/com/android/server/job/controllers/DeviceIdleJobsController.java index 5ccf81288255..85993b900dc9 100644 --- a/services/core/java/com/android/server/job/controllers/DeviceIdleJobsController.java +++ b/services/core/java/com/android/server/job/controllers/DeviceIdleJobsController.java @@ -37,7 +37,7 @@ import java.util.Arrays; * When device is dozing, set constraint for all jobs, except whitelisted apps, as not satisfied. * When device is not dozing, set constraint for all jobs as satisfied. */ -public class DeviceIdleJobsController extends StateController { +public final class DeviceIdleJobsController extends StateController { private static final String LOG_TAG = "DeviceIdleJobsController"; private static final boolean LOG_DEBUG = false; diff --git a/services/core/java/com/android/server/job/controllers/IdleController.java b/services/core/java/com/android/server/job/controllers/IdleController.java index 7e922930e6e8..9eda046fa1e4 100644 --- a/services/core/java/com/android/server/job/controllers/IdleController.java +++ b/services/core/java/com/android/server/job/controllers/IdleController.java @@ -33,7 +33,7 @@ import com.android.server.am.ActivityManagerService; import com.android.server.job.JobSchedulerService; import com.android.server.job.StateChangedListener; -public class IdleController extends StateController { +public final class IdleController extends StateController { private static final String TAG = "IdleController"; // Policy: we decide that we're "idle" if the device has been unused / @@ -107,7 +107,7 @@ public class IdleController extends StateController { mIdleTracker.startTracking(); } - class IdlenessTracker extends BroadcastReceiver { + final class IdlenessTracker extends BroadcastReceiver { private AlarmManager mAlarm; private PendingIntent mIdleTriggerIntent; boolean mIdle; diff --git a/services/core/java/com/android/server/job/controllers/JobStatus.java b/services/core/java/com/android/server/job/controllers/JobStatus.java index 53bf40245819..446b0d67ce95 100644 --- a/services/core/java/com/android/server/job/controllers/JobStatus.java +++ b/services/core/java/com/android/server/job/controllers/JobStatus.java @@ -698,7 +698,8 @@ public final class JobStatus { static final int CONSTRAINTS_OF_INTEREST = CONSTRAINT_CHARGING | CONSTRAINT_BATTERY_NOT_LOW | CONSTRAINT_STORAGE_NOT_LOW | CONSTRAINT_TIMING_DELAY | - CONSTRAINT_CONNECTIVITY | CONSTRAINT_UNMETERED | CONSTRAINT_NOT_ROAMING | + CONSTRAINT_CONNECTIVITY | CONSTRAINT_UNMETERED | + CONSTRAINT_NOT_ROAMING | CONSTRAINT_METERED | CONSTRAINT_IDLE | CONSTRAINT_CONTENT_TRIGGER; // Soft override covers all non-"functional" constraints @@ -865,6 +866,9 @@ public final class JobStatus { if ((constraints&CONSTRAINT_NOT_ROAMING) != 0) { pw.print(" NOT_ROAMING"); } + if ((constraints&CONSTRAINT_METERED) != 0) { + pw.print(" METERED"); + } if ((constraints&CONSTRAINT_APP_NOT_IDLE) != 0) { pw.print(" APP_NOT_IDLE"); } diff --git a/services/core/java/com/android/server/job/controllers/StorageController.java b/services/core/java/com/android/server/job/controllers/StorageController.java index 4fe8eca54a6e..c24e563948d4 100644 --- a/services/core/java/com/android/server/job/controllers/StorageController.java +++ b/services/core/java/com/android/server/job/controllers/StorageController.java @@ -35,7 +35,7 @@ import java.io.PrintWriter; /** * Simple controller that tracks the status of the device's storage. */ -public class StorageController extends StateController { +public final class StorageController extends StateController { private static final String TAG = "JobScheduler.Stor"; private static final Object sCreationLock = new Object(); @@ -112,7 +112,7 @@ public class StorageController extends StateController { } } - public class StorageTracker extends BroadcastReceiver { + public final class StorageTracker extends BroadcastReceiver { /** * Track whether storage is low. */ diff --git a/services/core/java/com/android/server/job/controllers/TimeController.java b/services/core/java/com/android/server/job/controllers/TimeController.java index 01c841e2083c..d90699a61928 100644 --- a/services/core/java/com/android/server/job/controllers/TimeController.java +++ b/services/core/java/com/android/server/job/controllers/TimeController.java @@ -38,7 +38,7 @@ import java.util.ListIterator; * This class sets an alarm for the next expiring job, and determines whether a job's minimum * delay has been satisfied. */ -public class TimeController extends StateController { +public final class TimeController extends StateController { private static final String TAG = "JobScheduler.Time"; /** Deadline alarm tag for logging purposes */ diff --git a/services/core/java/com/android/server/media/MediaSessionRecord.java b/services/core/java/com/android/server/media/MediaSessionRecord.java index a275f49582c6..89e10503fcf3 100644 --- a/services/core/java/com/android/server/media/MediaSessionRecord.java +++ b/services/core/java/com/android/server/media/MediaSessionRecord.java @@ -320,6 +320,15 @@ public class MediaSessionRecord implements IBinder.DeathRecipient { } /** + * Get the playback state. + * + * @return The current playback state. + */ + public PlaybackState getPlaybackState() { + return mPlaybackState; + } + + /** * Check if the session is currently performing playback. * * @return True if the session is performing playback, false otherwise. diff --git a/services/core/java/com/android/server/media/MediaSessionStack.java b/services/core/java/com/android/server/media/MediaSessionStack.java index f03f630d0e57..d9fe72e0c8bb 100644 --- a/services/core/java/com/android/server/media/MediaSessionStack.java +++ b/services/core/java/com/android/server/media/MediaSessionStack.java @@ -153,7 +153,7 @@ class MediaSessionStack { mCachedVolumeDefault = null; } - // In most cases, playback state isn't needed for finding media buttion session, + // In most cases, playback state isn't needed for finding media button session, // but we only use it as a hint if an app has multiple local media sessions. // In that case, we pick the media session whose PlaybackState matches // the audio playback configuration. @@ -204,8 +204,9 @@ class MediaSessionStack { /** * Find the media button session with the given {@param uid}. - * If the app has multiple media sessions, the media session matches the audio playback state - * becomes the media button session. + * If the app has multiple media sessions, the media session whose playback state is not null + * and matches the audio playback state becomes the media button session. Otherwise the top + * priority session becomes the media button session. * * @return The media button session. Returns {@code null} if the app doesn't have a media * session. @@ -214,7 +215,7 @@ class MediaSessionStack { MediaSessionRecord mediaButtonSession = null; for (MediaSessionRecord session : mSessions) { if (uid == session.getUid()) { - if (session.isPlaybackActive() == + if (session.getPlaybackState() != null && session.isPlaybackActive() == mAudioPlaybackMonitor.isPlaybackActive(session.getUid())) { // If there's a media session whose PlaybackState matches // the audio playback state, return it immediately. diff --git a/services/core/java/com/android/server/pm/InstantAppResolver.java b/services/core/java/com/android/server/pm/InstantAppResolver.java index 34cc6e37d996..d0d306c580ba 100644 --- a/services/core/java/com/android/server/pm/InstantAppResolver.java +++ b/services/core/java/com/android/server/pm/InstantAppResolver.java @@ -121,8 +121,11 @@ public abstract class InstantAppResolver { resolutionStatus = RESOLUTION_FAILURE; } } - logMetrics(ACTION_INSTANT_APP_RESOLUTION_PHASE_ONE, startTime, token, - resolutionStatus); + // Only log successful instant application resolution + if (resolutionStatus == RESOLUTION_SUCCESS) { + logMetrics(ACTION_INSTANT_APP_RESOLUTION_PHASE_ONE, startTime, token, + resolutionStatus); + } if (DEBUG_EPHEMERAL && resolveInfo == null) { if (resolutionStatus == RESOLUTION_BIND_TIMEOUT) { Log.d(TAG, "[" + token + "] Phase1; bind timed out"); diff --git a/services/core/java/com/android/server/pm/LauncherAppsService.java b/services/core/java/com/android/server/pm/LauncherAppsService.java index 29f9f7c709bb..4a5ce1203f15 100644 --- a/services/core/java/com/android/server/pm/LauncherAppsService.java +++ b/services/core/java/com/android/server/pm/LauncherAppsService.java @@ -34,6 +34,7 @@ import android.content.pm.IPackageManager; import android.content.pm.LauncherApps.ShortcutQuery; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; +import android.content.pm.PackageManagerInternal; import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.ParceledListSlice; import android.content.pm.ResolveInfo; @@ -100,7 +101,6 @@ public class LauncherAppsService extends SystemService { private static final boolean DEBUG = false; private static final String TAG = "LauncherAppsService"; private final Context mContext; - private final PackageManager mPm; private final UserManager mUm; private final ActivityManagerInternal mActivityManagerInternal; private final ShortcutServiceInternal mShortcutServiceInternal; @@ -113,7 +113,6 @@ public class LauncherAppsService extends SystemService { public LauncherAppsImpl(Context context) { mContext = context; - mPm = mContext.getPackageManager(); mUm = (UserManager) mContext.getSystemService(Context.USER_SERVICE); mActivityManagerInternal = Preconditions.checkNotNull( LocalServices.getService(ActivityManagerInternal.class)); @@ -263,15 +262,17 @@ public class LauncherAppsService extends SystemService { void verifyCallingPackage(String callingPackage) { int packageUid = -1; try { - packageUid = mPm.getPackageUidAsUser(callingPackage, + packageUid = AppGlobals.getPackageManager().getPackageUid(callingPackage, PackageManager.MATCH_DIRECT_BOOT_AWARE | PackageManager.MATCH_DIRECT_BOOT_UNAWARE | PackageManager.MATCH_UNINSTALLED_PACKAGES, UserHandle.getUserId(getCallingUid())); - } catch (NameNotFoundException e) { + } catch (RemoteException ignore) { + } + if (packageUid < 0) { Log.e(TAG, "Package not found: " + callingPackage); } - if (packageUid != Binder.getCallingUid()) { + if (packageUid != injectBinderCallingUid()) { throw new SecurityException("Calling package name mismatch"); } } @@ -315,13 +316,15 @@ public class LauncherAppsService extends SystemService { return null; } + final int callingUid = injectBinderCallingUid(); long ident = Binder.clearCallingIdentity(); try { - IPackageManager pm = AppGlobals.getPackageManager(); - return pm.getActivityInfo(component, + final PackageManagerInternal pmInt = + LocalServices.getService(PackageManagerInternal.class); + return pmInt.getActivityInfo(component, PackageManager.MATCH_DIRECT_BOOT_AWARE | PackageManager.MATCH_DIRECT_BOOT_UNAWARE, - user.getIdentifier()); + callingUid, user.getIdentifier()); } finally { Binder.restoreCallingIdentity(ident); } @@ -344,12 +347,15 @@ public class LauncherAppsService extends SystemService { return null; } + final int callingUid = injectBinderCallingUid(); long ident = injectClearCallingIdentity(); try { - List<ResolveInfo> apps = mPm.queryIntentActivitiesAsUser(intent, + final PackageManagerInternal pmInt = + LocalServices.getService(PackageManagerInternal.class); + List<ResolveInfo> apps = pmInt.queryIntentActivities(intent, PackageManager.MATCH_DIRECT_BOOT_AWARE | PackageManager.MATCH_DIRECT_BOOT_UNAWARE, - user.getIdentifier()); + callingUid, user.getIdentifier()); return new ParceledListSlice<>(apps); } finally { injectRestoreCallingIdentity(ident); @@ -390,13 +396,15 @@ public class LauncherAppsService extends SystemService { return false; } + final int callingUid = injectBinderCallingUid(); long ident = Binder.clearCallingIdentity(); try { - IPackageManager pm = AppGlobals.getPackageManager(); - PackageInfo info = pm.getPackageInfo(packageName, + final PackageManagerInternal pmInt = + LocalServices.getService(PackageManagerInternal.class); + PackageInfo info = pmInt.getPackageInfo(packageName, PackageManager.MATCH_DIRECT_BOOT_AWARE | PackageManager.MATCH_DIRECT_BOOT_UNAWARE, - user.getIdentifier()); + callingUid, user.getIdentifier()); return info != null && info.applicationInfo.enabled; } finally { Binder.restoreCallingIdentity(ident); @@ -414,11 +422,13 @@ public class LauncherAppsService extends SystemService { return null; } + final int callingUid = injectBinderCallingUid(); long ident = Binder.clearCallingIdentity(); try { - IPackageManager pm = AppGlobals.getPackageManager(); - ApplicationInfo info = pm.getApplicationInfo(packageName, flags, - user.getIdentifier()); + final PackageManagerInternal pmInt = + LocalServices.getService(PackageManagerInternal.class); + ApplicationInfo info = pmInt.getApplicationInfo(packageName, flags, + callingUid, user.getIdentifier()); return info; } finally { Binder.restoreCallingIdentity(ident); @@ -573,13 +583,15 @@ public class LauncherAppsService extends SystemService { return false; } + final int callingUid = injectBinderCallingUid(); long ident = Binder.clearCallingIdentity(); try { - IPackageManager pm = AppGlobals.getPackageManager(); - ActivityInfo info = pm.getActivityInfo(component, + final PackageManagerInternal pmInt = + LocalServices.getService(PackageManagerInternal.class); + ActivityInfo info = pmInt.getActivityInfo(component, PackageManager.MATCH_DIRECT_BOOT_AWARE | PackageManager.MATCH_DIRECT_BOOT_UNAWARE, - user.getIdentifier()); + callingUid, user.getIdentifier()); return info != null; } finally { Binder.restoreCallingIdentity(ident); @@ -604,13 +616,15 @@ public class LauncherAppsService extends SystemService { | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); launchIntent.setPackage(component.getPackageName()); + final int callingUid = injectBinderCallingUid(); long ident = Binder.clearCallingIdentity(); try { - IPackageManager pm = AppGlobals.getPackageManager(); - ActivityInfo info = pm.getActivityInfo(component, + final PackageManagerInternal pmInt = + LocalServices.getService(PackageManagerInternal.class); + ActivityInfo info = pmInt.getActivityInfo(component, PackageManager.MATCH_DIRECT_BOOT_AWARE | PackageManager.MATCH_DIRECT_BOOT_UNAWARE, - user.getIdentifier()); + callingUid, user.getIdentifier()); if (!info.exported) { throw new SecurityException("Cannot launch non-exported components " + component); @@ -619,10 +633,10 @@ public class LauncherAppsService extends SystemService { // Check that the component actually has Intent.CATEGORY_LAUCNCHER // as calling startActivityAsUser ignores the category and just // resolves based on the component if present. - List<ResolveInfo> apps = mPm.queryIntentActivitiesAsUser(launchIntent, + List<ResolveInfo> apps = pmInt.queryIntentActivities(launchIntent, PackageManager.MATCH_DIRECT_BOOT_AWARE | PackageManager.MATCH_DIRECT_BOOT_UNAWARE, - user.getIdentifier()); + callingUid, user.getIdentifier()); final int size = apps.size(); for (int i = 0; i < size; ++i) { ActivityInfo activityInfo = apps.get(i).activityInfo; diff --git a/services/core/java/com/android/server/pm/PackageInstallerService.java b/services/core/java/com/android/server/pm/PackageInstallerService.java index 75e7a1ebe816..bf64f6427c7c 100644 --- a/services/core/java/com/android/server/pm/PackageInstallerService.java +++ b/services/core/java/com/android/server/pm/PackageInstallerService.java @@ -81,8 +81,10 @@ import android.util.ExceptionUtils; import android.util.Slog; import android.util.SparseArray; import android.util.SparseBooleanArray; +import android.util.SparseIntArray; import android.util.Xml; +import java.io.CharArrayWriter; import libcore.io.IoUtils; import com.android.internal.R; @@ -195,7 +197,10 @@ public class PackageInstallerService extends IPackageInstaller.Stub { /** Historical sessions kept around for debugging purposes */ @GuardedBy("mSessions") - private final SparseArray<PackageInstallerSession> mHistoricalSessions = new SparseArray<>(); + private final List<String> mHistoricalSessions = new ArrayList<>(); + + @GuardedBy("mSessions") + private final SparseIntArray mHistoricalSessionsByInstaller = new SparseIntArray(); /** Sessions allocated to legacy users */ @GuardedBy("mSessions") @@ -371,7 +376,7 @@ public class PackageInstallerService extends IPackageInstaller.Stub { // Since this is early during boot we don't send // any observer events about the session, but we // keep details around for dumpsys. - mHistoricalSessions.put(session.sessionId, session); + addHistoricalSessionLocked(session); } mAllocatedSessions.put(session.sessionId, true); } @@ -386,6 +391,18 @@ public class PackageInstallerService extends IPackageInstaller.Stub { } } + private void addHistoricalSessionLocked(PackageInstallerSession session) { + CharArrayWriter writer = new CharArrayWriter(); + IndentingPrintWriter pw = new IndentingPrintWriter(writer, " "); + session.dump(pw); + mHistoricalSessions.add(writer.toString()); + + // Increment the number of sessions by this installerUid. + mHistoricalSessionsByInstaller.put( + session.installerUid, + mHistoricalSessionsByInstaller.get(session.installerUid) + 1); + } + private PackageInstallerSession readSessionLocked(XmlPullParser in) throws IOException, XmlPullParserException { final int sessionId = readIntAttribute(in, ATTR_SESSION_ID); @@ -676,7 +693,7 @@ public class PackageInstallerService extends IPackageInstaller.Stub { throw new IllegalStateException( "Too many active sessions for UID " + callingUid); } - final int historicalCount = getSessionCount(mHistoricalSessions, callingUid); + final int historicalCount = mHistoricalSessionsByInstaller.get(callingUid); if (historicalCount >= MAX_HISTORICAL_SESSIONS) { throw new IllegalStateException( "Too many historical sessions for UID " + callingUid); @@ -848,7 +865,7 @@ public class PackageInstallerService extends IPackageInstaller.Stub { for (int i = 0; i < mSessions.size(); i++) { final PackageInstallerSession session = mSessions.valueAt(i); if (session.userId == userId) { - result.add(session.generateInfo()); + result.add(session.generateInfo(false)); } } } @@ -866,7 +883,7 @@ public class PackageInstallerService extends IPackageInstaller.Stub { final PackageInstallerSession session = mSessions.valueAt(i); if (Objects.equals(session.installerPackageName, installerPackageName) && session.userId == userId) { - result.add(session.generateInfo()); + result.add(session.generateInfo(false)); } } } @@ -1228,8 +1245,7 @@ public class PackageInstallerService extends IPackageInstaller.Stub { pw.increaseIndent(); N = mHistoricalSessions.size(); for (int i = 0; i < N; i++) { - final PackageInstallerSession session = mHistoricalSessions.valueAt(i); - session.dump(pw); + pw.print(mHistoricalSessions.get(i)); pw.println(); } pw.println(); @@ -1264,7 +1280,7 @@ public class PackageInstallerService extends IPackageInstaller.Stub { public void run() { synchronized (mSessions) { mSessions.remove(session.sessionId); - mHistoricalSessions.put(session.sessionId, session); + addHistoricalSessionLocked(session); final File appIconFile = buildAppIconFile(session.sessionId); if (appIconFile.exists()) { diff --git a/services/core/java/com/android/server/pm/PackageInstallerSession.java b/services/core/java/com/android/server/pm/PackageInstallerSession.java index 4540d2dfd692..f5808affdb9e 100644 --- a/services/core/java/com/android/server/pm/PackageInstallerSession.java +++ b/services/core/java/com/android/server/pm/PackageInstallerSession.java @@ -288,6 +288,10 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub { } public SessionInfo generateInfo() { + return generateInfo(true); + } + + public SessionInfo generateInfo(boolean includeIcon) { final SessionInfo info = new SessionInfo(); synchronized (mLock) { info.sessionId = sessionId; @@ -302,7 +306,9 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub { info.installReason = params.installReason; info.sizeBytes = params.sizeBytes; info.appPackageName = params.appPackageName; - info.appIcon = params.appIcon; + if (includeIcon) { + info.appIcon = params.appIcon; + } info.appLabel = params.appLabel; } return info; diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 66c870c502c4..bf3e5d37e7ae 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -49,6 +49,7 @@ import static android.content.pm.PackageManager.INSTALL_FAILED_INVALID_INSTALL_L import static android.content.pm.PackageManager.INSTALL_FAILED_MISSING_SHARED_LIBRARY; import static android.content.pm.PackageManager.INSTALL_FAILED_PACKAGE_CHANGED; import static android.content.pm.PackageManager.INSTALL_FAILED_REPLACE_COULDNT_DELETE; +import static android.content.pm.PackageManager.INSTALL_FAILED_SANDBOX_VERSION_DOWNGRADE; import static android.content.pm.PackageManager.INSTALL_FAILED_SHARED_USER_INCOMPATIBLE; import static android.content.pm.PackageManager.INSTALL_FAILED_TEST_ONLY; import static android.content.pm.PackageManager.INSTALL_FAILED_UPDATE_INCOMPATIBLE; @@ -677,13 +678,6 @@ public class PackageManagerService extends IPackageManager.Stub @GuardedBy("mPackages") final SparseIntArray mIsolatedOwners = new SparseIntArray(); - // List of APK paths to load for each user and package. This data is never - // persisted by the package manager. Instead, the overlay manager will - // ensure the data is up-to-date in runtime. - @GuardedBy("mPackages") - final SparseArray<ArrayMap<String, ArrayList<String>>> mEnabledOverlayPaths = - new SparseArray<ArrayMap<String, ArrayList<String>>>(); - /** * Tracks new system packages [received in an OTA] that we expect to * find updated user-installed versions. Keys are package name, values @@ -2188,12 +2182,12 @@ public class PackageManagerService extends IPackageManager.Stub private void grantRequestedRuntimePermissionsForUser(PackageParser.Package pkg, int userId, String[] grantedPermissions) { - SettingBase sb = (SettingBase) pkg.mExtras; - if (sb == null) { + PackageSetting ps = (PackageSetting) pkg.mExtras; + if (ps == null) { return; } - PermissionsState permissionsState = sb.getPermissionsState(); + PermissionsState permissionsState = ps.getPermissionsState(); final int immutableFlags = PackageManager.FLAG_PERMISSION_SYSTEM_FIXED | PackageManager.FLAG_PERMISSION_POLICY_FIXED; @@ -3517,7 +3511,7 @@ public class PackageManagerService extends IPackageManager.Stub * and {@code 0}</li> * <li>The calling application has the permission * {@link android.Manifest.permission#ACCESS_INSTANT_APPS}</li> - * <li>[TODO] The calling application is the default launcher on the + * <li>The calling application is the default launcher on the * system partition.</li> * </ol> */ @@ -3584,8 +3578,6 @@ public class PackageManagerService extends IPackageManager.Stub return null; } - rebaseEnabledOverlays(packageInfo.applicationInfo, userId); - packageInfo.packageName = packageInfo.applicationInfo.packageName = resolveExternalPackageNameLPr(p); @@ -3652,22 +3644,27 @@ public class PackageManagerService extends IPackageManager.Stub @Override public PackageInfo getPackageInfo(String packageName, int flags, int userId) { return getPackageInfoInternal(packageName, PackageManager.VERSION_CODE_HIGHEST, - flags, userId); + flags, Binder.getCallingUid(), userId); } @Override public PackageInfo getPackageInfoVersioned(VersionedPackage versionedPackage, int flags, int userId) { return getPackageInfoInternal(versionedPackage.getPackageName(), - versionedPackage.getVersionCode(), flags, userId); + versionedPackage.getVersionCode(), flags, Binder.getCallingUid(), userId); } + /** + * Important: The provided filterCallingUid is used exclusively to filter out packages + * that can be seen based on user state. It's typically the original caller uid prior + * to clearing. Because it can only be provided by trusted code, it's value can be + * trusted and will be used as-is; unlike userId which will be validated by this method. + */ private PackageInfo getPackageInfoInternal(String packageName, int versionCode, - int flags, int userId) { + int flags, int filterCallingUid, int userId) { if (!sUserManager.exists(userId)) return null; - final int callingUid = Binder.getCallingUid(); flags = updateFlagsForPackage(flags, userId, packageName); - enforceCrossUserPermission(callingUid, userId, + enforceCrossUserPermission(Binder.getCallingUid(), userId, false /* requireFullPermission */, false /* checkShell */, "get package info"); // reader @@ -3679,10 +3676,10 @@ public class PackageManagerService extends IPackageManager.Stub if (matchFactoryOnly) { final PackageSetting ps = mSettings.getDisabledSystemPkgLPr(packageName); if (ps != null) { - if (filterSharedLibPackageLPr(ps, callingUid, userId, flags)) { + if (filterSharedLibPackageLPr(ps, filterCallingUid, userId, flags)) { return null; } - if (filterAppAccessLPr(ps, callingUid, userId)) { + if (filterAppAccessLPr(ps, filterCallingUid, userId)) { return null; } return generatePackageInfo(ps, flags, userId); @@ -3697,10 +3694,10 @@ public class PackageManagerService extends IPackageManager.Stub Log.v(TAG, "getPackageInfo " + packageName + ": " + p); if (p != null) { final PackageSetting ps = (PackageSetting) p.mExtras; - if (filterSharedLibPackageLPr(ps, callingUid, userId, flags)) { + if (filterSharedLibPackageLPr(ps, filterCallingUid, userId, flags)) { return null; } - if (ps != null && filterAppAccessLPr(ps, callingUid, userId)) { + if (ps != null && filterAppAccessLPr(ps, filterCallingUid, userId)) { return null; } return generatePackageInfo((PackageSetting)p.mExtras, flags, userId); @@ -3708,10 +3705,10 @@ public class PackageManagerService extends IPackageManager.Stub if (!matchFactoryOnly && (flags & MATCH_KNOWN_PACKAGES) != 0) { final PackageSetting ps = mSettings.mPackages.get(packageName); if (ps == null) return null; - if (filterSharedLibPackageLPr(ps, callingUid, userId, flags)) { + if (filterSharedLibPackageLPr(ps, filterCallingUid, userId, flags)) { return null; } - if (filterAppAccessLPr(ps, callingUid, userId)) { + if (filterAppAccessLPr(ps, filterCallingUid, userId)) { return null; } return generatePackageInfo(ps, flags, userId); @@ -4072,14 +4069,14 @@ public class PackageManagerService extends IPackageManager.Stub } private ApplicationInfo generateApplicationInfoFromSettingsLPw(String packageName, int flags, - int uid, int userId) { + int filterCallingUid, int userId) { if (!sUserManager.exists(userId)) return null; PackageSetting ps = mSettings.mPackages.get(packageName); if (ps != null) { - if (filterSharedLibPackageLPr(ps, uid, userId, flags)) { + if (filterSharedLibPackageLPr(ps, filterCallingUid, userId, flags)) { return null; } - if (filterAppAccessLPr(ps, uid, userId)) { + if (filterAppAccessLPr(ps, filterCallingUid, userId)) { return null; } if (ps.pkg == null) { @@ -4092,7 +4089,6 @@ public class PackageManagerService extends IPackageManager.Stub ApplicationInfo ai = PackageParser.generateApplicationInfo(ps.pkg, flags, ps.readUserState(userId), userId); if (ai != null) { - rebaseEnabledOverlays(ai, userId); ai.packageName = resolveExternalPackageNameLPr(ps.pkg); } return ai; @@ -4102,6 +4098,17 @@ public class PackageManagerService extends IPackageManager.Stub @Override public ApplicationInfo getApplicationInfo(String packageName, int flags, int userId) { + return getApplicationInfoInternal(packageName, flags, Binder.getCallingUid(), userId); + } + + /** + * Important: The provided filterCallingUid is used exclusively to filter out applications + * that can be seen based on user state. It's typically the original caller uid prior + * to clearing. Because it can only be provided by trusted code, it's value can be + * trusted and will be used as-is; unlike userId which will be validated by this method. + */ + private ApplicationInfo getApplicationInfoInternal(String packageName, int flags, + int filterCallingUid, int userId) { if (!sUserManager.exists(userId)) return null; flags = updateFlagsForApplication(flags, userId, packageName); enforceCrossUserPermission(Binder.getCallingUid(), userId, @@ -4120,17 +4127,16 @@ public class PackageManagerService extends IPackageManager.Stub if (p != null) { PackageSetting ps = mSettings.mPackages.get(packageName); if (ps == null) return null; - if (filterSharedLibPackageLPr(ps, Binder.getCallingUid(), userId, flags)) { + if (filterSharedLibPackageLPr(ps, filterCallingUid, userId, flags)) { return null; } - if (filterAppAccessLPr(ps, Binder.getCallingUid(), userId)) { + if (filterAppAccessLPr(ps, filterCallingUid, userId)) { return null; } // Note: isEnabledLP() does not apply here - always return info ApplicationInfo ai = PackageParser.generateApplicationInfo( p, flags, ps.readUserState(userId), userId); if (ai != null) { - rebaseEnabledOverlays(ai, userId); ai.packageName = resolveExternalPackageNameLPr(p); } return ai; @@ -4141,32 +4147,12 @@ public class PackageManagerService extends IPackageManager.Stub if ((flags & MATCH_KNOWN_PACKAGES) != 0) { // Already generates the external package name return generateApplicationInfoFromSettingsLPw(packageName, - Binder.getCallingUid(), flags, userId); + flags, filterCallingUid, userId); } } return null; } - private void rebaseEnabledOverlays(@NonNull ApplicationInfo ai, int userId) { - List<String> paths = new ArrayList<>(); - ArrayMap<String, ArrayList<String>> userSpecificOverlays = - mEnabledOverlayPaths.get(userId); - if (userSpecificOverlays != null) { - if (!"android".equals(ai.packageName)) { - ArrayList<String> frameworkOverlays = userSpecificOverlays.get("android"); - if (frameworkOverlays != null) { - paths.addAll(frameworkOverlays); - } - } - - ArrayList<String> appOverlays = userSpecificOverlays.get(ai.packageName); - if (appOverlays != null) { - paths.addAll(appOverlays); - } - } - ai.resourceDirs = paths.size() > 0 ? paths.toArray(new String[paths.size()]) : null; - } - private String normalizePackageNameLPr(String packageName) { String normalizedPackageName = mSettings.getRenamedPackageLPr(packageName); return normalizedPackageName != null ? normalizedPackageName : packageName; @@ -4242,10 +4228,7 @@ public class PackageManagerService extends IPackageManager.Stub volumeUuid); final boolean aggressive = (storageFlags & StorageManager.FLAG_ALLOCATE_AGGRESSIVE) != 0; - final boolean defyReserved = (storageFlags - & StorageManager.FLAG_ALLOCATE_DEFY_RESERVED) != 0; - final long reservedBytes = (aggressive || defyReserved) ? 0 - : storage.getStorageCacheBytes(file); + final long reservedBytes = storage.getStorageCacheBytes(file, storageFlags); // 1. Pre-flight to determine if we have any chance to succeed // 2. Consider preloaded data (after 1w honeymoon, unless aggressive) @@ -4551,30 +4534,22 @@ public class PackageManagerService extends IPackageManager.Stub return updateFlagsForComponent(flags, userId, intent /*cookie*/); } - private ActivityInfo generateActivityInfo(ActivityInfo ai, int flags, PackageUserState state, - int userId) { - ActivityInfo ret = PackageParser.generateActivityInfo(ai, flags, state, userId); - if (ret != null) { - rebaseEnabledOverlays(ret.applicationInfo, userId); - } - return ret; - } - - private ActivityInfo generateActivityInfo(PackageParser.Activity a, int flags, - PackageUserState state, int userId) { - ActivityInfo ai = PackageParser.generateActivityInfo(a, flags, state, userId); - if (ai != null) { - rebaseEnabledOverlays(ai.applicationInfo, userId); - } - return ai; - } - @Override public ActivityInfo getActivityInfo(ComponentName component, int flags, int userId) { + return getActivityInfoInternal(component, flags, Binder.getCallingUid(), userId); + } + + /** + * Important: The provided filterCallingUid is used exclusively to filter out activities + * that can be seen based on user state. It's typically the original caller uid prior + * to clearing. Because it can only be provided by trusted code, it's value can be + * trusted and will be used as-is; unlike userId which will be validated by this method. + */ + private ActivityInfo getActivityInfoInternal(ComponentName component, int flags, + int filterCallingUid, int userId) { if (!sUserManager.exists(userId)) return null; - final int callingUid = Binder.getCallingUid(); flags = updateFlagsForComponent(flags, userId, component); - enforceCrossUserPermission(callingUid, userId, + enforceCrossUserPermission(Binder.getCallingUid(), userId, false /* requireFullPermission */, false /* checkShell */, "get activity info"); synchronized (mPackages) { PackageParser.Activity a = mActivities.mActivities.get(component); @@ -4583,14 +4558,15 @@ public class PackageManagerService extends IPackageManager.Stub if (a != null && mSettings.isEnabledAndMatchLPr(a.info, flags, userId)) { PackageSetting ps = mSettings.mPackages.get(component.getPackageName()); if (ps == null) return null; - if (filterAppAccessLPr(ps, callingUid, component, TYPE_ACTIVITY, userId)) { + if (filterAppAccessLPr(ps, filterCallingUid, component, TYPE_ACTIVITY, userId)) { return null; } - return generateActivityInfo(a, flags, ps.readUserState(userId), userId); + return PackageParser.generateActivityInfo( + a, flags, ps.readUserState(userId), userId); } if (mResolveComponentName.equals(component)) { - return generateActivityInfo(mResolveActivity, flags, new PackageUserState(), - userId); + return PackageParser.generateActivityInfo( + mResolveActivity, flags, new PackageUserState(), userId); } } return null; @@ -4644,7 +4620,8 @@ public class PackageManagerService extends IPackageManager.Stub if (filterAppAccessLPr(ps, callingUid, component, TYPE_RECEIVER, userId)) { return null; } - return generateActivityInfo(a, flags, ps.readUserState(userId), userId); + return PackageParser.generateActivityInfo( + a, flags, ps.readUserState(userId), userId); } } return null; @@ -4780,12 +4757,8 @@ public class PackageManagerService extends IPackageManager.Stub if (filterAppAccessLPr(ps, callingUid, component, TYPE_SERVICE, userId)) { return null; } - ServiceInfo si = PackageParser.generateServiceInfo(s, flags, - ps.readUserState(userId), userId); - if (si != null) { - rebaseEnabledOverlays(si.applicationInfo, userId); - } - return si; + return PackageParser.generateServiceInfo( + s, flags, ps.readUserState(userId), userId); } } return null; @@ -4808,12 +4781,8 @@ public class PackageManagerService extends IPackageManager.Stub if (filterAppAccessLPr(ps, callingUid, component, TYPE_PROVIDER, userId)) { return null; } - ProviderInfo pi = PackageParser.generateProviderInfo(p, flags, - ps.readUserState(userId), userId); - if (pi != null) { - rebaseEnabledOverlays(pi.applicationInfo, userId); - } - return pi; + return PackageParser.generateProviderInfo( + p, flags, ps.readUserState(userId), userId); } } return null; @@ -4879,9 +4848,13 @@ public class PackageManagerService extends IPackageManager.Stub } } - private void updateSequenceNumberLP(String packageName, int[] userList) { + private void updateSequenceNumberLP(PackageSetting pkgSetting, int[] userList) { for (int i = userList.length - 1; i >= 0; --i) { final int userId = userList[i]; + // don't add instant app to the list of updates + if (pkgSetting.getInstantApp(userId)) { + continue; + } SparseArray<String> changedPackages = mChangedPackages.get(userId); if (changedPackages == null) { changedPackages = new SparseArray<>(); @@ -4892,12 +4865,12 @@ public class PackageManagerService extends IPackageManager.Stub sequenceNumbers = new HashMap<>(); mChangedPackagesSequenceNumbers.put(userId, sequenceNumbers); } - final Integer sequenceNumber = sequenceNumbers.get(packageName); + final Integer sequenceNumber = sequenceNumbers.get(pkgSetting.name); if (sequenceNumber != null) { changedPackages.remove(sequenceNumber); } - changedPackages.put(mChangedPackagesSequenceNumber, packageName); - sequenceNumbers.put(packageName, mChangedPackagesSequenceNumber); + changedPackages.put(mChangedPackagesSequenceNumber, pkgSetting.name); + sequenceNumbers.put(pkgSetting.name, mChangedPackagesSequenceNumber); } mChangedPackagesSequenceNumber++; } @@ -5339,7 +5312,7 @@ public class PackageManagerService extends IPackageManager.Stub "grantRuntimePermission"); final int uid; - final SettingBase sb; + final PackageSetting ps; synchronized (mPackages) { final PackageParser.Package pkg = mPackages.get(packageName); @@ -5350,12 +5323,9 @@ public class PackageManagerService extends IPackageManager.Stub if (bp == null) { throw new IllegalArgumentException("Unknown permission: " + name); } - sb = (SettingBase) pkg.mExtras; - if (sb == null) { - throw new IllegalArgumentException("Unknown package: " + packageName); - } - if (sb instanceof PackageSetting - && filterAppAccessLPr((PackageSetting) sb, callingUid, userId)) { + ps = (PackageSetting) pkg.mExtras; + if (ps == null + || filterAppAccessLPr(ps, callingUid, userId)) { throw new IllegalArgumentException("Unknown package: " + packageName); } @@ -5373,7 +5343,7 @@ public class PackageManagerService extends IPackageManager.Stub uid = UserHandle.getUid(userId, pkg.applicationInfo.uid); - final PermissionsState permissionsState = sb.getPermissionsState(); + final PermissionsState permissionsState = ps.getPermissionsState(); final int flags = permissionsState.getPermissionFlags(name, userId); if ((flags & PackageManager.FLAG_PERMISSION_SYSTEM_FIXED) != 0) { @@ -5395,7 +5365,6 @@ public class PackageManagerService extends IPackageManager.Stub return; } - final PackageSetting ps = mSettings.mPackages.get(packageName); if (ps.getInstantApp(userId) && !bp.isInstant()) { throw new SecurityException("Cannot grant non-ephemeral permission" + name + " for package " + packageName); @@ -5479,7 +5448,11 @@ public class PackageManagerService extends IPackageManager.Stub if (pkg == null) { throw new IllegalArgumentException("Unknown package: " + packageName); } - + final PackageSetting ps = (PackageSetting) pkg.mExtras; + if (ps == null + || filterAppAccessLPr(ps, Binder.getCallingUid(), userId)) { + throw new IllegalArgumentException("Unknown package: " + packageName); + } final BasePermission bp = mSettings.mPermissions.get(name); if (bp == null) { throw new IllegalArgumentException("Unknown permission: " + name); @@ -5497,12 +5470,7 @@ public class PackageManagerService extends IPackageManager.Stub return; } - SettingBase sb = (SettingBase) pkg.mExtras; - if (sb == null) { - throw new IllegalArgumentException("Unknown package: " + packageName); - } - - final PermissionsState permissionsState = sb.getPermissionsState(); + final PermissionsState permissionsState = ps.getPermissionsState(); final int flags = permissionsState.getPermissionFlags(name, userId); if ((flags & PackageManager.FLAG_PERMISSION_SYSTEM_FIXED) != 0) { @@ -5655,15 +5623,12 @@ public class PackageManagerService extends IPackageManager.Stub if (bp == null) { return 0; } - final SettingBase sb = (SettingBase) pkg.mExtras; - if (sb == null) { - return 0; - } - if (sb instanceof PackageSetting - && filterAppAccessLPr((PackageSetting) sb, callingUid, userId)) { + final PackageSetting ps = (PackageSetting) pkg.mExtras; + if (ps == null + || filterAppAccessLPr(ps, callingUid, userId)) { return 0; } - PermissionsState permissionsState = sb.getPermissionsState(); + PermissionsState permissionsState = ps.getPermissionsState(); return permissionsState.getPermissionFlags(name, userId); } } @@ -5677,7 +5642,8 @@ public class PackageManagerService extends IPackageManager.Stub enforceGrantRevokeRuntimePermissionPermissions("updatePermissionFlags"); - enforceCrossUserPermission(Binder.getCallingUid(), userId, + final int callingUid = Binder.getCallingUid(); + enforceCrossUserPermission(callingUid, userId, true /* requireFullPermission */, true /* checkShell */, "updatePermissionFlags"); @@ -5695,18 +5661,18 @@ public class PackageManagerService extends IPackageManager.Stub if (pkg == null) { throw new IllegalArgumentException("Unknown package: " + packageName); } + final PackageSetting ps = (PackageSetting) pkg.mExtras; + if (ps == null + || filterAppAccessLPr(ps, callingUid, userId)) { + throw new IllegalArgumentException("Unknown package: " + packageName); + } final BasePermission bp = mSettings.mPermissions.get(name); if (bp == null) { throw new IllegalArgumentException("Unknown permission: " + name); } - SettingBase sb = (SettingBase) pkg.mExtras; - if (sb == null) { - throw new IllegalArgumentException("Unknown package: " + packageName); - } - - PermissionsState permissionsState = sb.getPermissionsState(); + PermissionsState permissionsState = ps.getPermissionsState(); boolean hadState = permissionsState.getRuntimePermissionState(name, userId) != null; @@ -5750,11 +5716,11 @@ public class PackageManagerService extends IPackageManager.Stub final int packageCount = mPackages.size(); for (int pkgIndex = 0; pkgIndex < packageCount; pkgIndex++) { final PackageParser.Package pkg = mPackages.valueAt(pkgIndex); - SettingBase sb = (SettingBase) pkg.mExtras; - if (sb == null) { + final PackageSetting ps = (PackageSetting) pkg.mExtras; + if (ps == null) { continue; } - PermissionsState permissionsState = sb.getPermissionsState(); + PermissionsState permissionsState = ps.getPermissionsState(); changed |= permissionsState.updatePermissionFlagsForAllPermissions( userId, flagMask, flagValues); } @@ -6304,7 +6270,7 @@ public class PackageManagerService extends IPackageManager.Stub Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "queryIntentActivities"); final List<ResolveInfo> query = queryIntentActivitiesInternal(intent, resolvedType, - flags, userId, resolveForStart); + flags, callingUid, userId, resolveForStart); Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER); final ResolveInfo bestChoice = @@ -6848,15 +6814,16 @@ public class PackageManagerService extends IPackageManager.Stub private @NonNull List<ResolveInfo> queryIntentActivitiesInternal(Intent intent, String resolvedType, int flags, int userId) { - return queryIntentActivitiesInternal(intent, resolvedType, flags, userId, false); + return queryIntentActivitiesInternal( + intent, resolvedType, flags, Binder.getCallingUid(), userId, false); } private @NonNull List<ResolveInfo> queryIntentActivitiesInternal(Intent intent, - String resolvedType, int flags, int userId, boolean resolveForStart) { + String resolvedType, int flags, int filterCallingUid, int userId, + boolean resolveForStart) { if (!sUserManager.exists(userId)) return Collections.emptyList(); - final int callingUid = Binder.getCallingUid(); - final String instantAppPkgName = getInstantAppPackageName(callingUid); - enforceCrossUserPermission(callingUid, userId, + final String instantAppPkgName = getInstantAppPackageName(filterCallingUid); + enforceCrossUserPermission(Binder.getCallingUid(), userId, false /* requireFullPermission */, false /* checkShell */, "query intent activities"); final String pkgName = intent.getPackage(); @@ -6868,7 +6835,7 @@ public class PackageManagerService extends IPackageManager.Stub } } - flags = updateFlagsForResolve(flags, userId, intent, callingUid, resolveForStart, + flags = updateFlagsForResolve(flags, userId, intent, filterCallingUid, resolveForStart, comp != null || pkgName != null /*onlyExposedExplicitly*/); if (comp != null) { final List<ResolveInfo> list = new ArrayList<ResolveInfo>(1); @@ -8241,7 +8208,6 @@ public class PackageManagerService extends IPackageManager.Stub ai = PackageParser.generateApplicationInfo(ps.pkg, effectiveFlags, ps.readUserState(userId), userId); if (ai != null) { - rebaseEnabledOverlays(ai, userId); ai.packageName = resolveExternalPackageNameLPr(ps.pkg); } } else { @@ -8268,7 +8234,6 @@ public class PackageManagerService extends IPackageManager.Stub ApplicationInfo ai = PackageParser.generateApplicationInfo(p, flags, ps.readUserState(userId), userId); if (ai != null) { - rebaseEnabledOverlays(ai, userId); ai.packageName = resolveExternalPackageNameLPr(p); list.add(ai); } @@ -8422,7 +8387,6 @@ public class PackageManagerService extends IPackageManager.Stub ApplicationInfo ai = PackageParser.generateApplicationInfo(p, flags, ps.readUserState(userId), userId); if (ai != null) { - rebaseEnabledOverlays(ai, userId); finalList.add(ai); } } @@ -9607,6 +9571,8 @@ public class PackageManagerService extends IPackageManager.Stub public void reconcileSecondaryDexFiles(String packageName) { if (getInstantAppPackageName(Binder.getCallingUid()) != null) { return; + } else if (isInstantApp(packageName, UserHandle.getCallingUserId())) { + return; } mDexManager.reconcileSecondaryDexFiles(packageName); } @@ -13344,7 +13310,8 @@ public class PackageManagerService extends IPackageManager.Stub return null; } final PackageUserState userState = ps.readUserState(userId); - ActivityInfo ai = generateActivityInfo(activity, mFlags, userState, userId); + ActivityInfo ai = + PackageParser.generateActivityInfo(activity, mFlags, userState, userId); if (ai == null) { return null; } @@ -14385,8 +14352,8 @@ public class PackageManagerService extends IPackageManager.Stub int userId) { mContext.enforceCallingOrSelfPermission(android.Manifest.permission.MANAGE_USERS, null); PackageSetting pkgSetting; - final int uid = Binder.getCallingUid(); - enforceCrossUserPermission(uid, userId, + final int callingUid = Binder.getCallingUid(); + enforceCrossUserPermission(callingUid, userId, true /* requireFullPermission */, true /* checkShell */, "setApplicationHiddenSetting for user " + userId); @@ -14405,6 +14372,9 @@ public class PackageManagerService extends IPackageManager.Stub if (pkgSetting == null) { return false; } + if (filterAppAccessLPr(pkgSetting, callingUid, userId)) { + return false; + } // Do not allow "android" is being disabled if ("android".equals(packageName)) { Slog.w(TAG, "Cannot hide package: android"); @@ -14421,7 +14391,7 @@ public class PackageManagerService extends IPackageManager.Stub return false; } // Only allow protected packages to hide themselves. - if (hidden && !UserHandle.isSameApp(uid, pkgSetting.appId) + if (hidden && !UserHandle.isSameApp(callingUid, pkgSetting.appId) && mProtectedPackages.isPackageStateProtected(userId, packageName)) { Slog.w(TAG, "Not hiding protected package: " + packageName); return false; @@ -14538,6 +14508,20 @@ public class PackageManagerService extends IPackageManager.Stub if (pkgSetting == null) { return PackageManager.INSTALL_FAILED_INVALID_URI; } + if (!canViewInstantApps(callingUid, UserHandle.getUserId(callingUid))) { + // only allow the existing package to be used if it's installed as a full + // application for at least one user + boolean installAllowed = false; + for (int checkUserId : sUserManager.getUserIds()) { + installAllowed = !pkgSetting.getInstantApp(checkUserId); + if (installAllowed) { + break; + } + } + if (!installAllowed) { + return PackageManager.INSTALL_FAILED_INVALID_URI; + } + } if (!pkgSetting.getInstalled(userId)) { pkgSetting.setInstalled(true, userId); pkgSetting.setHidden(false, userId); @@ -14561,7 +14545,7 @@ public class PackageManagerService extends IPackageManager.Stub } sendPackageAddedForUser(packageName, pkgSetting, userId); synchronized (mPackages) { - updateSequenceNumberLP(packageName, new int[]{ userId }); + updateSequenceNumberLP(pkgSetting, new int[]{ userId }); } } } finally { @@ -14607,7 +14591,8 @@ public class PackageManagerService extends IPackageManager.Stub public String[] setPackagesSuspendedAsUser(String[] packageNames, boolean suspended, int userId) { mContext.enforceCallingOrSelfPermission(android.Manifest.permission.MANAGE_USERS, null); - enforceCrossUserPermission(Binder.getCallingUid(), userId, + final int callingUid = Binder.getCallingUid(); + enforceCrossUserPermission(callingUid, userId, true /* requireFullPermission */, true /* checkShell */, "setPackagesSuspended for user " + userId); @@ -14628,7 +14613,8 @@ public class PackageManagerService extends IPackageManager.Stub final int appId; synchronized (mPackages) { final PackageSetting pkgSetting = mSettings.mPackages.get(packageName); - if (pkgSetting == null) { + if (pkgSetting == null + || filterAppAccessLPr(pkgSetting, callingUid, userId)) { Slog.w(TAG, "Could not find package setting for package \"" + packageName + "\". Skipping suspending/un-suspending."); unactionedPackages.add(packageName); @@ -15038,6 +15024,10 @@ public class PackageManagerService extends IPackageManager.Stub boolean result = false; synchronized (mPackages) { + final PackageSetting ps = mSettings.mPackages.get(packageName); + if (filterAppAccessLPr(ps, Binder.getCallingUid(), UserHandle.getCallingUserId())) { + return false; + } result = mSettings.updateIntentFilterVerificationStatusLPw(packageName, status, userId); } if (result) { @@ -15138,7 +15128,9 @@ public class PackageManagerService extends IPackageManager.Stub // writer synchronized (mPackages) { PackageSetting targetPackageSetting = mSettings.mPackages.get(targetPackage); - if (targetPackageSetting == null) { + if (targetPackageSetting == null + || filterAppAccessLPr( + targetPackageSetting, callingUid, UserHandle.getUserId(callingUid))) { throw new IllegalArgumentException("Unknown target package: " + targetPackage); } @@ -15219,7 +15211,9 @@ public class PackageManagerService extends IPackageManager.Stub if (ps == null) { throw new IllegalArgumentException("Unknown target package " + packageName); } - + if (filterAppAccessLPr(ps, Binder.getCallingUid(), UserHandle.getCallingUserId())) { + throw new IllegalArgumentException("Unknown target package " + packageName); + } if (!Objects.equals(callerPackageName, ps.installerPackageName)) { throw new IllegalArgumentException("Calling package " + callerPackageName + " is not installer for " + packageName); @@ -17846,16 +17840,17 @@ public class PackageManagerService extends IPackageManager.Stub // Instant apps must have target SDK >= O and have targetSanboxVersion >= 2 if (instantApp && pkg.applicationInfo.targetSdkVersion <= Build.VERSION_CODES.N_MR1) { - Slog.w(TAG, "Instant app package " + pkg.packageName - + " does not target O, this will be a fatal error."); - // STOPSHIP: Make this a fatal error - pkg.applicationInfo.targetSdkVersion = Build.VERSION_CODES.O; + Slog.w(TAG, "Instant app package " + pkg.packageName + " does not target O"); + res.setError(INSTALL_FAILED_SANDBOX_VERSION_DOWNGRADE, + "Instant app package must target O"); + return; } if (instantApp && pkg.applicationInfo.targetSandboxVersion != 2) { Slog.w(TAG, "Instant app package " + pkg.packageName - + " does not target targetSandboxVersion 2, this will be a fatal error."); - // STOPSHIP: Make this a fatal error - pkg.applicationInfo.targetSandboxVersion = 2; + + " does not target targetSandboxVersion 2"); + res.setError(INSTALL_FAILED_SANDBOX_VERSION_DOWNGRADE, + "Instant app package must use targetSanboxVersion 2"); + return; } if (pkg.applicationInfo.isStaticSharedLibrary()) { @@ -18241,7 +18236,7 @@ public class PackageManagerService extends IPackageManager.Stub } if (res.returnCode == PackageManager.INSTALL_SUCCEEDED) { - updateSequenceNumberLP(pkgName, res.newUsers); + updateSequenceNumberLP(ps, res.newUsers); updateInstantAppInstallerLocked(pkgName); } } @@ -18467,8 +18462,7 @@ public class PackageManagerService extends IPackageManager.Stub final int callingUid = Binder.getCallingUid(); mContext.enforceCallingOrSelfPermission( android.Manifest.permission.DELETE_PACKAGES, null); - final int hasAccessInstantApps = mContext.checkCallingOrSelfPermission( - android.Manifest.permission.ACCESS_INSTANT_APPS); + final boolean canViewInstantApps = canViewInstantApps(callingUid, userId); Preconditions.checkNotNull(versionedPackage); Preconditions.checkNotNull(observer); Preconditions.checkArgumentInRange(versionedPackage.getVersionCode(), @@ -18539,7 +18533,7 @@ public class PackageManagerService extends IPackageManager.Stub final boolean targetIsInstantApp = ps.getInstantApp(UserHandle.getUserId(callingUid)); doDeletePackage = !targetIsInstantApp - || hasAccessInstantApps == PackageManager.PERMISSION_GRANTED; + || canViewInstantApps; } if (doDeletePackage) { if (!deleteAllUsers) { @@ -18850,7 +18844,7 @@ public class PackageManagerService extends IPackageManager.Stub if (pkg != null) { mInstantAppRegistry.onPackageUninstalledLPw(pkg, info.removedUsers); } - updateSequenceNumberLP(packageName, info.removedUsers); + updateSequenceNumberLP(uninstalledPs, info.removedUsers); updateInstantAppInstallerLocked(packageName); } } @@ -21207,7 +21201,8 @@ Slog.v(TAG, ":: stepped forward, applying functor at tag " + parser.getName()); // Limit who can change which apps if (!UserHandle.isSameApp(callingUid, pkgSetting.appId)) { // Don't allow apps that don't have permission to modify other apps - if (!allowedByPermission) { + if (!allowedByPermission + || filterAppAccessLPr(pkgSetting, callingUid, userId)) { throw new SecurityException( "Attempt to change component state; " + "pid=" + Binder.getCallingPid() @@ -21294,7 +21289,7 @@ Slog.v(TAG, ":: stepped forward, applying functor at tag " + parser.getName()); } } scheduleWritePackageRestrictionsLocked(userId); - updateSequenceNumberLP(packageName, new int[] { userId }); + updateSequenceNumberLP(pkgSetting, new int[] { userId }); final long callingId = Binder.clearCallingIdentity(); try { updateInstantAppInstallerLocked(packageName); @@ -21391,8 +21386,10 @@ Slog.v(TAG, ":: stepped forward, applying functor at tag " + parser.getName()); true /* requireFullPermission */, true /* checkShell */, "stop package"); // writer synchronized (mPackages) { - if (mSettings.setPackageStoppedStateLPw(this, packageName, stopped, - allowedByPermission, callingUid, userId)) { + final PackageSetting ps = mSettings.mPackages.get(packageName); + if (!filterAppAccessLPr(ps, callingUid, userId) + && mSettings.setPackageStoppedStateLPw(this, packageName, stopped, + allowedByPermission, callingUid, userId)) { scheduleWritePackageRestrictionsLocked(userId); } } @@ -21400,11 +21397,16 @@ Slog.v(TAG, ":: stepped forward, applying functor at tag " + parser.getName()); @Override public String getInstallerPackageName(String packageName) { - if (getInstantAppPackageName(Binder.getCallingUid()) != null) { + final int callingUid = Binder.getCallingUid(); + if (getInstantAppPackageName(callingUid) != null) { return null; } // reader synchronized (mPackages) { + final PackageSetting ps = mSettings.mPackages.get(packageName); + if (filterAppAccessLPr(ps, callingUid, UserHandle.getUserId(callingUid))) { + return null; + } return mSettings.getInstallerPackageNameLPr(packageName); } } @@ -22289,11 +22291,6 @@ Slog.v(TAG, ":: stepped forward, applying functor at tag " + parser.getName()); dumpCompilerStatsLPr(pw, packageName); } - if (!checkin && dumpState.isDumping(DumpState.DUMP_ENABLED_OVERLAYS)) { - if (dumpState.onTitlePrinted()) pw.println(); - dumpEnabledOverlaysLPr(pw); - } - if (!checkin && dumpState.isDumping(DumpState.DUMP_MESSAGES) && packageName == null) { if (dumpState.onTitlePrinted()) pw.println(); mSettings.dumpReadMessagesLPr(pw, dumpState); @@ -22490,23 +22487,6 @@ Slog.v(TAG, ":: stepped forward, applying functor at tag " + parser.getName()); } } - private void dumpEnabledOverlaysLPr(PrintWriter pw) { - pw.println("Enabled overlay paths:"); - final int N = mEnabledOverlayPaths.size(); - for (int i = 0; i < N; i++) { - final int userId = mEnabledOverlayPaths.keyAt(i); - pw.println(String.format(" User %d:", userId)); - final ArrayMap<String, ArrayList<String>> userSpecificOverlays = - mEnabledOverlayPaths.valueAt(i); - final int M = userSpecificOverlays.size(); - for (int j = 0; j < M; j++) { - final String targetPackageName = userSpecificOverlays.keyAt(j); - final ArrayList<String> overlayPackagePaths = userSpecificOverlays.valueAt(j); - pw.println(String.format(" %s: %s", targetPackageName, overlayPackagePaths)); - } - } - } - private String dumpDomainString(String packageName) { List<IntentFilterVerificationInfo> iviList = getIntentFilterVerifications(packageName) .getList(); @@ -24156,7 +24136,8 @@ Slog.v(TAG, ":: stepped forward, applying functor at tag " + parser.getName()); @Override public boolean isPackageSignedByKeySet(String packageName, KeySet ks) { - if (getInstantAppPackageName(Binder.getCallingUid()) != null) { + final int callingUid = Binder.getCallingUid(); + if (getInstantAppPackageName(callingUid) != null) { return false; } if (packageName == null || ks == null) { @@ -24164,7 +24145,9 @@ Slog.v(TAG, ":: stepped forward, applying functor at tag " + parser.getName()); } synchronized(mPackages) { final PackageParser.Package pkg = mPackages.get(packageName); - if (pkg == null) { + if (pkg == null + || filterAppAccessLPr((PackageSetting) pkg.mExtras, callingUid, + UserHandle.getUserId(callingUid))) { Slog.w(TAG, "KeySet requested for unknown package: " + packageName); throw new IllegalArgumentException("Unknown package: " + packageName); } @@ -24179,7 +24162,8 @@ Slog.v(TAG, ":: stepped forward, applying functor at tag " + parser.getName()); @Override public boolean isPackageSignedByKeySetExactly(String packageName, KeySet ks) { - if (getInstantAppPackageName(Binder.getCallingUid()) != null) { + final int callingUid = Binder.getCallingUid(); + if (getInstantAppPackageName(callingUid) != null) { return false; } if (packageName == null || ks == null) { @@ -24187,7 +24171,9 @@ Slog.v(TAG, ":: stepped forward, applying functor at tag " + parser.getName()); } synchronized(mPackages) { final PackageParser.Package pkg = mPackages.get(packageName); - if (pkg == null) { + if (pkg == null + || filterAppAccessLPr((PackageSetting) pkg.mExtras, callingUid, + UserHandle.getUserId(callingUid))) { Slog.w(TAG, "KeySet requested for unknown package: " + packageName); throw new IllegalArgumentException("Unknown package: " + packageName); } @@ -24504,8 +24490,34 @@ Slog.v(TAG, ":: stepped forward, applying functor at tag " + parser.getName()); } @Override - public ApplicationInfo getApplicationInfo(String packageName, int userId) { - return PackageManagerService.this.getApplicationInfo(packageName, 0 /*flags*/, userId); + public PackageInfo getPackageInfo( + String packageName, int flags, int filterCallingUid, int userId) { + return PackageManagerService.this + .getPackageInfoInternal(packageName, PackageManager.VERSION_CODE_HIGHEST, + flags, filterCallingUid, userId); + } + + @Override + public ApplicationInfo getApplicationInfo( + String packageName, int flags, int filterCallingUid, int userId) { + return PackageManagerService.this + .getApplicationInfoInternal(packageName, flags, filterCallingUid, userId); + } + + @Override + public ActivityInfo getActivityInfo( + ComponentName component, int flags, int filterCallingUid, int userId) { + return PackageManagerService.this + .getActivityInfoInternal(component, flags, filterCallingUid, userId); + } + + @Override + public List<ResolveInfo> queryIntentActivities( + Intent intent, int flags, int filterCallingUid, int userId) { + final String resolvedType = intent.resolveTypeIfNeeded(mContext.getContentResolver()); + return PackageManagerService.this + .queryIntentActivitiesInternal(intent, resolvedType, flags, filterCallingUid, + userId, false /*resolveForStart*/); } @Override @@ -24652,11 +24664,10 @@ Slog.v(TAG, ":: stepped forward, applying functor at tag " + parser.getName()); Slog.e(TAG, "failed to find package " + targetPackageName); return false; } - - ArrayList<String> paths = null; - if (overlayPackageNames != null) { + ArrayList<String> overlayPaths = null; + if (overlayPackageNames != null && overlayPackageNames.size() > 0) { final int N = overlayPackageNames.size(); - paths = new ArrayList<>(N); + overlayPaths = new ArrayList<>(N); for (int i = 0; i < N; i++) { final String packageName = overlayPackageNames.get(i); final PackageParser.Package pkg = mPackages.get(packageName); @@ -24664,22 +24675,17 @@ Slog.v(TAG, ":: stepped forward, applying functor at tag " + parser.getName()); Slog.e(TAG, "failed to find package " + packageName); return false; } - paths.add(pkg.baseCodePath); + overlayPaths.add(pkg.baseCodePath); } } - ArrayMap<String, ArrayList<String>> userSpecificOverlays = - mEnabledOverlayPaths.get(userId); - if (userSpecificOverlays == null) { - userSpecificOverlays = new ArrayMap<>(); - mEnabledOverlayPaths.put(userId, userSpecificOverlays); - } - - if (paths != null && paths.size() > 0) { - userSpecificOverlays.put(targetPackageName, paths); - } else { - userSpecificOverlays.remove(targetPackageName); + final PackageSetting ps = mSettings.mPackages.get(targetPackageName); + String[] frameworkOverlayPaths = null; + if (!"android".equals(targetPackageName)) { + frameworkOverlayPaths = + mSettings.mPackages.get("android").getOverlayPaths(userId); } + ps.setOverlayPaths(overlayPaths, frameworkOverlayPaths, userId); return true; } } diff --git a/services/core/java/com/android/server/pm/PackageSettingBase.java b/services/core/java/com/android/server/pm/PackageSettingBase.java index 14f65eb485f4..d17267f38648 100644 --- a/services/core/java/com/android/server/pm/PackageSettingBase.java +++ b/services/core/java/com/android/server/pm/PackageSettingBase.java @@ -31,6 +31,7 @@ import android.util.SparseArray; import android.util.proto.ProtoOutputStream; import com.android.internal.annotations.VisibleForTesting; +import com.google.android.collect.Lists; import java.io.File; import java.util.ArrayList; @@ -329,6 +330,27 @@ abstract class PackageSettingBase extends SettingBase { modifyUserState(userId).installReason = installReason; } + void setOverlayPaths(List<String> overlayPaths, String[] frameworkOverlayPaths, int userId) { + if (overlayPaths == null && frameworkOverlayPaths == null) { + modifyUserState(userId).overlayPaths = null; + return; + } + final List<String> paths; + if (frameworkOverlayPaths == null) { + paths = overlayPaths; + } else { + paths = Lists.newArrayList(frameworkOverlayPaths); + if (overlayPaths != null) { + paths.addAll(overlayPaths); + } + } + modifyUserState(userId).overlayPaths = paths.toArray(new String[paths.size()]); + } + + String[] getOverlayPaths(int userId) { + return readUserState(userId).overlayPaths; + } + /** Only use for testing. Do NOT use in production code. */ @VisibleForTesting SparseArray<PackageUserState> getUserState() { diff --git a/services/core/java/com/android/server/pm/Settings.java b/services/core/java/com/android/server/pm/Settings.java index 24cbdbff9153..b006c2d991e6 100644 --- a/services/core/java/com/android/server/pm/Settings.java +++ b/services/core/java/com/android/server/pm/Settings.java @@ -4858,6 +4858,15 @@ final class Settings { pw.print(ps.getEnabled(user.id)); pw.print(" instant="); pw.println(ps.getInstantApp(user.id)); + + String[] overlayPaths = ps.getOverlayPaths(user.id); + if (overlayPaths != null && overlayPaths.length > 0) { + pw.println("Overlay paths:"); + for (String path : overlayPaths) { + pw.println(path); + } + } + String lastDisabledAppCaller = ps.getLastDisabledAppCaller(user.id); if (lastDisabledAppCaller != null) { pw.print(prefix); pw.print(" lastDisabledCaller: "); diff --git a/services/core/java/com/android/server/policy/AccessibilityShortcutController.java b/services/core/java/com/android/server/policy/AccessibilityShortcutController.java index d8e9e16acec5..50900834b16a 100644 --- a/services/core/java/com/android/server/policy/AccessibilityShortcutController.java +++ b/services/core/java/com/android/server/policy/AccessibilityShortcutController.java @@ -234,7 +234,7 @@ public class AccessibilityShortcutController { private AccessibilityServiceInfo getInfoForTargetService() { final String currentShortcutServiceString = getTargetServiceComponentNameString( - mContext, UserHandle.myUserId()); + mContext, UserHandle.USER_CURRENT); if (currentShortcutServiceString == null) { return null; } diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java index f46aeac81073..126e3ec30289 100644 --- a/services/core/java/com/android/server/policy/PhoneWindowManager.java +++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java @@ -221,6 +221,7 @@ import android.view.accessibility.AccessibilityManager; import android.view.animation.Animation; import android.view.animation.AnimationSet; import android.view.animation.AnimationUtils; +import android.view.autofill.AutofillManagerInternal; import android.view.inputmethod.InputMethodManagerInternal; import com.android.internal.R; @@ -407,6 +408,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { WindowManagerInternal mWindowManagerInternal; PowerManager mPowerManager; ActivityManagerInternal mActivityManagerInternal; + AutofillManagerInternal mAutofillManagerInternal; InputManagerInternal mInputManagerInternal; InputMethodManagerInternal mInputMethodManagerInternal; DreamManagerInternal mDreamManagerInternal; @@ -819,6 +821,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { private static final int MSG_ACCESSIBILITY_SHORTCUT = 21; private static final int MSG_BUGREPORT_TV = 22; private static final int MSG_ACCESSIBILITY_TV = 23; + private static final int MSG_DISPATCH_BACK_KEY_TO_AUTOFILL = 24; private static final int MSG_REQUEST_TRANSIENT_BARS_ARG_STATUS = 0; private static final int MSG_REQUEST_TRANSIENT_BARS_ARG_NAVIGATION = 1; @@ -905,6 +908,9 @@ public class PhoneWindowManager implements WindowManagerPolicy { accessibilityShortcutActivated(); } break; + case MSG_DISPATCH_BACK_KEY_TO_AUTOFILL: + mAutofillManagerInternal.onBackKeyPressed(); + break; } } } @@ -1212,6 +1218,10 @@ public class PhoneWindowManager implements WindowManagerPolicy { } } + if (mAutofillManagerInternal != null && event.getKeyCode() == KeyEvent.KEYCODE_BACK) { + mHandler.sendMessage(mHandler.obtainMessage(MSG_DISPATCH_BACK_KEY_TO_AUTOFILL)); + } + return handled; } @@ -3042,13 +3052,18 @@ public class PhoneWindowManager implements WindowManagerPolicy { if (PRINT_ANIM) Log.i(TAG, "selectAnimation in " + win + ": transit=" + transit); if (win == mStatusBar) { - boolean isKeyguard = (win.getAttrs().privateFlags & PRIVATE_FLAG_KEYGUARD) != 0; + final boolean isKeyguard = (win.getAttrs().privateFlags & PRIVATE_FLAG_KEYGUARD) != 0; + final boolean expanded = win.getAttrs().height == MATCH_PARENT + && win.getAttrs().width == MATCH_PARENT; + if (isKeyguard || expanded) { + return -1; + } if (transit == TRANSIT_EXIT || transit == TRANSIT_HIDE) { - return isKeyguard ? -1 : R.anim.dock_top_exit; + return R.anim.dock_top_exit; } else if (transit == TRANSIT_ENTER || transit == TRANSIT_SHOW) { - return isKeyguard ? -1 : R.anim.dock_top_enter; + return R.anim.dock_top_enter; } } else if (win == mNavigationBar) { if (win.getAttrs().windowAnimations != 0) { @@ -6783,7 +6798,9 @@ public class PhoneWindowManager implements WindowManagerPolicy { @Override public boolean isScreenOn() { - return mScreenOnFully; + synchronized (mLock) { + return mScreenOnEarly; + } } /** {@inheritDoc} */ @@ -7229,6 +7246,8 @@ public class PhoneWindowManager implements WindowManagerPolicy { mSystemGestures.systemReady(); mImmersiveModeConfirmation.systemReady(); + + mAutofillManagerInternal = LocalServices.getService(AutofillManagerInternal.class); } /** {@inheritDoc} */ diff --git a/services/core/java/com/android/server/power/ShutdownThread.java b/services/core/java/com/android/server/power/ShutdownThread.java index 864e83ef1f86..02f2afcb0be8 100644 --- a/services/core/java/com/android/server/power/ShutdownThread.java +++ b/services/core/java/com/android/server/power/ShutdownThread.java @@ -256,7 +256,7 @@ public final class ShutdownThread extends Thread { ProgressDialog pd = new ProgressDialog(context); // Path 1: Reboot to recovery for update - // Condition: mReason == REBOOT_RECOVERY_UPDATE + // Condition: mReason startswith REBOOT_RECOVERY_UPDATE // // Path 1a: uncrypt needed // Condition: if /cache/recovery/uncrypt_file exists but @@ -276,7 +276,9 @@ public final class ShutdownThread extends Thread { // Path 3: Regular reboot / shutdown // Condition: Otherwise // UI: spinning circle only (no progress bar) - if (PowerManager.REBOOT_RECOVERY_UPDATE.equals(mReason)) { + + // mReason could be "recovery-update" or "recovery-update,quiescent". + if (mReason != null && mReason.startsWith(PowerManager.REBOOT_RECOVERY_UPDATE)) { // We need the progress bar if uncrypt will be invoked during the // reboot, which might be time-consuming. mRebootHasProgressBar = RecoverySystem.UNCRYPT_PACKAGE_FILE.exists() @@ -295,7 +297,7 @@ public final class ShutdownThread extends Thread { pd.setMessage(context.getText( com.android.internal.R.string.reboot_to_update_reboot)); } - } else if (PowerManager.REBOOT_RECOVERY.equals(mReason)) { + } else if (mReason != null && mReason.equals(PowerManager.REBOOT_RECOVERY)) { // Factory reset path. Set the dialog message accordingly. pd.setTitle(context.getText(com.android.internal.R.string.reboot_to_reset_title)); pd.setMessage(context.getText( @@ -389,7 +391,8 @@ public final class ShutdownThread extends Thread { // First send the high-level shut down broadcast. mActionDone = false; Intent intent = new Intent(Intent.ACTION_SHUTDOWN); - intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND); + intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND + | Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND); mContext.sendOrderedBroadcastAsUser(intent, UserHandle.ALL, null, br, mHandler, 0, null, null); diff --git a/services/core/java/com/android/server/wm/AlertWindowNotification.java b/services/core/java/com/android/server/wm/AlertWindowNotification.java index 7eebe39f4ee4..3f320793826f 100644 --- a/services/core/java/com/android/server/wm/AlertWindowNotification.java +++ b/services/core/java/com/android/server/wm/AlertWindowNotification.java @@ -63,12 +63,6 @@ class AlertWindowNotification { mNotificationTag = CHANNEL_PREFIX + mPackageName; mRequestCode = sNextRequestCode++; mIconUtilities = new IconUtilities(mService.mContext); - if (sChannelGroup == null) { - sChannelGroup = new NotificationChannelGroup(CHANNEL_PREFIX, - mService.mContext.getString( - R.string.alert_windows_notification_channel_group_name)); - mNotificationManager.createNotificationChannelGroup(sChannelGroup); - } } void post() { @@ -143,6 +137,13 @@ class AlertWindowNotification { } private void createNotificationChannel(Context context, String appName) { + if (sChannelGroup == null) { + sChannelGroup = new NotificationChannelGroup(CHANNEL_PREFIX, + mService.mContext.getString( + R.string.alert_windows_notification_channel_group_name)); + mNotificationManager.createNotificationChannelGroup(sChannelGroup); + } + final String nameChannel = context.getString(R.string.alert_windows_notification_channel_name, appName); final NotificationChannel channel = diff --git a/services/core/java/com/android/server/wm/AppTransition.java b/services/core/java/com/android/server/wm/AppTransition.java index 9d8f1241a7ae..c1c72cad0c6b 100644 --- a/services/core/java/com/android/server/wm/AppTransition.java +++ b/services/core/java/com/android/server/wm/AppTransition.java @@ -313,6 +313,7 @@ public class AppTransition implements Dump { mNextAppTransition = transit; mNextAppTransitionFlags |= flags; setLastAppTransition(TRANSIT_UNSET, null, null); + updateBooster(); } void setLastAppTransition(int transit, AppWindowToken openingApp, AppWindowToken closingApp) { @@ -327,7 +328,7 @@ public class AppTransition implements Dump { } void setReady() { - mAppTransitionState = APP_STATE_READY; + setAppTransitionState(APP_STATE_READY); fetchAppTransitionSpecsFromFuture(); } @@ -336,7 +337,7 @@ public class AppTransition implements Dump { } void setIdle() { - mAppTransitionState = APP_STATE_IDLE; + setAppTransitionState(APP_STATE_IDLE); } boolean isTimeout() { @@ -344,7 +345,7 @@ public class AppTransition implements Dump { } void setTimeout() { - mAppTransitionState = APP_STATE_TIMEOUT; + setAppTransitionState(APP_STATE_TIMEOUT); } GraphicBuffer getAppTransitionThumbnailHeader(int taskId) { @@ -386,7 +387,7 @@ public class AppTransition implements Dump { private boolean prepare() { if (!isRunning()) { - mAppTransitionState = APP_STATE_IDLE; + setAppTransitionState(APP_STATE_IDLE); notifyAppTransitionPendingLocked(); mLastHadClipReveal = false; mLastClipRevealMaxTranslation = 0; @@ -405,7 +406,7 @@ public class AppTransition implements Dump { ArraySet<AppWindowToken> closingApps) { mNextAppTransition = TRANSIT_UNSET; mNextAppTransitionFlags = 0; - mAppTransitionState = APP_STATE_RUNNING; + setAppTransitionState(APP_STATE_RUNNING); int redoLayout = notifyAppTransitionStartingLocked(transit, topOpeningAppAnimator != null ? topOpeningAppAnimator.mAppToken.token : null, topClosingAppAnimator != null ? topClosingAppAnimator.mAppToken.token : null, @@ -450,6 +451,22 @@ public class AppTransition implements Dump { notifyAppTransitionCancelledLocked(transit); } + private void setAppTransitionState(int state) { + mAppTransitionState = state; + updateBooster(); + } + + /** + * Updates whether we currently boost wm locked sections and the animation thread. We want to + * boost the priorities to a more important value whenever an app transition is going to happen + * soon or an app transition is running. + */ + private void updateBooster() { + WindowManagerService.sThreadPriorityBooster.setAppTransitionRunning( + mNextAppTransition != TRANSIT_UNSET || mAppTransitionState == APP_STATE_READY + || mAppTransitionState == APP_STATE_RUNNING); + } + void registerListenerLocked(AppTransitionListener listener) { mListeners.add(listener); } diff --git a/services/core/java/com/android/server/wm/AppWindowContainerController.java b/services/core/java/com/android/server/wm/AppWindowContainerController.java index 66401846c034..8cfbf68e3b5d 100644 --- a/services/core/java/com/android/server/wm/AppWindowContainerController.java +++ b/services/core/java/com/android/server/wm/AppWindowContainerController.java @@ -18,6 +18,8 @@ package com.android.server.wm; import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED; import static android.view.WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER; + +import static com.android.server.wm.AppTransition.TRANSIT_DOCK_TASK_FROM_RECENTS; import static com.android.server.wm.AppTransition.TRANSIT_UNSET; import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_ADD_REMOVE; import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_APP_TRANSITIONS; @@ -581,8 +583,12 @@ public class AppWindowContainerController private int getStartingWindowType(boolean newTask, boolean taskSwitch, boolean processRunning, boolean allowTaskSnapshot, boolean activityCreated) { - if (newTask || !processRunning - || (taskSwitch && !activityCreated)) { + if (mService.mAppTransition.getAppTransition() == TRANSIT_DOCK_TASK_FROM_RECENTS) { + // TODO(b/34099271): Remove this statement to add back the starting window and figure + // out why it causes flickering, the starting window appears over the thumbnail while + // the docked from recents transition occurs + return STARTING_WINDOW_TYPE_NONE; + } else if (newTask || !processRunning || (taskSwitch && !activityCreated)) { return STARTING_WINDOW_TYPE_SPLASH_SCREEN; } else if (taskSwitch && allowTaskSnapshot) { return STARTING_WINDOW_TYPE_SNAPSHOT; diff --git a/services/core/java/com/android/server/wm/BoundsAnimationController.java b/services/core/java/com/android/server/wm/BoundsAnimationController.java index 410efcdb5038..cff2fadd7649 100644 --- a/services/core/java/com/android/server/wm/BoundsAnimationController.java +++ b/services/core/java/com/android/server/wm/BoundsAnimationController.java @@ -20,6 +20,8 @@ import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_ANIM; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM; +import android.animation.AnimationHandler; +import android.animation.AnimationHandler.AnimationFrameCallbackProvider; import android.animation.Animator; import android.animation.ValueAnimator; import android.annotation.IntDef; @@ -30,11 +32,13 @@ import android.os.IBinder; import android.os.Debug; import android.util.ArrayMap; import android.util.Slog; +import android.view.Choreographer; import android.view.animation.AnimationUtils; import android.view.animation.Interpolator; import android.view.WindowManagerInternal; import com.android.internal.annotations.VisibleForTesting; +import com.android.internal.graphics.SfVsyncFrameCallbackProvider; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -49,7 +53,7 @@ import java.lang.annotation.RetentionPolicy; * * The object that is resized needs to implement {@link BoundsAnimationTarget} interface. * - * NOTE: All calls to methods in this class should be done on the UI thread + * NOTE: All calls to methods in this class should be done on the Animation thread */ public class BoundsAnimationController { private static final boolean DEBUG_LOCAL = false; @@ -111,20 +115,24 @@ public class BoundsAnimationController { private final AppTransitionNotifier mAppTransitionNotifier = new AppTransitionNotifier(); private final Interpolator mFastOutSlowInInterpolator; private boolean mFinishAnimationAfterTransition = false; + private final AnimationHandler mAnimationHandler; private static final int WAIT_FOR_DRAW_TIMEOUT_MS = 3000; - BoundsAnimationController(Context context, AppTransition transition, Handler handler) { + BoundsAnimationController(Context context, AppTransition transition, Handler handler, + AnimationHandler animationHandler) { mHandler = handler; mAppTransition = transition; mAppTransition.registerListenerLocked(mAppTransitionNotifier); mFastOutSlowInInterpolator = AnimationUtils.loadInterpolator(context, com.android.internal.R.interpolator.fast_out_slow_in); + mAnimationHandler = animationHandler; } @VisibleForTesting final class BoundsAnimator extends ValueAnimator implements ValueAnimator.AnimatorUpdateListener, ValueAnimator.AnimatorListener { + private final BoundsAnimationTarget mTarget; private final Rect mFrom = new Rect(); private final Rect mTo = new Rect(); @@ -198,6 +206,10 @@ public class BoundsAnimationController { mTmpRect.set(mFrom.left, mFrom.top, mFrom.left + mFrozenTaskWidth, mFrom.top + mFrozenTaskHeight); + // Boost the thread priority of the animation thread while the bounds animation is + // running + updateBooster(); + // Ensure that we have prepared the target for animation before // we trigger any size changes, so it can swap surfaces // in to appropriate modes, or do as it wishes otherwise. @@ -308,6 +320,9 @@ public class BoundsAnimationController { removeListener(this); removeUpdateListener(this); mRunningAnimations.remove(mTarget); + + // Reset the thread priority of the animation thread after the bounds animation is done + updateBooster(); } @Override @@ -350,6 +365,14 @@ public class BoundsAnimationController { public void onAnimationRepeat(Animator animation) { // Do nothing } + + @Override + public AnimationHandler getAnimationHandler() { + if (mAnimationHandler != null) { + return mAnimationHandler; + } + return super.getAnimationHandler(); + } } public void animateBounds(final BoundsAnimationTarget target, Rect from, Rect to, @@ -430,4 +453,9 @@ public class BoundsAnimationController { b.resume(); } } + + private void updateBooster() { + WindowManagerService.sThreadPriorityBooster.setBoundsAnimationRunning( + !mRunningAnimations.isEmpty()); + } } diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java index a8e0d761afc3..54983c8998fc 100644 --- a/services/core/java/com/android/server/wm/DisplayContent.java +++ b/services/core/java/com/android/server/wm/DisplayContent.java @@ -314,6 +314,9 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo // the display's direct children should be allowed. private boolean mRemovingDisplay = false; + // {@code false} if this display is in the processing of being created. + private boolean mDisplayReady = false; + private final WindowLayersController mLayersController; WallpaperController mWallpaperController; int mInputMethodAnimLayerAdjustment; @@ -720,7 +723,6 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo */ DisplayContent(Display display, WindowManagerService service, WindowLayersController layersController, WallpaperController wallpaperController) { - if (service.mRoot.getDisplayContent(display.getDisplayId()) != null) { throw new IllegalArgumentException("Display with ID=" + display.getDisplayId() + " already exists=" + service.mRoot.getDisplayContent(display.getDisplayId()) @@ -748,6 +750,15 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo // Add itself as a child to the root container. mService.mRoot.addChild(this, null); + + // TODO(b/62541591): evaluate whether this is the best spot to declare the + // {@link DisplayContent} ready for use. + mDisplayReady = true; + } + + boolean isReady() { + // The display is ready when the system and the individual display are both ready. + return mService.mDisplayReady && mDisplayReady; } int getDisplayId() { @@ -1162,8 +1173,6 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo final int dh = displayInfo.logicalHeight; config.orientation = (dw <= dh) ? Configuration.ORIENTATION_PORTRAIT : Configuration.ORIENTATION_LANDSCAPE; - config.setRotation(displayInfo.rotation); - config.screenWidthDp = (int)(mService.mPolicy.getConfigDisplayWidth(dw, dh, displayInfo.rotation, config.uiMode, mDisplayId) / mDisplayMetrics.density); diff --git a/services/core/java/com/android/server/wm/InputMonitor.java b/services/core/java/com/android/server/wm/InputMonitor.java index 3caf89d750c8..5057f632461c 100644 --- a/services/core/java/com/android/server/wm/InputMonitor.java +++ b/services/core/java/com/android/server/wm/InputMonitor.java @@ -254,6 +254,9 @@ final class InputMonitor implements InputManagerService.WindowManagerCallbacks { mService.saveANRStateLocked(appWindowToken, windowState, reason); } + // All the calls below need to happen without the WM lock held since they call into AM. + mService.mAmInternal.saveANRState(reason); + if (appWindowToken != null && appWindowToken.appToken != null) { // Notify the activity manager about the timeout and let it decide whether // to abort dispatching or keep waiting. diff --git a/services/core/java/com/android/server/wm/RootWindowContainer.java b/services/core/java/com/android/server/wm/RootWindowContainer.java index fb500bc256fd..233e75bbfec7 100644 --- a/services/core/java/com/android/server/wm/RootWindowContainer.java +++ b/services/core/java/com/android/server/wm/RootWindowContainer.java @@ -858,20 +858,14 @@ class RootWindowContainer extends WindowContainer<DisplayContent> { final int privateflags = attrs.privateFlags; boolean displayHasContent = false; - if (DEBUG_KEEP_SCREEN_ON && (attrFlags & FLAG_KEEP_SCREEN_ON) != 0 - && w != mService.mLastWakeLockHoldingWindow) { - Slog.d(TAG_KEEP_SCREEN_ON, "handleNotObscuredLocked: " + w - + " has FLAG_KEEP_SCREEN_ON set, hasSurface=" + w.mHasSurface - + ", canBeSeen=" + canBeSeen); - } - if (w.mHasSurface && canBeSeen) { if ((attrFlags & FLAG_KEEP_SCREEN_ON) != 0) { mHoldScreen = w.mSession; mHoldScreenWindow = w; } else if (DEBUG_KEEP_SCREEN_ON && w == mService.mLastWakeLockHoldingWindow) { Slog.d(TAG_KEEP_SCREEN_ON, "handleNotObscuredLocked: " + w + " was holding " - + "screen wakelock but no longer has FLAG_KEEP_SCREEN_ON!!!"); + + "screen wakelock but no longer has FLAG_KEEP_SCREEN_ON!!! called by" + + Debug.getCallers(10)); } if (!syswin && w.mAttrs.screenBrightness >= 0 && mScreenBrightness < 0) { mScreenBrightness = w.mAttrs.screenBrightness; diff --git a/services/core/java/com/android/server/wm/WindowAnimator.java b/services/core/java/com/android/server/wm/WindowAnimator.java index d85dd0c4cb2d..aabf2bed1dd4 100644 --- a/services/core/java/com/android/server/wm/WindowAnimator.java +++ b/services/core/java/com/android/server/wm/WindowAnimator.java @@ -83,10 +83,6 @@ public class WindowAnimator { // check if some got replaced and can be removed. private boolean mRemoveReplacedWindows = false; - private long mCurrentFrameTime; - private final Runnable mAnimationTick; - private final SurfaceFlingerVsyncChoreographer mSfChoreographer; - private Choreographer mChoreographer; /** @@ -95,45 +91,25 @@ public class WindowAnimator { */ private boolean mAnimationFrameCallbackScheduled; - /** - * Indicates whether we have an animation tick scheduled. The tick is the thing that actually - * executes the animation step, which will happen at vsync-sf. - */ - private boolean mAnimationTickScheduled; - WindowAnimator(final WindowManagerService service) { mService = service; mContext = service.mContext; mPolicy = service.mPolicy; mWindowPlacerLocked = service.mWindowPlacerLocked; AnimationThread.getHandler().runWithScissors( - () -> mChoreographer = Choreographer.getInstance(), 0 /* timeout */); + () -> mChoreographer = Choreographer.getSfInstance(), 0 /* timeout */); - // TODO: Multi-display: If displays have different vsync tick, have a separate tick per - // display. - mSfChoreographer = new SurfaceFlingerVsyncChoreographer(AnimationThread.getHandler(), - mService.getDefaultDisplayContentLocked().getDisplay(), mChoreographer); - mAnimationTick = () -> { - synchronized (mService.mWindowMap) { - mAnimationTickScheduled = false; - } - animate(mCurrentFrameTime); - }; mAnimationFrameCallback = frameTimeNs -> { synchronized (mService.mWindowMap) { - mCurrentFrameTime = frameTimeNs; mAnimationFrameCallbackScheduled = false; - if (mAnimationTickScheduled) { - return; - } - mAnimationTickScheduled = true; } - mSfChoreographer.scheduleAtSfVsync(mAnimationTick); + animate(frameTimeNs); }; } void addDisplayLocked(final int displayId) { - // Create the DisplayContentsAnimator object by retrieving it. + // Create the DisplayContentsAnimator object by retrieving it if the associated + // {@link DisplayContent} exists. getDisplayContentsAnimatorLocked(displayId); if (displayId == DEFAULT_DISPLAY) { mInitialized = true; @@ -381,8 +357,16 @@ public class WindowAnimator { } private DisplayContentsAnimator getDisplayContentsAnimatorLocked(int displayId) { + if (displayId < 0) { + return null; + } + DisplayContentsAnimator displayAnimator = mDisplayContentsAnimators.get(displayId); - if (displayAnimator == null) { + + // It is possible that this underlying {@link DisplayContent} has been removed. In this + // case, we do not want to create an animator associated with it as {link #animate} will + // fail. + if (displayAnimator == null && mService.mRoot.getDisplayContent(displayId) != null) { displayAnimator = new DisplayContentsAnimator(); mDisplayContentsAnimators.put(displayId, displayAnimator); } @@ -390,8 +374,10 @@ public class WindowAnimator { } void setScreenRotationAnimationLocked(int displayId, ScreenRotationAnimation animation) { - if (displayId >= 0) { - getDisplayContentsAnimatorLocked(displayId).mScreenRotationAnimation = animation; + final DisplayContentsAnimator animator = getDisplayContentsAnimatorLocked(displayId); + + if (animator != null) { + animator.mScreenRotationAnimation = animation; } } @@ -399,7 +385,9 @@ public class WindowAnimator { if (displayId < 0) { return null; } - return getDisplayContentsAnimatorLocked(displayId).mScreenRotationAnimation; + + DisplayContentsAnimator animator = getDisplayContentsAnimatorLocked(displayId); + return animator != null? animator.mScreenRotationAnimation : null; } void requestRemovalOfReplacedWindows(WindowState win) { @@ -422,7 +410,7 @@ public class WindowAnimator { } boolean isAnimationScheduled() { - return mAnimationFrameCallbackScheduled || mAnimationTickScheduled; + return mAnimationFrameCallbackScheduled; } Choreographer getChoreographer() { diff --git a/services/core/java/com/android/server/wm/WindowManagerDebugConfig.java b/services/core/java/com/android/server/wm/WindowManagerDebugConfig.java index 4da9c060fc4d..6d5673e283d8 100644 --- a/services/core/java/com/android/server/wm/WindowManagerDebugConfig.java +++ b/services/core/java/com/android/server/wm/WindowManagerDebugConfig.java @@ -77,5 +77,5 @@ public class WindowManagerDebugConfig { static final boolean DEBUG_UNKNOWN_APP_VISIBILITY = false; static final String TAG_KEEP_SCREEN_ON = "DebugKeepScreenOn"; - static final boolean DEBUG_KEEP_SCREEN_ON = true; + static final boolean DEBUG_KEEP_SCREEN_ON = false; } diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index 98910ea66ec3..41ddf0c093cd 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -103,6 +103,7 @@ import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM; import android.Manifest; import android.Manifest.permission; +import android.animation.AnimationHandler; import android.animation.ValueAnimator; import android.annotation.IntDef; import android.annotation.NonNull; @@ -158,6 +159,7 @@ import android.os.Trace; import android.os.UserHandle; import android.os.WorkSource; import android.provider.Settings; +import android.text.format.DateUtils; import android.util.ArraySet; import android.util.DisplayMetrics; import android.util.EventLog; @@ -210,6 +212,7 @@ import android.view.inputmethod.InputMethodManagerInternal; import com.android.internal.R; import com.android.internal.app.IAssistScreenshotReceiver; +import com.android.internal.graphics.SfVsyncFrameCallbackProvider; import com.android.internal.os.IResultReceiver; import com.android.internal.policy.IKeyguardDismissCallback; import com.android.internal.policy.IShortcutService; @@ -869,8 +872,8 @@ public class WindowManagerService extends IWindowManager.Stub // since they won't be notified through the app window animator. final List<IBinder> mNoAnimationNotifyOnTransitionFinished = new ArrayList<>(); - private static ThreadPriorityBooster sThreadPriorityBooster = new ThreadPriorityBooster( - THREAD_PRIORITY_DISPLAY, INDEX_WINDOW); + static WindowManagerThreadPriorityBooster sThreadPriorityBooster = + new WindowManagerThreadPriorityBooster(); static void boostPriorityForLockedSection() { sThreadPriorityBooster.boost(); @@ -1045,8 +1048,10 @@ public class WindowManagerService extends IWindowManager.Stub mAppTransition = new AppTransition(context, this); mAppTransition.registerListenerLocked(mActivityManagerAppTransitionNotifier); + final AnimationHandler animationHandler = new AnimationHandler(); + animationHandler.setProvider(new SfVsyncFrameCallbackProvider()); mBoundsAnimationController = new BoundsAnimationController(context, mAppTransition, - UiThread.getHandler()); + AnimationThread.getHandler(), animationHandler); mActivityManager = ActivityManager.getService(); mAmInternal = LocalServices.getService(ActivityManagerInternal.class); @@ -3600,8 +3605,16 @@ public class WindowManagerService extends IWindowManager.Stub // only allow disables from pids which have count on, etc. @Override public void showStrictModeViolation(boolean on) { - int pid = Binder.getCallingPid(); - mH.sendMessage(mH.obtainMessage(H.SHOW_STRICT_MODE_VIOLATION, on ? 1 : 0, pid)); + final int pid = Binder.getCallingPid(); + if (on) { + // Show the visualization, and enqueue a second message to tear it + // down if we don't hear back from the app. + mH.sendMessage(mH.obtainMessage(H.SHOW_STRICT_MODE_VIOLATION, 1, pid)); + mH.sendMessageDelayed(mH.obtainMessage(H.SHOW_STRICT_MODE_VIOLATION, 0, pid), + DateUtils.SECOND_IN_MILLIS); + } else { + mH.sendMessage(mH.obtainMessage(H.SHOW_STRICT_MODE_VIOLATION, 0, pid)); + } } private void showStrictModeViolation(int arg, int pid) { @@ -5107,6 +5120,7 @@ public class WindowManagerService extends IWindowManager.Stub synchronized (mWindowMap) { mLastANRState = null; } + mAmInternal.clearSavedANRState(); } break; case WALLPAPER_DRAW_PENDING_TIMEOUT: { @@ -5876,8 +5890,8 @@ public class WindowManagerService extends IWindowManager.Stub return; } - if (!mDisplayReady || !mPolicy.isScreenOn()) { - // No need to freeze the screen before the system is ready or if + if (!displayContent.isReady() || !mPolicy.isScreenOn()) { + // No need to freeze the screen before the display is ready, system is ready, or if // the screen is off. return; } @@ -6574,7 +6588,7 @@ public class WindowManagerService extends IWindowManager.Stub void saveANRStateLocked(AppWindowToken appWindowToken, WindowState windowState, String reason) { StringWriter sw = new StringWriter(); PrintWriter pw = new FastPrintWriter(sw, false, 1024); - pw.println(" ANR time: " + DateFormat.getInstance().format(new Date())); + pw.println(" ANR time: " + DateFormat.getDateTimeInstance().format(new Date())); if (appWindowToken != null) { pw.println(" Application at fault: " + appWindowToken.stringName); } diff --git a/services/core/java/com/android/server/wm/WindowManagerThreadPriorityBooster.java b/services/core/java/com/android/server/wm/WindowManagerThreadPriorityBooster.java new file mode 100644 index 000000000000..1b2eb465399a --- /dev/null +++ b/services/core/java/com/android/server/wm/WindowManagerThreadPriorityBooster.java @@ -0,0 +1,96 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License + */ + +package com.android.server.wm; + +import static android.os.Process.THREAD_PRIORITY_DISPLAY; +import static android.os.Process.myTid; +import static android.os.Process.setThreadPriority; + +import static com.android.server.LockGuard.INDEX_WINDOW; +import static com.android.server.am.ActivityManagerService.TOP_APP_PRIORITY_BOOST; + +import com.android.internal.annotations.GuardedBy; +import com.android.server.AnimationThread; +import com.android.server.ThreadPriorityBooster; + +/** + * Window manager version of {@link ThreadPriorityBooster} that boosts even more during app + * transitions. + */ +class WindowManagerThreadPriorityBooster extends ThreadPriorityBooster { + + private final Object mLock = new Object(); + + private final int mAnimationThreadId; + + @GuardedBy("mLock") + private boolean mAppTransitionRunning; + @GuardedBy("mLock") + private boolean mBoundsAnimationRunning; + + WindowManagerThreadPriorityBooster() { + super(THREAD_PRIORITY_DISPLAY, INDEX_WINDOW); + mAnimationThreadId = AnimationThread.get().getThreadId(); + } + + @Override + public void boost() { + + // Do not boost the animation thread. As the animation thread is changing priorities, + // boosting it might mess up the priority because we reset it the the previous priority. + if (myTid() == mAnimationThreadId) { + return; + } + super.boost(); + } + + @Override + public void reset() { + + // See comment in boost(). + if (myTid() == mAnimationThreadId) { + return; + } + super.reset(); + } + + void setAppTransitionRunning(boolean running) { + synchronized (mLock) { + if (mAppTransitionRunning != running) { + mAppTransitionRunning = running; + updatePriorityLocked(); + } + } + } + + void setBoundsAnimationRunning(boolean running) { + synchronized (mLock) { + if (mBoundsAnimationRunning != running) { + mBoundsAnimationRunning = running; + updatePriorityLocked(); + } + } + } + + @GuardedBy("mLock") + private void updatePriorityLocked() { + int priority = (mAppTransitionRunning || mBoundsAnimationRunning) + ? TOP_APP_PRIORITY_BOOST : THREAD_PRIORITY_DISPLAY; + setBoostToPriority(priority); + setThreadPriority(mAnimationThreadId, priority); + } +} diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index 1d08c2ec9151..f74948f8e7f0 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -2231,14 +2231,15 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP mWinAnimator.applyEnterAnimationLocked(); } - // always report back the new configuration - final Configuration globalConfig = mService.mRoot.getConfiguration(); - final Configuration overrideConfig = getMergedOverrideConfiguration(); - mergedConfiguration.setConfiguration(globalConfig, overrideConfig); - if (DEBUG_CONFIGURATION) Slog.i(TAG, "Window " + this - + " reporting new global config: " + globalConfig - + " merged override config: " + overrideConfig); - mLastReportedConfiguration.setTo(getConfiguration()); + if (isConfigChanged()) { + final Configuration globalConfig = mService.mRoot.getConfiguration(); + final Configuration overrideConfig = getMergedOverrideConfiguration(); + mergedConfiguration.setConfiguration(globalConfig, overrideConfig); + if (DEBUG_CONFIGURATION) Slog.i(TAG, "Window " + this + + " visible with new global config: " + globalConfig + + " merged override config: " + overrideConfig); + mLastReportedConfiguration.setTo(getConfiguration()); + } } void adjustStartingWindowFlags() { diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java index 272c11b985c5..eca285a1a27b 100644 --- a/services/java/com/android/server/SystemServer.java +++ b/services/java/com/android/server/SystemServer.java @@ -454,7 +454,7 @@ public final class SystemServer { // If '/cache/recovery/block.map' hasn't been created, stop the // reboot which will fail for sure, and get a chance to capture a // bugreport when that's still feasible. (Bug: 26444951) - if (PowerManager.REBOOT_RECOVERY_UPDATE.equals(reason)) { + if (reason != null && reason.startsWith(PowerManager.REBOOT_RECOVERY_UPDATE)) { File packageFile = new File(UNCRYPT_PACKAGE_FILE); if (packageFile.exists()) { String filename = null; diff --git a/services/retaildemo/java/com/android/server/retaildemo/RetailDemoModeService.java b/services/retaildemo/java/com/android/server/retaildemo/RetailDemoModeService.java index d9a937aa5a40..711d4d9d8a91 100644 --- a/services/retaildemo/java/com/android/server/retaildemo/RetailDemoModeService.java +++ b/services/retaildemo/java/com/android/server/retaildemo/RetailDemoModeService.java @@ -547,21 +547,25 @@ public class RetailDemoModeService extends SystemService { mSafeBootRestrictionInitialState = mInjector.getUserManager().hasUserRestriction( UserManager.DISALLOW_SAFE_BOOT, UserHandle.SYSTEM); mPackageVerifierEnableInitialState = Settings.Global.getInt(mInjector.getContentResolver(), - Settings.Global.PACKAGE_VERIFIER_ENABLE, 0); + Settings.Global.PACKAGE_VERIFIER_ENABLE, 1); } private void stopDemoMode() { - mDeviceInDemoMode = false; - mIsCarrierDemoMode = false; mPreloadAppsInstaller = null; mCameraIdsWithFlash = null; mInjector.destroyWakeLock(); unregisterBroadcastReceiver(); - mInjector.getUserManager().setUserRestriction(UserManager.DISALLOW_SAFE_BOOT, - mSafeBootRestrictionInitialState, UserHandle.SYSTEM); - Settings.Global.putInt(mInjector.getContentResolver(), - Settings.Global.PACKAGE_VERIFIER_ENABLE, mPackageVerifierEnableInitialState); + if (mDeviceInDemoMode) { + mInjector.getUserManager().setUserRestriction(UserManager.DISALLOW_SAFE_BOOT, + mSafeBootRestrictionInitialState, UserHandle.SYSTEM); + Settings.Global.putInt(mInjector.getContentResolver(), + Settings.Global.PACKAGE_VERIFIER_ENABLE, + mPackageVerifierEnableInitialState); + } + + mDeviceInDemoMode = false; + mIsCarrierDemoMode = false; } @Override diff --git a/services/tests/servicestests/src/com/android/server/locksettings/MockStorageManager.java b/services/tests/servicestests/src/com/android/server/locksettings/MockStorageManager.java index 89e18b4c2f41..40e114bfaef2 100644 --- a/services/tests/servicestests/src/com/android/server/locksettings/MockStorageManager.java +++ b/services/tests/servicestests/src/com/android/server/locksettings/MockStorageManager.java @@ -491,12 +491,12 @@ public class MockStorageManager implements IStorageManager { } @Override - public long getAllocatableBytes(String path, int flags) { + public long getAllocatableBytes(String path, int flags, String callingPackage) { throw new UnsupportedOperationException(); } @Override - public void allocateBytes(String path, long bytes, int flags) { + public void allocateBytes(String path, long bytes, int flags, String callingPackage) { throw new UnsupportedOperationException(); } @@ -504,5 +504,4 @@ public class MockStorageManager implements IStorageManager { public void secdiscard(String path) throws RemoteException { throw new UnsupportedOperationException(); } - } diff --git a/services/tests/servicestests/src/com/android/server/wm/BoundsAnimationControllerTests.java b/services/tests/servicestests/src/com/android/server/wm/BoundsAnimationControllerTests.java index ee09f4bf7b94..9d32496c7817 100644 --- a/services/tests/servicestests/src/com/android/server/wm/BoundsAnimationControllerTests.java +++ b/services/tests/servicestests/src/com/android/server/wm/BoundsAnimationControllerTests.java @@ -395,7 +395,7 @@ public class BoundsAnimationControllerTests extends WindowTestsBase { mMockAppTransition = new MockAppTransition(context); mMockAnimator = new MockValueAnimator(); mTarget = new TestBoundsAnimationTarget(); - mController = new BoundsAnimationController(context, mMockAppTransition, handler); + mController = new BoundsAnimationController(context, mMockAppTransition, handler, null); mDriver = new BoundsAnimationDriver(mController, mTarget); } diff --git a/services/usage/java/com/android/server/usage/StorageStatsService.java b/services/usage/java/com/android/server/usage/StorageStatsService.java index 562443f53546..9f4fb85f64c4 100644 --- a/services/usage/java/com/android/server/usage/StorageStatsService.java +++ b/services/usage/java/com/android/server/usage/StorageStatsService.java @@ -197,7 +197,7 @@ public class StorageStatsService extends IStorageStatsManager.Stub { // logic should be kept in sync with getAllocatableBytes(). if (isQuotaSupported(volumeUuid, callingPackage)) { final long cacheTotal = getCacheBytes(volumeUuid, callingPackage); - final long cacheReserved = mStorage.getStorageCacheBytes(path); + final long cacheReserved = mStorage.getStorageCacheBytes(path, 0); final long cacheClearable = Math.max(0, cacheTotal - cacheReserved); return path.getUsableSpace() + cacheClearable; diff --git a/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerHelper.java b/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerHelper.java index cb44471e3c0c..1d5fb55e254a 100644 --- a/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerHelper.java +++ b/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerHelper.java @@ -191,7 +191,7 @@ public class SoundTriggerHelper implements SoundTrigger.StatusListener { // Process existing model first. if (model != null && !model.getModelId().equals(soundModel.uuid)) { // The existing model has a different UUID, should be replaced. - int status = cleanUpExistingKeyphraseModel(model); + int status = cleanUpExistingKeyphraseModelLocked(model); if (status != STATUS_OK) { return status; } @@ -210,7 +210,7 @@ public class SoundTriggerHelper implements SoundTrigger.StatusListener { } } - private int cleanUpExistingKeyphraseModel(ModelData modelData) { + private int cleanUpExistingKeyphraseModelLocked(ModelData modelData) { // Stop and clean up a previous ModelData if one exists. This usually is used when the // previous model has a different UUID for the same keyphrase ID. int status = tryStopAndUnloadLocked(modelData, true /* stop */, true /* unload */); @@ -620,7 +620,7 @@ public class SoundTriggerHelper implements SoundTrigger.StatusListener { try { callback.onGenericSoundTriggerDetected((GenericRecognitionEvent) event); } catch (DeadObjectException e) { - forceStopAndUnloadModel(model, e); + forceStopAndUnloadModelLocked(model, e); return; } catch (RemoteException e) { Slog.w(TAG, "RemoteException in onGenericSoundTriggerDetected", e); @@ -710,7 +710,7 @@ public class SoundTriggerHelper implements SoundTrigger.StatusListener { try { modelData.getCallback().onRecognitionPaused(); } catch (DeadObjectException e) { - forceStopAndUnloadModel(modelData, e); + forceStopAndUnloadModelLocked(modelData, e); } catch (RemoteException e) { Slog.w(TAG, "RemoteException in onRecognitionPaused", e); } @@ -721,7 +721,7 @@ public class SoundTriggerHelper implements SoundTrigger.StatusListener { Slog.w(TAG, "Recognition failure"); MetricsLogger.count(mContext, "sth_recognition_failure_event", 1); try { - sendErrorCallbacksToAll(STATUS_ERROR); + sendErrorCallbacksToAllLocked(STATUS_ERROR); } finally { internalClearModelStateLocked(); internalClearGlobalStateLocked(); @@ -763,7 +763,7 @@ public class SoundTriggerHelper implements SoundTrigger.StatusListener { try { modelData.getCallback().onKeyphraseDetected((KeyphraseRecognitionEvent) event); } catch (DeadObjectException e) { - forceStopAndUnloadModel(modelData, e); + forceStopAndUnloadModelLocked(modelData, e); return; } catch (RemoteException e) { Slog.w(TAG, "RemoteException in onKeyphraseDetected", e); @@ -782,7 +782,9 @@ public class SoundTriggerHelper implements SoundTrigger.StatusListener { private void updateAllRecognitionsLocked(boolean notify) { boolean isAllowed = isRecognitionAllowed(); - for (ModelData modelData : mModelDataMap.values()) { + // updateRecognitionLocked can possibly update the list of models + ArrayList<ModelData> modelDatas = new ArrayList<ModelData>(mModelDataMap.values()); + for (ModelData modelData : modelDatas) { updateRecognitionLocked(modelData, isAllowed, notify); } } @@ -804,7 +806,7 @@ public class SoundTriggerHelper implements SoundTrigger.StatusListener { private void onServiceDiedLocked() { try { MetricsLogger.count(mContext, "sth_service_died", 1); - sendErrorCallbacksToAll(SoundTrigger.STATUS_DEAD_OBJECT); + sendErrorCallbacksToAllLocked(SoundTrigger.STATUS_DEAD_OBJECT); } finally { internalClearModelStateLocked(); internalClearGlobalStateLocked(); @@ -889,14 +891,14 @@ public class SoundTriggerHelper implements SoundTrigger.StatusListener { } // Sends an error callback to all models with a valid registered callback. - private void sendErrorCallbacksToAll(int errorCode) { + private void sendErrorCallbacksToAllLocked(int errorCode) { for (ModelData modelData : mModelDataMap.values()) { IRecognitionStatusCallback callback = modelData.getCallback(); if (callback != null) { try { callback.onError(errorCode); } catch (RemoteException e) { - Slog.w(TAG, "RemoteException sendErrorCallbacksToAll for model handle " + + Slog.w(TAG, "RemoteException sendErrorCallbacksToAllLocked for model handle " + modelData.getHandle(), e); } } @@ -909,8 +911,8 @@ public class SoundTriggerHelper implements SoundTrigger.StatusListener { * @param modelData The model data to remove. * @param exception Optional exception to print in logcat. May be null. */ - private void forceStopAndUnloadModel(ModelData modelData, Exception exception) { - forceStopAndUnloadModel(modelData, exception, null /* modelDataIterator */); + private void forceStopAndUnloadModelLocked(ModelData modelData, Exception exception) { + forceStopAndUnloadModelLocked(modelData, exception, null /* modelDataIterator */); } /** @@ -924,7 +926,7 @@ public class SoundTriggerHelper implements SoundTrigger.StatusListener { * ConcurrentModificationException, since this function will try and remove the model * data from the mModelDataMap when it can successfully unload the model. */ - private void forceStopAndUnloadModel(ModelData modelData, Exception exception, + private void forceStopAndUnloadModelLocked(ModelData modelData, Exception exception, Iterator modelDataIterator) { if (exception != null) { Slog.e(TAG, "forceStopAndUnloadModel", exception); @@ -973,7 +975,7 @@ public class SoundTriggerHelper implements SoundTrigger.StatusListener { && !modelData.getCallback().asBinder().pingBinder())) { // No one is listening on this model, so we might as well evict it. Slog.w(TAG, "Removing model " + modelData.getHandle() + " that has no clients"); - forceStopAndUnloadModel(modelData, null /* exception */, it); + forceStopAndUnloadModelLocked(modelData, null /* exception */, it); } } } @@ -1067,7 +1069,7 @@ public class SoundTriggerHelper implements SoundTrigger.StatusListener { try { callback.onError(status); } catch (DeadObjectException e) { - forceStopAndUnloadModel(modelData, e); + forceStopAndUnloadModelLocked(modelData, e); } catch (RemoteException e) { Slog.w(TAG, "RemoteException in onError", e); } @@ -1081,7 +1083,7 @@ public class SoundTriggerHelper implements SoundTrigger.StatusListener { try { callback.onRecognitionResumed(); } catch (DeadObjectException e) { - forceStopAndUnloadModel(modelData, e); + forceStopAndUnloadModelLocked(modelData, e); } catch (RemoteException e) { Slog.w(TAG, "RemoteException in onRecognitionResumed", e); } @@ -1108,7 +1110,7 @@ public class SoundTriggerHelper implements SoundTrigger.StatusListener { try { callback.onError(status); } catch (DeadObjectException e) { - forceStopAndUnloadModel(modelData, e); + forceStopAndUnloadModelLocked(modelData, e); } catch (RemoteException e) { Slog.w(TAG, "RemoteException in onError", e); } @@ -1121,7 +1123,7 @@ public class SoundTriggerHelper implements SoundTrigger.StatusListener { try { callback.onRecognitionPaused(); } catch (DeadObjectException e) { - forceStopAndUnloadModel(modelData, e); + forceStopAndUnloadModelLocked(modelData, e); } catch (RemoteException e) { Slog.w(TAG, "RemoteException in onRecognitionPaused", e); } diff --git a/telecomm/java/android/telecom/Call.java b/telecomm/java/android/telecom/Call.java index c1475784a9ac..a6bfbad8e053 100644 --- a/telecomm/java/android/telecom/Call.java +++ b/telecomm/java/android/telecom/Call.java @@ -19,6 +19,7 @@ package android.telecom; import android.annotation.IntDef; import android.annotation.Nullable; import android.annotation.SystemApi; +import android.annotation.TestApi; import android.net.Uri; import android.os.Bundle; import android.os.Handler; @@ -1076,12 +1077,17 @@ public final class Call { * @return A string containing text sent by the remote user, or {@code null} if the * conversation has been terminated or if there was an error while reading. */ - public String read() throws IOException { - int numRead = mReceiveStream.read(mReadBuffer, 0, READ_BUFFER_SIZE); - if (numRead < 0) { - return null; + public String read() { + try { + int numRead = mReceiveStream.read(mReadBuffer, 0, READ_BUFFER_SIZE); + if (numRead < 0) { + return null; + } + return new String(mReadBuffer, 0, numRead); + } catch (IOException e) { + Log.w(this, "Exception encountered when reading from InputStreamReader: %s", e); } - return new String(mReadBuffer, 0, numRead); + return null; } /** @@ -1089,7 +1095,9 @@ public final class Call { * be read. * @return A string containing text entered by the user, or {@code null} if the user has * not entered any new text yet. + * @hide */ + @TestApi public String readImmediately() throws IOException { if (mReceiveStream.ready()) { return read(); diff --git a/telecomm/java/android/telecom/Log.java b/telecomm/java/android/telecom/Log.java index 640c9e12079b..de205380c3a7 100644 --- a/telecomm/java/android/telecom/Log.java +++ b/telecomm/java/android/telecom/Log.java @@ -325,7 +325,8 @@ public class Log { return sEventManager; } - private static SessionManager getSessionManager() { + @VisibleForTesting + public static SessionManager getSessionManager() { // Checking for null again outside of synchronization because we only need to synchronize // during the lazy loading of the session logger. We don't need to synchronize elsewhere. if (sSessionManager == null) { diff --git a/telecomm/java/android/telecom/TelecomManager.java b/telecomm/java/android/telecom/TelecomManager.java index 331328d63841..b1eedf5cad4b 100644 --- a/telecomm/java/android/telecom/TelecomManager.java +++ b/telecomm/java/android/telecom/TelecomManager.java @@ -369,6 +369,15 @@ public class TelecomManager { public static final String EXTRA_IS_HANDOVER = "android.telecom.extra.IS_HANDOVER"; /** + * Parcelable extra used with {@link #EXTRA_IS_HANDOVER} to indicate the source + * {@link PhoneAccountHandle} when initiating a handover which {@link ConnectionService} + * the handover is from. + * @hide + */ + public static final String EXTRA_HANDOVER_FROM_PHONE_ACCOUNT = + "android.telecom.extra.HANDOVER_FROM_PHONE_ACCOUNT"; + + /** * Extra key specified in the {@link ConnectionRequest#getExtras()} when Telecom calls * {@link ConnectionService#onCreateOutgoingConnection(PhoneAccountHandle, ConnectionRequest)} * to inform the {@link ConnectionService} what the initial {@link CallAudioState} of the diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java index 237ed47cace1..56bc31506e28 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -1322,6 +1322,15 @@ public class CarrierConfigManager { "network_notification_delay_int"; /** + * When {@code true}, the carrier allows the user of the + * {@link TelephonyManager#sendUssdRequest(String, TelephonyManager.UssdResponseCallback, + * Handler)} API to perform USSD requests. {@code True} by default. + * @hide + */ + public static final String KEY_ALLOW_USSD_REQUESTS_VIA_TELEPHONY_MANAGER_BOOL = + "allow_ussd_requests_via_telephony_manager_bool"; + + /** * Indicates whether the carrier supports 3gpp call forwarding MMI codes while roaming. If * false, the user will be notified that call forwarding is not available when the MMI code * fails. @@ -1701,6 +1710,7 @@ public class CarrierConfigManager { sDefaults.putBoolean(KEY_PERSIST_LPP_MODE_BOOL, false); sDefaults.putStringArray(KEY_CARRIER_WIFI_STRING_ARRAY, null); sDefaults.putInt(KEY_PREF_NETWORK_NOTIFICATION_DELAY_INT, -1); + sDefaults.putBoolean(KEY_ALLOW_USSD_REQUESTS_VIA_TELEPHONY_MANAGER_BOOL, true); sDefaults.putBoolean(KEY_SUPPORT_3GPP_CALL_FORWARDING_WHILE_ROAMING_BOOL, true); sDefaults.putBoolean(KEY_NOTIFY_INTERNATIONAL_CALL_ON_WFC_BOOL, false); sDefaults.putBoolean(KEY_EDITABLE_TETHER_APN_BOOL, false); diff --git a/telephony/java/android/telephony/ims/stub/ImsCallSessionListenerImplBase.java b/telephony/java/android/telephony/ims/stub/ImsCallSessionListenerImplBase.java index 12228a19fcc8..6c18935d16ef 100644 --- a/telephony/java/android/telephony/ims/stub/ImsCallSessionListenerImplBase.java +++ b/telephony/java/android/telephony/ims/stub/ImsCallSessionListenerImplBase.java @@ -196,6 +196,23 @@ public class ImsCallSessionListenerImplBase extends IImsCallSessionListener.Stub } /** + * Notifies of a case where a {@link com.android.ims.internal.ImsCallSession} may potentially + * handover from one radio technology to another. + * @param session + * @param srcAccessTech The source radio access technology; one of the access technology + * constants defined in {@link android.telephony.ServiceState}. For + * example {@link android.telephony.ServiceState#RIL_RADIO_TECHNOLOGY_LTE}. + * @param targetAccessTech The target radio access technology; one of the access technology + * constants defined in {@link android.telephony.ServiceState}. For + * example {@link android.telephony.ServiceState#RIL_RADIO_TECHNOLOGY_LTE}. + */ + @Override + public void callSessionMayHandover(IImsCallSession session, int srcAccessTech, + int targetAccessTech) { + // no-op + } + + /** * Notifies of handover information for this call */ @Override diff --git a/telephony/java/com/android/ims/internal/IImsCallSessionListener.aidl b/telephony/java/com/android/ims/internal/IImsCallSessionListener.aidl index ad59c1d84794..831ab12fc3ea 100644 --- a/telephony/java/com/android/ims/internal/IImsCallSessionListener.aidl +++ b/telephony/java/com/android/ims/internal/IImsCallSessionListener.aidl @@ -106,6 +106,8 @@ interface IImsCallSessionListener { in int srcAccessTech, in int targetAccessTech, in ImsReasonInfo reasonInfo); void callSessionHandoverFailed(in IImsCallSession session, in int srcAccessTech, in int targetAccessTech, in ImsReasonInfo reasonInfo); + void callSessionMayHandover(in IImsCallSession session, + in int srcAccessTech, in int targetAccessTech); /** * Notifies the TTY mode change by remote party. diff --git a/telephony/java/com/android/ims/internal/ImsCallSession.java b/telephony/java/com/android/ims/internal/ImsCallSession.java index f20f7c881958..1736b80c562b 100644 --- a/telephony/java/com/android/ims/internal/ImsCallSession.java +++ b/telephony/java/com/android/ims/internal/ImsCallSession.java @@ -345,6 +345,24 @@ public class ImsCallSession { } /** + * Called when an {@link ImsCallSession} may handover from one radio technology to another. + * For example, the session may handover from WIFI to LTE if conditions are right. + * <p> + * If handover is attempted, + * {@link #callSessionHandover(ImsCallSession, int, int, ImsReasonInfo)} or + * {@link #callSessionHandoverFailed(ImsCallSession, int, int, ImsReasonInfo)} will be + * called to indicate the success or failure of the handover. + * + * @param session IMS session object + * @param srcAccessTech original access technology + * @param targetAccessTech new access technology + */ + public void callSessionMayHandover(ImsCallSession session, int srcAccessTech, + int targetAccessTech) { + // no-op + } + + /** * Called when session access technology changes * * @param session IMS session object @@ -1281,6 +1299,28 @@ public class ImsCallSession { } /** + * Notifies of a case where a {@link com.android.ims.internal.ImsCallSession} may + * potentially handover from one radio technology to another. + * @param session + * @param srcAccessTech The source radio access technology; one of the access technology + * constants defined in {@link android.telephony.ServiceState}. For + * example + * {@link android.telephony.ServiceState#RIL_RADIO_TECHNOLOGY_LTE}. + * @param targetAccessTech The target radio access technology; one of the access technology + * constants defined in {@link android.telephony.ServiceState}. For + * example + * {@link android.telephony.ServiceState#RIL_RADIO_TECHNOLOGY_LTE}. + */ + @Override + public void callSessionMayHandover(IImsCallSession session, + int srcAccessTech, int targetAccessTech) { + if (mListener != null) { + mListener.callSessionMayHandover(ImsCallSession.this, srcAccessTech, + targetAccessTech); + } + } + + /** * Notifies of handover information for this call */ @Override diff --git a/telephony/java/com/android/internal/telephony/IApnSourceService.aidl b/telephony/java/com/android/internal/telephony/IApnSourceService.aidl new file mode 100644 index 000000000000..07bb18b6cd1b --- /dev/null +++ b/telephony/java/com/android/internal/telephony/IApnSourceService.aidl @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.internal.telephony; + +import android.content.ContentValues; + +interface IApnSourceService { + /** Retreive APNs. */ + ContentValues[] getApns(); +} diff --git a/telephony/java/com/android/internal/telephony/TelephonyIntents.java b/telephony/java/com/android/internal/telephony/TelephonyIntents.java index 32d3f2705d27..034389088269 100644 --- a/telephony/java/com/android/internal/telephony/TelephonyIntents.java +++ b/telephony/java/com/android/internal/telephony/TelephonyIntents.java @@ -208,6 +208,9 @@ public class TelephonyIntents { * <dt>{@code PUK}</dt><dd>locked on PUK1</dd> * <dt>{@code NETWORK}</dt><dd>locked on network personalization</dd> * </dl> + * <dt>rebroadcastOnUnlock</dt> + * <dd>A boolean indicates a rebroadcast on unlock. optional extra, defaults to {@code false} + * if not specified </dd> * </dl> * * <p class="note"> @@ -219,6 +222,8 @@ public class TelephonyIntents { public static final String ACTION_SIM_STATE_CHANGED = Intent.ACTION_SIM_STATE_CHANGED; + public static final String EXTRA_REBROADCAST_ON_UNLOCK= "rebroadcastOnUnlock"; + /** * Broadcast Action: The time was set by the carrier (typically by the NITZ string). * This is a sticky broadcast. diff --git a/tests/JobSchedulerTestApp/res/layout/activity_main.xml b/tests/JobSchedulerTestApp/res/layout/activity_main.xml index 96e164103bce..41f977707097 100644 --- a/tests/JobSchedulerTestApp/res/layout/activity_main.xml +++ b/tests/JobSchedulerTestApp/res/layout/activity_main.xml @@ -73,10 +73,18 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal"> + <RadioButton android:id="@+id/checkbox_none" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/none"/> <RadioButton android:id="@+id/checkbox_any" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/any"/> + <RadioButton android:id="@+id/checkbox_metered" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/metered"/> <RadioButton android:id="@+id/checkbox_unmetered" android:layout_width="wrap_content" android:layout_height="wrap_content" diff --git a/tests/JobSchedulerTestApp/res/values/strings.xml b/tests/JobSchedulerTestApp/res/values/strings.xml index 90dd2b672fb2..866b61ecb308 100644 --- a/tests/JobSchedulerTestApp/res/values/strings.xml +++ b/tests/JobSchedulerTestApp/res/values/strings.xml @@ -30,7 +30,9 @@ limitations under the License. <string name="persisted_caption">Persisted:</string> <string name="constraints">Constraints</string> <string name="connectivity">Connectivity:</string> + <string name="none">None</string> <string name="any">Any</string> + <string name="metered">Metered</string> <string name="unmetered">WiFi</string> <string name="timing">Timing:</string> <string name="delay">Delay:</string> diff --git a/tests/JobSchedulerTestApp/src/com/android/demo/jobSchedulerApp/MainActivity.java b/tests/JobSchedulerTestApp/src/com/android/demo/jobSchedulerApp/MainActivity.java index 51cdbb585659..3dfdba719ce5 100644 --- a/tests/JobSchedulerTestApp/src/com/android/demo/jobSchedulerApp/MainActivity.java +++ b/tests/JobSchedulerTestApp/src/com/android/demo/jobSchedulerApp/MainActivity.java @@ -63,6 +63,7 @@ public class MainActivity extends Activity { mDeadlineEditText = findViewById(R.id.deadline_time); mWiFiConnectivityRadioButton = findViewById(R.id.checkbox_unmetered); mAnyConnectivityRadioButton = findViewById(R.id.checkbox_any); + mCellConnectivityRadioButton = findViewById(R.id.checkbox_metered); mRequiresChargingCheckBox = findViewById(R.id.checkbox_charging); mRequiresIdleCheckbox = findViewById(R.id.checkbox_idle); mIsPersistedCheckbox = findViewById(R.id.checkbox_persisted); @@ -85,6 +86,7 @@ public class MainActivity extends Activity { EditText mDeadlineEditText; RadioButton mWiFiConnectivityRadioButton; RadioButton mAnyConnectivityRadioButton; + RadioButton mCellConnectivityRadioButton; CheckBox mRequiresChargingCheckBox; CheckBox mRequiresIdleCheckbox; CheckBox mIsPersistedCheckbox; @@ -141,9 +143,12 @@ public class MainActivity extends Activity { builder.setOverrideDeadline(Long.parseLong(deadline) * 1000); } boolean requiresUnmetered = mWiFiConnectivityRadioButton.isChecked(); + boolean requiresMetered = mCellConnectivityRadioButton.isChecked(); boolean requiresAnyConnectivity = mAnyConnectivityRadioButton.isChecked(); if (requiresUnmetered) { builder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_UNMETERED); + } else if (requiresMetered) { + builder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_METERED); } else if (requiresAnyConnectivity) { builder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY); } diff --git a/tests/JobSchedulerTestApp/src/com/android/demo/jobSchedulerApp/service/TestJobService.java b/tests/JobSchedulerTestApp/src/com/android/demo/jobSchedulerApp/service/TestJobService.java index 9df11fe90553..b698a3a53ff1 100644 --- a/tests/JobSchedulerTestApp/src/com/android/demo/jobSchedulerApp/service/TestJobService.java +++ b/tests/JobSchedulerTestApp/src/com/android/demo/jobSchedulerApp/service/TestJobService.java @@ -81,7 +81,8 @@ public class TestJobService extends JobService { @Override public boolean onStartJob(JobParameters params) { - Log.i(TAG, "on start job: " + params.getJobId()); + Log.i(TAG, "on start job: " + params.getJobId() + + " deadline?=" + params.isOverrideDeadlineExpired()); currentId++; jobParamsMap.put(currentId, params); final int currId = this.currentId; diff --git a/tests/net/java/com/android/server/connectivity/TetheringTest.java b/tests/net/java/com/android/server/connectivity/TetheringTest.java index b6922d4be6ff..f9a30e938023 100644 --- a/tests/net/java/com/android/server/connectivity/TetheringTest.java +++ b/tests/net/java/com/android/server/connectivity/TetheringTest.java @@ -42,6 +42,7 @@ import android.content.Context; import android.content.ContextWrapper; import android.content.Intent; import android.content.IntentFilter; +import android.content.pm.ApplicationInfo; import android.content.res.Resources; import android.hardware.usb.UsbManager; import android.net.ConnectivityManager; @@ -85,6 +86,7 @@ import java.util.Vector; public class TetheringTest { private static final String[] PROVISIONING_APP_NAME = {"some", "app"}; + @Mock private ApplicationInfo mApplicationInfo; @Mock private Context mContext; @Mock private ConnectivityManager mConnectivityManager; @Mock private INetworkManagementService mNMService; @@ -116,6 +118,9 @@ public class TetheringTest { } @Override + public ApplicationInfo getApplicationInfo() { return mApplicationInfo; } + + @Override public ContentResolver getContentResolver() { return mContentResolver; } @Override @@ -240,10 +245,7 @@ public class TetheringTest { mServiceContext.sendStickyBroadcastAsUser(intent, UserHandle.ALL); } - private void verifyInterfaceServingModeStarted(boolean ifnameKnown) throws Exception { - if (!ifnameKnown) { - verify(mNMService, times(1)).listInterfaces(); - } + private void verifyInterfaceServingModeStarted() throws Exception { verify(mNMService, times(1)).getInterfaceConfig(mTestIfname); verify(mNMService, times(1)) .setInterfaceConfig(eq(mTestIfname), any(InterfaceConfiguration.class)); @@ -259,21 +261,36 @@ public class TetheringTest { mIntents.remove(bcast); } - public void workingLocalOnlyHotspot(boolean enrichedApBroadcast) throws Exception { + @Test + public void failingLocalOnlyHotspotLegacyApBroadcast() throws Exception { when(mConnectivityManager.isTetheringSupported()).thenReturn(true); // Emulate externally-visible WifiManager effects, causing the // per-interface state machine to start up, and telling us that // hotspot mode is to be started. mTethering.interfaceStatusChanged(mTestIfname, true); - if (enrichedApBroadcast) { - sendWifiApStateChanged(WIFI_AP_STATE_ENABLED, mTestIfname, IFACE_IP_MODE_LOCAL_ONLY); - } else { - sendWifiApStateChanged(WIFI_AP_STATE_ENABLED); - } + sendWifiApStateChanged(WIFI_AP_STATE_ENABLED); + mLooper.dispatchAll(); + + verify(mConnectivityManager, atLeastOnce()).isTetheringSupported(); + verifyTetheringBroadcast(mTestIfname, ConnectivityManager.EXTRA_AVAILABLE_TETHER); + verifyNoMoreInteractions(mConnectivityManager); + verifyNoMoreInteractions(mNMService); + verifyNoMoreInteractions(mWifiManager); + } + + @Test + public void workingLocalOnlyHotspotEnrichedApBroadcast() throws Exception { + when(mConnectivityManager.isTetheringSupported()).thenReturn(true); + + // Emulate externally-visible WifiManager effects, causing the + // per-interface state machine to start up, and telling us that + // hotspot mode is to be started. + mTethering.interfaceStatusChanged(mTestIfname, true); + sendWifiApStateChanged(WIFI_AP_STATE_ENABLED, mTestIfname, IFACE_IP_MODE_LOCAL_ONLY); mLooper.dispatchAll(); - verifyInterfaceServingModeStarted(enrichedApBroadcast); + verifyInterfaceServingModeStarted(); verifyTetheringBroadcast(mTestIfname, ConnectivityManager.EXTRA_AVAILABLE_TETHER); verify(mNMService, times(1)).setIpForwardingEnabled(true); verify(mNMService, times(1)).startTethering(any(String[].class)); @@ -314,16 +331,34 @@ public class TetheringTest { } @Test - public void workingLocalOnlyHotspotLegacyApBroadcast() throws Exception { - workingLocalOnlyHotspot(false); - } + public void failingWifiTetheringLegacyApBroadcast() throws Exception { + when(mConnectivityManager.isTetheringSupported()).thenReturn(true); + when(mWifiManager.startSoftAp(any(WifiConfiguration.class))).thenReturn(true); - @Test - public void workingLocalOnlyHotspotEnrichedApBroadcast() throws Exception { - workingLocalOnlyHotspot(true); + // Emulate pressing the WiFi tethering button. + mTethering.startTethering(ConnectivityManager.TETHERING_WIFI, null, false); + mLooper.dispatchAll(); + verify(mWifiManager, times(1)).startSoftAp(null); + verifyNoMoreInteractions(mWifiManager); + verifyNoMoreInteractions(mConnectivityManager); + verifyNoMoreInteractions(mNMService); + + // Emulate externally-visible WifiManager effects, causing the + // per-interface state machine to start up, and telling us that + // tethering mode is to be started. + mTethering.interfaceStatusChanged(mTestIfname, true); + sendWifiApStateChanged(WIFI_AP_STATE_ENABLED); + mLooper.dispatchAll(); + + verify(mConnectivityManager, atLeastOnce()).isTetheringSupported(); + verifyTetheringBroadcast(mTestIfname, ConnectivityManager.EXTRA_AVAILABLE_TETHER); + verifyNoMoreInteractions(mConnectivityManager); + verifyNoMoreInteractions(mNMService); + verifyNoMoreInteractions(mWifiManager); } - public void workingWifiTethering(boolean enrichedApBroadcast) throws Exception { + @Test + public void workingWifiTetheringEnrichedApBroadcast() throws Exception { when(mConnectivityManager.isTetheringSupported()).thenReturn(true); when(mWifiManager.startSoftAp(any(WifiConfiguration.class))).thenReturn(true); @@ -339,14 +374,10 @@ public class TetheringTest { // per-interface state machine to start up, and telling us that // tethering mode is to be started. mTethering.interfaceStatusChanged(mTestIfname, true); - if (enrichedApBroadcast) { - sendWifiApStateChanged(WIFI_AP_STATE_ENABLED, mTestIfname, IFACE_IP_MODE_TETHERED); - } else { - sendWifiApStateChanged(WIFI_AP_STATE_ENABLED); - } + sendWifiApStateChanged(WIFI_AP_STATE_ENABLED, mTestIfname, IFACE_IP_MODE_TETHERED); mLooper.dispatchAll(); - verifyInterfaceServingModeStarted(enrichedApBroadcast); + verifyInterfaceServingModeStarted(); verifyTetheringBroadcast(mTestIfname, ConnectivityManager.EXTRA_AVAILABLE_TETHER); verify(mNMService, times(1)).setIpForwardingEnabled(true); verify(mNMService, times(1)).startTethering(any(String[].class)); @@ -408,16 +439,6 @@ public class TetheringTest { } @Test - public void workingWifiTetheringLegacyApBroadcast() throws Exception { - workingWifiTethering(false); - } - - @Test - public void workingWifiTetheringEnrichedApBroadcast() throws Exception { - workingWifiTethering(true); - } - - @Test public void failureEnablingIpForwarding() throws Exception { when(mConnectivityManager.isTetheringSupported()).thenReturn(true); when(mWifiManager.startSoftAp(any(WifiConfiguration.class))).thenReturn(true); @@ -435,11 +456,9 @@ public class TetheringTest { // per-interface state machine to start up, and telling us that // tethering mode is to be started. mTethering.interfaceStatusChanged(mTestIfname, true); - sendWifiApStateChanged(WifiManager.WIFI_AP_STATE_ENABLED); + sendWifiApStateChanged(WIFI_AP_STATE_ENABLED, mTestIfname, IFACE_IP_MODE_TETHERED); mLooper.dispatchAll(); - // Activity caused by test_wlan0 becoming available. - verify(mNMService, times(1)).listInterfaces(); // We verify get/set called twice here: once for setup and once during // teardown because all events happen over the course of the single // dispatchAll() above. diff --git a/tests/net/java/com/android/server/connectivity/tethering/OffloadControllerTest.java b/tests/net/java/com/android/server/connectivity/tethering/OffloadControllerTest.java index c535c455e7a8..4d340d1eff33 100644 --- a/tests/net/java/com/android/server/connectivity/tethering/OffloadControllerTest.java +++ b/tests/net/java/com/android/server/connectivity/tethering/OffloadControllerTest.java @@ -30,6 +30,7 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.when; import android.content.Context; +import android.content.pm.ApplicationInfo; import android.net.LinkAddress; import android.net.LinkProperties; import android.net.RouteInfo; @@ -59,15 +60,17 @@ import org.mockito.MockitoAnnotations; public class OffloadControllerTest { @Mock private OffloadHardwareInterface mHardware; + @Mock private ApplicationInfo mApplicationInfo; @Mock private Context mContext; final ArgumentCaptor<ArrayList> mStringArrayCaptor = ArgumentCaptor.forClass(ArrayList.class); private MockContentResolver mContentResolver; @Before public void setUp() throws Exception { MockitoAnnotations.initMocks(this); + when(mContext.getApplicationInfo()).thenReturn(mApplicationInfo); + when(mContext.getPackageName()).thenReturn("OffloadControllerTest"); mContentResolver = new MockContentResolver(mContext); mContentResolver.addProvider(Settings.AUTHORITY, new FakeSettingsProvider()); - when(mContext.getPackageName()).thenReturn("OffloadControllerTest"); when(mContext.getContentResolver()).thenReturn(mContentResolver); } diff --git a/tests/net/java/com/android/server/connectivity/tethering/TetherInterfaceStateMachineTest.java b/tests/net/java/com/android/server/connectivity/tethering/TetherInterfaceStateMachineTest.java index 27e683c0881c..57c258f8f289 100644 --- a/tests/net/java/com/android/server/connectivity/tethering/TetherInterfaceStateMachineTest.java +++ b/tests/net/java/com/android/server/connectivity/tethering/TetherInterfaceStateMachineTest.java @@ -16,7 +16,9 @@ package com.android.server.connectivity.tethering; +import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyString; +import static org.mockito.Matchers.eq; import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.inOrder; import static org.mockito.Mockito.reset; @@ -38,6 +40,7 @@ import static com.android.server.connectivity.tethering.IControlsTethering.STATE import android.net.ConnectivityManager; import android.net.INetworkStatsService; import android.net.InterfaceConfiguration; +import android.net.LinkProperties; import android.net.util.SharedLog; import android.os.INetworkManagementService; import android.os.RemoteException; @@ -103,8 +106,9 @@ public class TetherInterfaceStateMachineTest { mIPv6TetheringInterfaceServices); mTestedSm.start(); mLooper.dispatchAll(); - verify(mTetherHelper).notifyInterfaceStateChange( - IFACE_NAME, mTestedSm, STATE_AVAILABLE, TETHER_ERROR_NO_ERROR); + verify(mTetherHelper).updateInterfaceState( + mTestedSm, STATE_AVAILABLE, TETHER_ERROR_NO_ERROR); + verify(mTetherHelper).updateLinkProperties(eq(mTestedSm), any(LinkProperties.class)); verifyNoMoreInteractions(mTetherHelper, mNMService, mStatsService); } @@ -133,8 +137,9 @@ public class TetherInterfaceStateMachineTest { initStateMachine(TETHERING_BLUETOOTH); dispatchCommand(TetherInterfaceStateMachine.CMD_INTERFACE_DOWN); - verify(mTetherHelper).notifyInterfaceStateChange( - IFACE_NAME, mTestedSm, STATE_UNAVAILABLE, TETHER_ERROR_NO_ERROR); + verify(mTetherHelper).updateInterfaceState( + mTestedSm, STATE_UNAVAILABLE, TETHER_ERROR_NO_ERROR); + verify(mTetherHelper).updateLinkProperties(eq(mTestedSm), any(LinkProperties.class)); verifyNoMoreInteractions(mNMService, mStatsService, mTetherHelper); } @@ -145,8 +150,10 @@ public class TetherInterfaceStateMachineTest { dispatchCommand(TetherInterfaceStateMachine.CMD_TETHER_REQUESTED, STATE_TETHERED); InOrder inOrder = inOrder(mTetherHelper, mNMService); inOrder.verify(mNMService).tetherInterface(IFACE_NAME); - inOrder.verify(mTetherHelper).notifyInterfaceStateChange( - IFACE_NAME, mTestedSm, STATE_TETHERED, TETHER_ERROR_NO_ERROR); + inOrder.verify(mTetherHelper).updateInterfaceState( + mTestedSm, STATE_TETHERED, TETHER_ERROR_NO_ERROR); + inOrder.verify(mTetherHelper).updateLinkProperties( + eq(mTestedSm), any(LinkProperties.class)); verifyNoMoreInteractions(mNMService, mStatsService, mTetherHelper); } @@ -157,8 +164,10 @@ public class TetherInterfaceStateMachineTest { dispatchCommand(TetherInterfaceStateMachine.CMD_TETHER_UNREQUESTED); InOrder inOrder = inOrder(mNMService, mStatsService, mTetherHelper); inOrder.verify(mNMService).untetherInterface(IFACE_NAME); - inOrder.verify(mTetherHelper).notifyInterfaceStateChange( - IFACE_NAME, mTestedSm, STATE_AVAILABLE, TETHER_ERROR_NO_ERROR); + inOrder.verify(mTetherHelper).updateInterfaceState( + mTestedSm, STATE_AVAILABLE, TETHER_ERROR_NO_ERROR); + inOrder.verify(mTetherHelper).updateLinkProperties( + eq(mTestedSm), any(LinkProperties.class)); verifyNoMoreInteractions(mNMService, mStatsService, mTetherHelper); } @@ -171,8 +180,10 @@ public class TetherInterfaceStateMachineTest { inOrder.verify(mNMService).getInterfaceConfig(IFACE_NAME); inOrder.verify(mNMService).setInterfaceConfig(IFACE_NAME, mInterfaceConfiguration); inOrder.verify(mNMService).tetherInterface(IFACE_NAME); - inOrder.verify(mTetherHelper).notifyInterfaceStateChange( - IFACE_NAME, mTestedSm, STATE_TETHERED, TETHER_ERROR_NO_ERROR); + inOrder.verify(mTetherHelper).updateInterfaceState( + mTestedSm, STATE_TETHERED, TETHER_ERROR_NO_ERROR); + inOrder.verify(mTetherHelper).updateLinkProperties( + eq(mTestedSm), any(LinkProperties.class)); verifyNoMoreInteractions(mNMService, mStatsService, mTetherHelper); } @@ -180,7 +191,8 @@ public class TetherInterfaceStateMachineTest { public void handlesFirstUpstreamChange() throws Exception { initTetheredStateMachine(TETHERING_BLUETOOTH, null); - // Telling the state machine about its upstream interface triggers a little more configuration. + // Telling the state machine about its upstream interface triggers + // a little more configuration. dispatchTetherConnectionChanged(UPSTREAM_IFACE); InOrder inOrder = inOrder(mNMService); inOrder.verify(mNMService).enableNat(IFACE_NAME, UPSTREAM_IFACE); @@ -248,8 +260,10 @@ public class TetherInterfaceStateMachineTest { inOrder.verify(mNMService).stopInterfaceForwarding(IFACE_NAME, UPSTREAM_IFACE); inOrder.verify(mNMService).disableNat(IFACE_NAME, UPSTREAM_IFACE); inOrder.verify(mNMService).untetherInterface(IFACE_NAME); - inOrder.verify(mTetherHelper).notifyInterfaceStateChange( - IFACE_NAME, mTestedSm, STATE_AVAILABLE, TETHER_ERROR_NO_ERROR); + inOrder.verify(mTetherHelper).updateInterfaceState( + mTestedSm, STATE_AVAILABLE, TETHER_ERROR_NO_ERROR); + inOrder.verify(mTetherHelper).updateLinkProperties( + eq(mTestedSm), any(LinkProperties.class)); verifyNoMoreInteractions(mNMService, mStatsService, mTetherHelper); } @@ -266,8 +280,10 @@ public class TetherInterfaceStateMachineTest { usbTeardownOrder.verify(mInterfaceConfiguration).setInterfaceDown(); usbTeardownOrder.verify(mNMService).setInterfaceConfig( IFACE_NAME, mInterfaceConfiguration); - usbTeardownOrder.verify(mTetherHelper).notifyInterfaceStateChange( - IFACE_NAME, mTestedSm, STATE_UNAVAILABLE, TETHER_ERROR_NO_ERROR); + usbTeardownOrder.verify(mTetherHelper).updateInterfaceState( + mTestedSm, STATE_UNAVAILABLE, TETHER_ERROR_NO_ERROR); + usbTeardownOrder.verify(mTetherHelper).updateLinkProperties( + eq(mTestedSm), any(LinkProperties.class)); } } @@ -281,8 +297,10 @@ public class TetherInterfaceStateMachineTest { usbTeardownOrder.verify(mInterfaceConfiguration).setInterfaceDown(); usbTeardownOrder.verify(mNMService).setInterfaceConfig( IFACE_NAME, mInterfaceConfiguration); - usbTeardownOrder.verify(mTetherHelper).notifyInterfaceStateChange( - IFACE_NAME, mTestedSm, STATE_AVAILABLE, TETHER_ERROR_TETHER_IFACE_ERROR); + usbTeardownOrder.verify(mTetherHelper).updateInterfaceState( + mTestedSm, STATE_AVAILABLE, TETHER_ERROR_TETHER_IFACE_ERROR); + usbTeardownOrder.verify(mTetherHelper).updateLinkProperties( + eq(mTestedSm), any(LinkProperties.class)); } @Test @@ -294,8 +312,10 @@ public class TetherInterfaceStateMachineTest { InOrder usbTeardownOrder = inOrder(mNMService, mInterfaceConfiguration, mTetherHelper); usbTeardownOrder.verify(mInterfaceConfiguration).setInterfaceDown(); usbTeardownOrder.verify(mNMService).setInterfaceConfig(IFACE_NAME, mInterfaceConfiguration); - usbTeardownOrder.verify(mTetherHelper).notifyInterfaceStateChange( - IFACE_NAME, mTestedSm, STATE_AVAILABLE, TETHER_ERROR_ENABLE_NAT_ERROR); + usbTeardownOrder.verify(mTetherHelper).updateInterfaceState( + mTestedSm, STATE_AVAILABLE, TETHER_ERROR_ENABLE_NAT_ERROR); + usbTeardownOrder.verify(mTetherHelper).updateLinkProperties( + eq(mTestedSm), any(LinkProperties.class)); } @Test diff --git a/wifi/java/android/net/wifi/aware/DiscoverySession.java b/wifi/java/android/net/wifi/aware/DiscoverySession.java index 8a4ef23238f5..06e3867e4ee3 100644 --- a/wifi/java/android/net/wifi/aware/DiscoverySession.java +++ b/wifi/java/android/net/wifi/aware/DiscoverySession.java @@ -342,8 +342,8 @@ public class DiscoverySession implements AutoCloseable { */ public NetworkSpecifier createNetworkSpecifierPassphrase( @Nullable PeerHandle peerHandle, @NonNull String passphrase) { - if (passphrase == null || passphrase.length() == 0) { - throw new IllegalArgumentException("Passphrase must not be null or empty"); + if (!WifiAwareUtils.validatePassphrase(passphrase)) { + throw new IllegalArgumentException("Passphrase must meet length requirements"); } if (mTerminated) { @@ -405,8 +405,8 @@ public class DiscoverySession implements AutoCloseable { @SystemApi public NetworkSpecifier createNetworkSpecifierPmk(@Nullable PeerHandle peerHandle, @NonNull byte[] pmk) { - if (pmk == null || pmk.length == 0) { - throw new IllegalArgumentException("PMK must not be null or empty"); + if (!WifiAwareUtils.validatePmk(pmk)) { + throw new IllegalArgumentException("PMK must 32 bytes"); } if (mTerminated) { diff --git a/wifi/java/android/net/wifi/aware/WifiAwareSession.java b/wifi/java/android/net/wifi/aware/WifiAwareSession.java index 678d2e645901..428c8bbe20e5 100644 --- a/wifi/java/android/net/wifi/aware/WifiAwareSession.java +++ b/wifi/java/android/net/wifi/aware/WifiAwareSession.java @@ -67,6 +67,7 @@ public class WifiAwareSession implements AutoCloseable { * An application may re-attach after a destroy using * {@link WifiAwareManager#attach(AttachCallback, Handler)} . */ + @Override public void close() { WifiAwareManager mgr = mMgr.get(); if (mgr == null) { @@ -269,9 +270,10 @@ public class WifiAwareSession implements AutoCloseable { Log.e(TAG, "createNetworkSpecifierPassphrase: called after termination"); return null; } - if (passphrase == null || passphrase.length() == 0) { - throw new IllegalArgumentException("Passphrase must not be null or empty"); + if (!WifiAwareUtils.validatePassphrase(passphrase)) { + throw new IllegalArgumentException("Passphrase must meet length requirements"); } + return mgr.createNetworkSpecifier(mClientId, role, peer, null, passphrase); } @@ -319,8 +321,8 @@ public class WifiAwareSession implements AutoCloseable { Log.e(TAG, "createNetworkSpecifierPmk: called after termination"); return null; } - if (pmk == null || pmk.length == 0) { - throw new IllegalArgumentException("PMK must not be null or empty"); + if (!WifiAwareUtils.validatePmk(pmk)) { + throw new IllegalArgumentException("PMK must 32 bytes"); } return mgr.createNetworkSpecifier(mClientId, role, peer, pmk, null); } diff --git a/wifi/java/android/net/wifi/aware/WifiAwareUtils.java b/wifi/java/android/net/wifi/aware/WifiAwareUtils.java index 40833887c09e..fda7a9abc318 100644 --- a/wifi/java/android/net/wifi/aware/WifiAwareUtils.java +++ b/wifi/java/android/net/wifi/aware/WifiAwareUtils.java @@ -16,6 +16,8 @@ package android.net.wifi.aware; +import android.hardware.wifi.V1_0.Constants; + /** * Provides utilities for the Wifi Aware manager/service. * @@ -51,4 +53,35 @@ public class WifiAwareUtils { ++index; } } + + /** + * Validates that the passphrase is a non-null string of the right size (per the HAL min/max + * length parameters). + * + * @param passphrase Passphrase to test + * @return true if passphrase is valid, false if not + */ + public static boolean validatePassphrase(String passphrase) { + if (passphrase == null + || passphrase.length() < Constants.NanParamSizeLimits.MIN_PASSPHRASE_LENGTH + || passphrase.length() > Constants.NanParamSizeLimits.MAX_PASSPHRASE_LENGTH) { + return false; + } + + return true; + } + + /** + * Validates that the PMK is a non-null byte array of the right size (32 bytes per spec). + * + * @param pmk PMK to test + * @return true if PMK is valid, false if not + */ + public static boolean validatePmk(byte[] pmk) { + if (pmk == null || pmk.length != 32) { + return false; + } + + return true; + } } diff --git a/wifi/java/android/net/wifi/p2p/WifiP2pManager.java b/wifi/java/android/net/wifi/p2p/WifiP2pManager.java index 7f085f71e99c..f596eef1bf21 100644 --- a/wifi/java/android/net/wifi/p2p/WifiP2pManager.java +++ b/wifi/java/android/net/wifi/p2p/WifiP2pManager.java @@ -683,7 +683,7 @@ public class WifiP2pManager { private DnsSdTxtRecordListener mDnsSdTxtListener; private UpnpServiceResponseListener mUpnpServRspListener; private HashMap<Integer, Object> mListenerMap = new HashMap<Integer, Object>(); - private Object mListenerMapLock = new Object(); + private final Object mListenerMapLock = new Object(); private int mListenerKey = 0; private AsyncChannel mAsyncChannel; diff --git a/wifi/tests/src/android/net/wifi/aware/WifiAwareManagerTest.java b/wifi/tests/src/android/net/wifi/aware/WifiAwareManagerTest.java index 694b911a51e5..d9433c5a9d00 100644 --- a/wifi/tests/src/android/net/wifi/aware/WifiAwareManagerTest.java +++ b/wifi/tests/src/android/net/wifi/aware/WifiAwareManagerTest.java @@ -32,6 +32,7 @@ import android.net.wifi.RttManager; import android.os.Handler; import android.os.IBinder; import android.os.Parcel; +import android.os.RemoteException; import android.os.test.TestLooper; import android.test.suitebuilder.annotation.SmallTest; @@ -938,7 +939,7 @@ public class WifiAwareManagerTest { final int sessionId = 123; final PeerHandle peerHandle = new PeerHandle(123412); final int role = WifiAwareManager.WIFI_AWARE_DATA_PATH_ROLE_RESPONDER; - final byte[] pmk = "Some arbitrary byte array".getBytes(); + final byte[] pmk = "01234567890123456789012345678901".getBytes(); final String passphrase = "A really bad password"; final ConfigRequest configRequest = new ConfigRequest.Builder().build(); final PublishConfig publishConfig = new PublishConfig.Builder().build(); @@ -1019,7 +1020,7 @@ public class WifiAwareManagerTest { final ConfigRequest configRequest = new ConfigRequest.Builder().build(); final byte[] someMac = HexEncoding.decode("000102030405".toCharArray(), false); final int role = WifiAwareManager.WIFI_AWARE_DATA_PATH_ROLE_INITIATOR; - final byte[] pmk = "Some arbitrary pmk data".getBytes(); + final byte[] pmk = "01234567890123456789012345678901".getBytes(); final String passphrase = "A really bad password"; ArgumentCaptor<WifiAwareSession> sessionCaptor = ArgumentCaptor.forClass( @@ -1070,4 +1071,162 @@ public class WifiAwareManagerTest { verifyNoMoreInteractions(mockCallback, mockSessionCallback, mockAwareService, mockPublishSession, mockRttListener); } + + /** + * Validate that a null PMK triggers an exception. + */ + @Test(expected = IllegalArgumentException.class) + public void testNetworkSpecifierWithClientNullPmk() throws Exception { + executeNetworkSpecifierWithClient(true, null, null); + } + + /** + * Validate that a non-32-bytes PMK triggers an exception. + */ + @Test(expected = IllegalArgumentException.class) + public void testNetworkSpecifierWithClientIncorrectLengthPmk() throws Exception { + executeNetworkSpecifierWithClient(true, "012".getBytes(), null); + } + + /** + * Validate that a null Passphrase triggers an exception. + */ + @Test(expected = IllegalArgumentException.class) + public void testNetworkSpecifierWithClientNullPassphrase() throws Exception { + executeNetworkSpecifierWithClient(false, null, null); + } + + /** + * Validate that a too short Passphrase triggers an exception. + */ + @Test(expected = IllegalArgumentException.class) + public void testNetworkSpecifierWithClientShortPassphrase() throws Exception { + executeNetworkSpecifierWithClient(false, null, "012"); + } + + /** + * Validate that a too long Passphrase triggers an exception. + */ + @Test(expected = IllegalArgumentException.class) + public void testNetworkSpecifierWithClientLongPassphrase() throws Exception { + executeNetworkSpecifierWithClient(false, null, + "0123456789012345678901234567890123456789012345678901234567890123456789"); + } + + private void executeNetworkSpecifierWithClient(boolean doPmk, byte[] pmk, String passphrase) + throws Exception { + final int clientId = 4565; + final int sessionId = 123; + final PeerHandle peerHandle = new PeerHandle(123412); + final ConfigRequest configRequest = new ConfigRequest.Builder().build(); + final PublishConfig publishConfig = new PublishConfig.Builder().build(); + + ArgumentCaptor<WifiAwareSession> sessionCaptor = ArgumentCaptor.forClass( + WifiAwareSession.class); + ArgumentCaptor<IWifiAwareEventCallback> clientProxyCallback = ArgumentCaptor + .forClass(IWifiAwareEventCallback.class); + ArgumentCaptor<IWifiAwareDiscoverySessionCallback> sessionProxyCallback = ArgumentCaptor + .forClass(IWifiAwareDiscoverySessionCallback.class); + ArgumentCaptor<PublishDiscoverySession> publishSession = ArgumentCaptor + .forClass(PublishDiscoverySession.class); + + InOrder inOrder = inOrder(mockCallback, mockSessionCallback, mockAwareService, + mockPublishSession, mockRttListener); + + // (1) connect successfully + mDut.attach(mMockLooperHandler, configRequest, mockCallback, null); + inOrder.verify(mockAwareService).connect(any(), any(), clientProxyCallback.capture(), + eq(configRequest), eq(false)); + clientProxyCallback.getValue().onConnectSuccess(clientId); + mMockLooper.dispatchAll(); + inOrder.verify(mockCallback).onAttached(sessionCaptor.capture()); + WifiAwareSession session = sessionCaptor.getValue(); + + // (2) publish successfully + session.publish(publishConfig, mockSessionCallback, mMockLooperHandler); + inOrder.verify(mockAwareService).publish(eq(clientId), eq(publishConfig), + sessionProxyCallback.capture()); + sessionProxyCallback.getValue().onSessionStarted(sessionId); + mMockLooper.dispatchAll(); + inOrder.verify(mockSessionCallback).onPublishStarted(publishSession.capture()); + + // (3) create network specifier + if (doPmk) { + publishSession.getValue().createNetworkSpecifierPmk(peerHandle, pmk); + } else { + publishSession.getValue().createNetworkSpecifierPassphrase(peerHandle, passphrase); + } + } + + /** + * Validate that a null PMK triggers an exception. + */ + @Test(expected = IllegalArgumentException.class) + public void testNetworkSpecifierDirectNullPmk() throws Exception { + executeNetworkSpecifierDirect(true, null, null); + } + + /** + * Validate that a non-32-bytes PMK triggers an exception. + */ + @Test(expected = IllegalArgumentException.class) + public void testNetworkSpecifierDirectIncorrectLengthPmk() throws Exception { + executeNetworkSpecifierDirect(true, "012".getBytes(), null); + } + + /** + * Validate that a null Passphrase triggers an exception. + */ + @Test(expected = IllegalArgumentException.class) + public void testNetworkSpecifierDirectNullPassphrase() throws Exception { + executeNetworkSpecifierDirect(false, null, null); + } + + /** + * Validate that a too short Passphrase triggers an exception. + */ + @Test(expected = IllegalArgumentException.class) + public void testNetworkSpecifierDirectShortPassphrase() throws Exception { + executeNetworkSpecifierDirect(false, null, "012"); + } + + /** + * Validate that a too long Passphrase triggers an exception. + */ + @Test(expected = IllegalArgumentException.class) + public void testNetworkSpecifierDirectLongPassphrase() throws Exception { + executeNetworkSpecifierDirect(false, null, + "0123456789012345678901234567890123456789012345678901234567890123456789"); + } + + private void executeNetworkSpecifierDirect(boolean doPmk, byte[] pmk, String passphrase) + throws Exception { + final int clientId = 134; + final byte[] someMac = HexEncoding.decode("000102030405".toCharArray(), false); + final int role = WifiAwareManager.WIFI_AWARE_DATA_PATH_ROLE_INITIATOR; + final ConfigRequest configRequest = new ConfigRequest.Builder().build(); + + ArgumentCaptor<WifiAwareSession> sessionCaptor = ArgumentCaptor.forClass( + WifiAwareSession.class); + ArgumentCaptor<IWifiAwareEventCallback> clientProxyCallback = ArgumentCaptor + .forClass(IWifiAwareEventCallback.class); + + InOrder inOrder = inOrder(mockCallback, mockSessionCallback, mockAwareService, + mockPublishSession, mockRttListener); + + // (1) connect successfully + mDut.attach(mMockLooperHandler, configRequest, mockCallback, null); + inOrder.verify(mockAwareService).connect(any(), any(), clientProxyCallback.capture(), + eq(configRequest), eq(false)); + clientProxyCallback.getValue().onConnectSuccess(clientId); + mMockLooper.dispatchAll(); + inOrder.verify(mockCallback).onAttached(sessionCaptor.capture()); + + // (2) create network specifier + if (doPmk) { + sessionCaptor.getValue().createNetworkSpecifierPmk(role, someMac, pmk); + } else { + sessionCaptor.getValue().createNetworkSpecifierPassphrase(role, someMac, passphrase); + } + } } |